AWS EC2 AutoScalingの設定

大前提として、AutoScalingは起動しかしてくれないので、「起動すれば何とかなる」状態までAMIを作り込んでおく必要がある。


AMIができたところで、まず初期設定をする。
最初はmin-size=max-size=0で自動起動しないようにしておくと、いつの間にか上がっちゃってましたというのが避けられる。

as-create-launch-config hoge-launch-config-1 --group hoge --image-id ami-b37928fx \
--instance-type m1.small --key admin

as-create-auto-scaling-group hoge-scaling-group-1 \
--launch-configuration hoge-launch-config-1 --load-balancers hoge-balancer \
--min-size 0 --max-size 0 --availability-zones us-west-1a,us-west-1b


で、設定確認後max-size,min-sizeをセットする。

as-update-auto-scaling-group hoge-scaling-group-1 --max-size 2 --min-size 2

実験の結果わかったこと

  • "--availability-zones us-west-1a,us-west-1b" のように、AutoScaling groupに複数のAvailability Zoneを指定しておくと、Zoneを分散して起動してくれる
  • AutoScalingで起動したインスタンスは、常時min-size以上起動しているようになる。インスタンスをshutdown,teminateして、起動しているインスタンスの数がmin-sizeを下回ると、自動的に新しいインスタンスが起動される