
1つのサーバに1ドメインが理想ですが、節約する為に1つのWEBサーバにいくつもドメインを抱えることは一般的です。
そこでAWS ALBの【ホストベースのルーティング】と【ターゲットグループ】を組み合わせることにより、複数のバーチャルホストが設定されているEC2に対して個別にルーティング設定が行えます。これらの機能を実装することによって、構成がコンパクトになり1つのALBとEC2で済むので、AWSをより安く利用することが出来ます。
もくじ
ALBを作ろう

【ロードバランサ】>> 【ロードバランサーの作成】をクリックします。

Application Load Balancer(ALB)の項目で【作成】をクリックしましょうね。

ロードバランサーの名前と、VPCのアヴェイラビリティーゾーンを選択して、【次の手順:セキュリティ設定の構成】をクリックして下さい。

Ooops!
警告がでますが、今回は80番のみなので慌てなくて大丈夫ですよ!
【次の手順:セキュリティグループの設定】をクリックして下さいね。

WEB用のセキュリティグループを選んで下さいね。
【ルーティングの設定】をクリックします。
ターゲットグループ1を作ろう

ターゲットグループの設定を行ってください。またWEBサーバのヘルスチェック用に設置するファイルのパスを合わせます。
WEBサーバにまだヘルスチェック用のファイルがない場合は、用意して下さいね!これがないと障害になります。

EC2のインスタンスを選択して【登録済みに追加】をクリックしましょうね。

無事に登録されたら、【次の手順:確認】をクリックして下さい。

【作成】をクリックします。

おめでとう。ロードバランサが作成されましたね。
でももう少し続きます、頑張って!
ターゲットグループ2を作ろう

【ターゲットグループ】>> 【ターゲットグループの作成】をクリックします。

ターゲットグループの名前を決めて、またまたヘルスチェック用のファイルのパスを指定し、【作成】をクリックしましょう。

これでターゲットグループが追加できたね。
あと一息!
ホストベースのルーティング機能を活用しよう

作成されたロードバランサを選択して、【リスナー】タブをクリックしようね。

【ルールの表示/編集】をクリックしよう。

しいたけマークをクリックしてね。

【Insert Rule】をクリックしよう。

- host-header:ドメイン
- forward:対応するターゲットグループ
を設定したら【Save】を迷わずクリックして下さいね。

同じ要領でもう1つのターゲットグループを作成しようか。
【Insert Rule】をクリックしよう。

- host-header:ドメイン
- forward:対応するターゲットグループ
もう1つのドメイン用に設定しよう。【Save】をクリックしよう。

これで設定できたね。
あとはRoute53でドメインに対してAliasでALBに向くようにレコードを設定してあげればいいよ!
お疲れ様です。

これでこのようにコンパクトな構成を作ることが出来ましたね。
お疲れ様です。





