Amazon VPCでロードバランサーを使う

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Amazon VPCでELBの設定ができるようになった

つい最近、VPC内でELB(ロードバランサー)の設定ができるようになりました。今回はこれを試してみたいと思います。

VPCとインターネットゲートウェイの設定

VPCはデフォルト設定で作成しました。

インターネットゲートウェイもデフォルト設定で作成しました。

サブネットの設定

ELBを使う上で最も重要なのがサブネットの設定です。東京リージョンには2つのアベイラビリティゾーンがありますので分散配置をします。今回は、10.0.0.1/24をAZのap-northeast-1bに配置、10.0.1.0/24をAZのap-northeast-1aに配置します。

ルートテーブルの設定

ルートテーブルについての設定はウィザード形式で特に出てきませんでしたので少々ハマりました。VPCとインターネットゲートウェイの間でのルーティングについて記述する必要があります。また、関連しているサブネットについても追加する必要があります。

以下は、VPCとインターネットゲートウェイを通じた外部とのルーティングについて設定しています。

さらに、Associationsタブで関連するサブネットを指定しています。

VPC用のインスタンスをAZ毎に起動する

ロードバランサーから振り分けられるリスエストに応答するためにインスタンスをAZ毎に立ち上げます。今回はAmazon Linux 32bitのm1.smallタイプを指定しました。初期設定では、Webサーバーが起動していませんので、起動完了後にSSHログインしてWebサーバーを動かす必要があります。VPC内のインスタンスにSSH接続するためにEIP(固定IPアドレス)付与によるIP接続が最も簡単です。セットアップが完了したらEIPはリリースしておきましょう。

ELB(ロードバランサー)を作成する

ELBを新規作成します。その際にVPCの選択をしてください。今回は80番ポートを振り分けているだけです。ここでは、EC2用のELBと同じようにSSL Terminationやセッション維持型ロードバランサーの設定ができます。

死活監視のポートを設定したら次はサブネットの指定です。事前に作成済みのサブネットがありますので2つとも指定します。AZが分かれていることを確認してください。

ELBにセキュリティグループを設定する

EC2上のELBにもセキュリティグループは存在しますが以下のように設定変更はできません。

一方で、VPCのELBはセキュリティグループを後から変更でき、さらに複数指定することもできます。

ELBの状態を確認してブラウザから動作確認

ELBにインスタンスを追加してしばらく待つと、以下のように稼働状態になります。

ブラウザから動作確認をする

ブラウザから動作確認をします。ELBのDNS名で繋がるのですが、今回はついでにRoute 53を用いてZone Apexでの動作確認をしました。

まとめ

VPC内でロードバランサーの設定ができる事が分かりました。ここまで画面から細かく設定できるとなると、何をどのように設定すべきか分からなくなってしまいますねw。そんなときにはAWS Solution Providerの弊社におまかせあれ〜(笑)。今日から君もVPC戦士だ!

参考資料

【AWS発表】 Virtual Private Cloudの中でロードバランサ(Elastic Load Balancing)が利用可能に