0

Elastic Load Balansing

EC2のロードバランサーです。
先のRDSと同様でロードバランサーだけを貸してくれるサービスです。
ロードバランサーにぶら下がるwebサーバーはec2のサーバーに限ります。
設置も手軽でhealth checkもでき、落ちてるサーバーが発見されれば正常なサーバーだけでバランシングを行います。
RDSもELBにしてもサービスだけを提供するのでsshでログインしたりログをみたりすることはできません。
料金は$0.025/1h+0.008/ギガなので月2000円くらいなのでお手軽に導入できます。

新規作成
test-lbというインスタンス名のロードバランサーを作成する。
elb-create-lb test-lb --availability-zones us-east-1c --listener "protocol=HTTP, lb-port=80, instance-port=80"
そうすると下記のようにFQDNを発行してくれます。
これをCNAMEにして実際は運用します。
DNS-NAME test-lb-532214734.us-east-1.elb.amazonaws.com

ぶら下がるwebサーバーを指定
i-fab73c92というi-c6b73caeというインスタンスをぶら下げる。
この二つのコマンドでロードバランサーが動き出します。
elb-register-instances-with-lb test-lb --headers --instances i-fab73c92,i-c6b73cae

health checkの閾値を設定
30秒おきにアクセスして5秒間2度応答なかったら落ちてると判断する。
elb-configure-healthcheck test-lb --headers --target "HTTP:80/index.html" --interval 30 --timeout 5 --unhealthy-threshold 2 --healthy-threshold 2

health checkの状況を確認
elb-describe-instance-health test-lb

動作してたら
INSTANCE-ID i-fab73c92 InService
動作してなかったら
INSTANCE-ID i-c6b73cae OutOfService
となります。

ぶら下がるインスタンスを削除
削除したいインスタンス(i-fab73c92)を指定する。
elb-deregister-instances-from-lb test-lb --instances i-fab73c92

0

amazonRDS

だいぶ乗り遅れた感があるけどmySQLのみをホスティングするamazonRDSでました。
さっそく使ってるのですが、ざっと使う分には確かに便利。
インスタンスの立ち上げて使いだすまでに15分くらいです。
ただ残念ながら良くも悪くもシンプルでレプリケーションもできなければsshでログインもできないmy.cnfも編集できないとほんとmySQLを使うだけといった感じです。
致命的なのはどれくらいの負荷がかかってるのかが分からないこと。
実務では少々扱いにくいかなという印象です。

色々ログ

■DBインスタンスを作成
100ギガの容量のhogedbというデータベースを立ち上げある。
rds-create-db-instance --db-instance-identifier hoge --allocated-storage 100 --db-instance-class db.m1.small --engine MySQL5.1 --master-username hogename --master-user-password hogepass --db-name hogedb --headers

■アクセスの許可
どこからでもアクセス可能。
rds-authorize-db-security-group-ingress default --cidr-ip 0.0.0.0/0 --headers

■snapshotを作成
snapshot01というスナップショットを作成。
これを作成中I/Oが停止するらしい。
rds-create-db-snapshot -i hoge -s snapshot01

■snapshotから復元
snapsho01からhoge2というインスタンス名で復元
rds-restore-db-instance-from-db-snapshot hoge2 -s snapshot01 -c db.m1.small

■DBインスタンスを削除
最後にバックアップ(スナップショット)をとらずに削除する。
rds-delete-db-instance hoge --skip-final-snapshot

■DBのインスタンスをアップグレードする
Small DB InstanceからDouble Extra Large DB Instanceへ変更。
立ち上げたままできるのがすばらしい。
10分くらいかかって変更される。
rds-modify-db-instance myinstance -c db.m2.2xlarge -apply-immediately

下記のコマンドで状況がわかる。
activeとかdeletingとかmodifyingとか。
この辺は他のec2APIと同じ。
rds-describe-db-instances