前回の続き。今回は、ロードバランサーを設定します。
以前設定した WEBサーバ(EC2インスタンス)は動作状態である…という前提です。


・ロードバランサーの設定
elb11
WEBサーバが2台用意できたので、次はロードバランサーを設定します。
AWS Management Console の EC2 Dashboard から「LoadBalancer→Create Load Balancer」で作成を開始できます。




elb12
ロードバランサーの設定画面ですが……ここでは名前(Load Balancer Name)ぐらいしか設定するものはありません。ここでは test-lb という名前にしておきます。
ポート設定は……port:80 以外使わないので、追加は不要です。



elb13
ヘルスチェック(EC2の死活確認)の設定画面。
↑はデフォルトのままですが、これでOKということにしておきましょう。



elb14
ロードバランサーの配下に従える EC2 (WEBサーバ)の割り当て画面。
ここでは web01 と web02 の両方をチェックし、割り当てておきます。




elb15
確認画面。特に気になることもないので次へ。




elb16
完了画面。特に言うことは無いです。



・ロードバランサーの状態確認
elb17
出来上がったロードバランサーの動作を確認してみます。
まず、先ほど割り当てた二台の web01 と web02 が、正しく割り当てに入っているかどうかの確認をします。

「Load Balancers → test-lb(今回作成したロードバランサー) → Instances」をクリックすると、ロードバランサー配下のEC2インスタンスの状態を確認できます。精確には、ロードバランサーから見えている EC2 インスタンスの状態……ということになりますが。

ここでは、web01、web02 ともに In Service となっているので 正常 ということですね。


・ロードバランサーのURL(FQDN)確認
elb18
ロードバランサーのURL (FQDN) は、Description のタブで確認できます。
「Load Balancers → test-lb(今回作成したロードバランサー) → Description」にあります。

URL(FQDN)は、3種類提供されていますが……。Aレコード(IPv4用…一番最初のFQDN)を使えばOKなような気もするのですが、InternetExplorer で試したところアクセスできませんでした。
仕方がないので、dualstack. ~ で始まる「A or AAAA record」というのをコピーして使用します。curl で確認するのであれば、こんな感じ。

$ for R in $(seq 1 20) ; do curl 'http://dualstack.test-lb-2062688374.ap-northeast-1.elb.amazonaws.com/ec2meta.php/latest/meta-data/public-hostname'; echo -en "\n" ; done
ec2-54-248-141-85.ap-northeast-1.compute.amazonaws.com
ec2-176-34-36-129.ap-northeast-1.compute.amazonaws.com
ec2-54-248-141-85.ap-northeast-1.compute.amazonaws.com
ec2-176-34-36-129.ap-northeast-1.compute.amazonaws.com
ec2-54-248-141-85.ap-northeast-1.compute.amazonaws.com
ec2-176-34-36-129.ap-northeast-1.compute.amazonaws.com
ec2-54-248-141-85.ap-northeast-1.compute.amazonaws.com
ec2-176-34-36-129.ap-northeast-1.compute.amazonaws.com
ec2-54-248-141-85.ap-northeast-1.compute.amazonaws.com
ec2-176-34-36-129.ap-northeast-1.compute.amazonaws.com
ec2-54-248-141-85.ap-northeast-1.compute.amazonaws.com
ec2-176-34-36-129.ap-northeast-1.compute.amazonaws.com
ec2-54-248-141-85.ap-northeast-1.compute.amazonaws.com
ec2-176-34-36-129.ap-northeast-1.compute.amazonaws.com
ec2-54-248-141-85.ap-northeast-1.compute.amazonaws.com
ec2-176-34-36-129.ap-northeast-1.compute.amazonaws.com
ec2-54-248-141-85.ap-northeast-1.compute.amazonaws.com
ec2-176-34-36-129.ap-northeast-1.compute.amazonaws.com
ec2-54-248-141-85.ap-northeast-1.compute.amazonaws.com
ec2-176-34-36-129.ap-northeast-1.compute.amazonaws.com

※ホスト名は、自分のロードバランサーのものと置き換えてください。

2つのEC2インスタンスに対して、交互にアクセスが振り分けられているのが分かります。

ここまでで、基本的なロードバランサーの設定は完了しました。



記事が長いと livedoor blog に怒られるので、今回はここまで。