EC2とELBを組み合わせた冗長化構成の構築手順
はじめに
今回は、Amazon Web ServicesのパワフルなサービスであるElastic Compute CloudとElastic Load Balancingを活用して、アプリケーションやサービスの冗長性を高める方法について詳しく探っていきます。冗長化は、現代のデジタルビジネスにおいて欠かせない概念であり、システムの可用性と信頼性を向上させるために重要なステップです。
構築手順
(1)WebServersの構築
まず、WebServerとして4台のEC2インスタンスを作成します。Tera Termで各WebServerに接続し、以下のコマンド操作をしてください。
①root userに切り替え
sudo su
②Apacheをインストール
yum -y install httpd
③HomePageを作成する(HomePageに任意のHtml内容を入力し、保存します。確認するために、Serverごとに違う内容を入力してください。)
vi /var/www/html/index.html
④Apacheを運行する
systemctl start httpd
⑤Apache自動起動有効をする
systemctl enable httpd
(2)ALBの作成
Amazon EC2ダッシュボードより「ターゲットグループ」をクリックし、右上の「ターゲットグループの作成」をクリックすると、ターゲットグループを作成する画面に移動します。

「ターゲットタイプの選択」は「インスタンス」を選択してください。「ターゲットグループ名」を任意に設定し、「プロトコル」は「HTTP」、「ポート」は「80」を設定してください。その後、該当するVPCを選択し、右下の「次へ」をクリックしてください。

二つのPCWebServerを選択し、「保留中として以下を含める」をクリックし、ターゲットとして追加します。追加完了すると、「ターゲットグループの作成」をクリックしてください。その後、同じようにMobileWebServerのターゲットグループを作成してください。

Amazon EC2ダッシュボードより「ロードバランサー」をクリックし、左上の「ロードバランサーの作成」をクリックすると、ロードバランサーを作成する画面に移動します。

Application load Balancerの作成ボタンをクリックしてください。

「名前」を任意に設定し、「アベイラビリティーゾーン」は該当するVPCを選択し、二つのPubilcSubnetを選択してください。選択後、右下の「次の手順:セキュリティ設定の構成」をクリックしてください。

右下の「次の手順:セキュリティグループの設定」をクリックしてください。

Application load Balancer用のセキュリティグループがない場合に、新しく作成してください。

「ターゲットグループ」は作成したPCWebServerのターゲットグループを選択してください。「名前」を任意に設定し、右下の「次の手順:ターゲットの登録」をクリックしてください。

「次の手順:確認」をクリックしてください。

内容を確認し、問題がなければ、「作成」をクリックしてください。

ターゲットとするインスタンスのステータスが「healthy」になれば、問題がなく、作成できました。

Application load BalancerのDNSをコピーし、PCのブラウザでApplication load BalancerのDNSにアクセスしてください。リロードし、Application load Balancerに経由して、二つのPCWebServerにアクセスできることを確認してください。

(3)ALBリスナールールの追加
右下の「ルールの表示・編集」をクリックし、ListenerRuleを追加する画面に移動します。

左上の「+」から「ルールの挿入」をクリックしてください。

下記のようにMobileWebServerのターゲットグループに転送するルールを追加してください。追加後、スマートフォンにブラウザでApplication load BalancerのDNSにアクセスし、ALBに経由して二つのMobileWebServerにアクセスできることを確認できれば、問題がなく、作成できました。

終わりに
今回は、AWS EC2とELBを組み合わせて冗長化構成を構築する手順について詳しく説明しました。冗長化は、アプリケーションの可用性向上と信頼性の向上に重要な役割を果たします。EC2インスタンスとELBを組み合わせたこのアーキテクチャは、シンプルかつ効果的な方法で冗長性を確保する手段となります。