ElasticLoadBalancerをWakameで使う(1/n)
2009年5月15日にAmazonWebServiceからELB(ElasticLoadBalancer)のAPIが
提供されたので実際に使ってみた。
まずはAPIコマンドを実行できるように設定する
$cd /usr/local/ $wget http://ec2-downloads.s3.amazonaws.com/ElasticLoadBalancing-2009-05-15.zip $unzip ./ElasticLoadBalancing-2009-05-15.zip $ln -s ./ElasticLoadBalancing-1.0-1 ./ElasticLoadBalancing $cd ElasticLoadBalancing $export AWS_ELB_HOME=/usr/local/ElasticLoadBalancing $export PATH=$PATH:${AWS_ELB_HOME}/bin
elb-versionコマンドでVersion確認
$elb-version >Amazon Elastic Load Balancing CLI version 1.0-1 (API 2009-05-15)
elb-create-lbコマンドでLBを作成する。
$elb-create-lb wakame-lb \ --availability-zones us-east-1a \ --listener "protocol=HTTP,lb-port=80,instance-port=80" >DNS-NAME wakame-lb-xxxxxxxxx.us-east-1.elb.amazonaws.com
DNS-NAMEが帰ってくる。
elb-describe-lbsコマンドをたたくと登録さているLBがわかる
$elb-describe-lbs LOAD-BALANCER wakame-lb wakame-lb-xxxxxxxxx.us-east-1.elb.amazonaws.com 2009-06-01T11:20:36.530Z
ないと
No LoadBalancers found
$elb-register-instances-with-lb wakame-lb --instances i-xxxxxxx1 $elb-register-instances-with-lb wakame-lb --instances i-xxxxxxx2
追加したあとはelb-describe-instance-healthコマンドでチェックする
OutOfServiceがInserviceへ変わると利用できる。
#elb-describe-instance-health >INSTANCE-ID i-xxxxxxx1 OutOfService >INSTANCE-ID i-xxxxxxx2 OutOfService
1分くらいかかる、、、
$elb-describe-instance-health >INSTANCE-ID i-xxxxxxx1 InService >INSTANCE-ID i-xxxxxxx2 InService
さきほどのelb-create-lbコマンドのDNS-NAMEでアクセス
http://wakame-lb-xxxxxxxxx.us-east-1.elb.amazonaws.com/
ログを確認すれば、それぞれに分散して書き込まれていることがわかる。
$tail -f /var/log/apache2/aaa.test-access.log
見たところDNSランドロビンのようだ。
elb-delete-lbコマンドでLBを削除できる。削除していいかと聞かれるのでyと入力
$elb-delete-lb wakame-lb Warning: Deleting a LoadBalancer can lead to service disruption to any customers connected to the LoadBalancer. Are you sure you want to delete this LoadBalancer? [Ny]y >OK-Deleting LoadBalancer
次回はデータベースのLBをおこなう。
リファレンス:
AmazonWebServices TechnicalDocumantation
ElasticLoadValancingAPITools