** ダウンロード & インストール [#idb21eb6]
Amazon Web Services Developer Community : Elastic Load Balancing API Tools
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2536&categoryID=88
cd /usr/local/src/
wget http://ec2-downloads.s3.amazonaws.com/ElasticLoadBalancing-2009-05-15.zip
unzip ElasticLoadBalancing-2009-05-15.zip
sudo mv ElasticLoadBalancing-1.0.1.23/ /usr/share/ec2-elastic-load-balancing
sudo cat<<EOB > /etc/profile.d/ec2-elastic-load-balancing.sh
export AWS_ELB_HOME=/usr/share/ec2-elastic-load-balancing
export PATH=$PATH:${AWS_ELB_HOME}/bin
EOB
sudo cat<<EOB > /etc/profile.d/ec2-elastic-load-balancing.csh
setenv AWS_ELB_HOME /usr/share/ec2-elastic-load-balancing
setenv PATH $PATH:${AWS_ELB_HOME}/bin
EOB
** 使い方 [#ne3f9804]
- Elastic Load Balancing
http://docs.amazonwebservices.com/ElasticLoadBalancing/2009-05-15/DeveloperGuide/
の「User Senario」
*** ロードバランサを作る [#wc2b2de5]
$ elb-create-lb MyLoadBalancer --headers --listener "lb-port=80,instance-port=80,protocol=HTTP" --listener "lb-port=443,instance-port=443,protocol=TCP" --availability-zones us-east-1a
- ロードバランサ名 「MyLoadBalancer」
- 80番ポートからのアクセスを80番に
- 443番ポートをからのアクセスを443番に
- us-east-1a に設置
- 実行すると以下のように表示される
DNS-NAME DNS-NAME
DNS-NAME MyLoadBalancer-2111276808.us-east-1.elb.amazonaws.com
- MyLoadBalancer-2111276808.us-east-1.elb.amazonaws.com にCNAMEなどを振ってアクセスさせる
- MyLoadBalancer-2111276808.us-east-1.elb.amazonaws.comが名前解決できるようになるまで数分かかるので要注意
*** health-checkを設定する [#y1879988]
elb-configure-healthcheck MyLoadBalancer --headers --target "HTTP:80/index.php" --interval 30 --timeout 3 --unhealthy-threshold 2 --healthy-threshold 2
- MyLoadBalancerに紐づくインスタンスに対して、
- 80ポートの、 /index.phpに
- 30秒置きに
- 3秒以上レスポンスがなければNGとみなす
- 2回連続NGになったらunhealthyとみなす
- 2回連続OKになったらhealtyとみなす
*** インスタンスを割り当てる [#xd6f32f5]
elb-register-instances-with-lb MyLoadBalancer --headers --instances i-4f8cf126,i-0bb7ca62
*** ぶら下がってるインスタンスの様子を見る [#bf1d6988]
elb-describe-instance-health MyLoadBalancer --headers --instances i-3a8cf324,i-2603ca33
INSTANCE INSTANCE-ID STATE
INSTANCE i-3a8cf324 OutOfService
INSTANCE i-2603ca33 OutOfService
- NGだとOutOfServiceと出るらしい
- instances を指定しないと全ぶら下げてるインスタンスが出るらしい
#blikifooter(志田)
tag: [[EC2>tag/EC2]]