ALB バーチャルホスト

1つのサーバに1ドメインが理想ですが、節約する為に1つのWEBサーバにいくつもドメインを抱えることは一般的です。

そこでAWS ALBの【ホストベースのルーティング】と【ターゲットグループ】を組み合わせることにより、複数のバーチャルホストが設定されているEC2に対して個別にルーティング設定が行えます。これらの機能を実装することによって、構成がコンパクトになり1つのALBとEC2で済むので、AWSをより安く利用することが出来ます。

 

 

ALBを作ろう

ALB バーチャルホスト

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

 

 

 

ALB バーチャルホスト Host-based routing

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

 

 

ALB バーチャルホスト Host-based routing

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

 

 

 

ALB バーチャルホスト Host-based routing

Ooops!

警告がでますが、今回は80番のみなので慌てなくて大丈夫ですよ!

【次の手順:セキュリティグループの設定】をクリックして下さいね。

 

 

 

ALB バーチャルホスト Host-based routing

WEB用のセキュリティグループを選んで下さいね。

【ルーティングの設定】をクリックします。

 

 

ターゲットグループ1を作ろう

ALB バーチャルホスト Host-based routing

ターゲットグループの設定を行ってください。またWEBサーバのヘルスチェック用に設置するファイルのパスを合わせます。

WEBサーバにまだヘルスチェック用のファイルがない場合は、用意して下さいね!これがないと障害になります。

 

 

 

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

 

ALB バーチャルホスト Host-based routing

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

 

 

 

ALB バーチャルホスト Host-based routing

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

 

 

 

ALB バーチャルホスト Host-based routing

おめでとう。ロードバランサが作成されましたね。

でももう少し続きます、頑張って!

 

 

ターゲットグループ2を作ろう

ALB バーチャルホスト Host-based routing

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

 

 

 

 

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

 

 

 

これでターゲットグループが追加できたね。

あと一息!

 

 

 

ホストベースのルーティング機能を活用しよう

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

 

 

 

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

 

 

 

 

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

 

 

 

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

 

 

  • host-header:ドメイン
  • forward:対応するターゲットグループ

を設定したら【Save】を迷わずクリックして下さいね。

 

 

 

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

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

 

 

 

  • host-header:ドメイン
  • forward:対応するターゲットグループ

もう1つのドメイン用に設定しよう。【Save】をクリックしよう。

 

 

これで設定できたね。

あとはRoute53でドメインに対してAliasでALBに向くようにレコードを設定してあげればいいよ!

 

 

お疲れ様です。

ALB バーチャルホスト

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

お疲れ様です。

 

 

 

金広 優 (エンジニア)
この記事を書いた人:金広 優 (エンジニア)

システムガーディアン爆弾処理班。アクセス負荷対策やNginxへの移行案件が多いこの頃。AWS, IBM Cloudなどクラウド案件が多くなってきました。