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に向くようにレコードを設定してあげればいいよ!
お疲れ様です。
これでこのようにコンパクトな構成を作ることが出来ましたね。
お疲れ様です。