ナスです。
先日、こんな記事を書きました。
nasrinjp1.hatenablog.com
結論から書くと、私が間違ってました。AWSのバグとか疑ってごめんなさい…
で、結局なんだったの?
Auto Scaling の設定の中に、スケーリングポリシーというものがあります。これは、例えば Auto Scaling グループ内の EC2 インスタンスの CPU 負荷が xx% 超えたら EC2 インスタンスを追加するとか、逆に xx% 以下になったら EC2 インスタンスを削除するとかするものです。負荷によって、動的に EC2 インスタンスの数を増減できるのが特徴です。
こんなのです。
で、私、このポリシーの動きを理解していませんでした。
スケーリングポリシーを設定していると、
1.最小値を -1 する
2.スケーリングポリシーに設定した CloudWatch アラームを見て条件に合致している、と判断する
3.希望値が -1 される
4.EC2 インスタンスが 1 台削除される
ということが起こっていました。しかも最小値を変更した瞬間に。1 を実施した後にアクティビティ履歴をみると、こうなってました。
こういう状況でもデタッチしたい時はある!
メンテナンスせざるを得ない時もあると思いますので、下記のように対処すれば大丈夫です。
最小値を減らす時に、「停止したプロセス」に AlarmNotification を追加します。これで、最小値を減らしても、CloudWatch からのアラームを受け取ることをやめます。
上の画像でも、実際に希望値は最小値と同じになっていません。これで安心してデタッチなりスタンバイ設定なりできますね。
元記事はこちら
「Auto Scaling で EC2 インスタンスをメンテナンスする時の注意点2 [cloudpack OSAKA blog]」