オートスケールでスケーリングポリシーを利用し、アラームでスケールインの設定を行いました。
例えば、
- 次の時:Average/CPU使用率(%)
- 状況:<= 10パーセント
- 最低発生数:4度次の間隔で発生、5分
と設定しました。
しかし、テストしてみると想像していたスケールインの動作と実際の動きが違う・・・
(5分間隔で評価され、5分以内のアラームが変化することは無いと想像していたのですが、、、)
オートスケールのアラームはどのような仕組みで評価・判定されているのでしょうか?
結論、オートスケールポリシーのアラームの判定・評価は5分間隔ではなく1分間隔で行われている!
例えば、「最低発生数:4度次の間隔で発生、5分」という設定の場合
今が18分だとすると、3分、8分、13分、18分のCPUを評価し、アラーム判定をします。
そして次の19分の時には、4分、9分、14分、19分のCPUを評価し、アラーム判定をします。
つまり
オートスケールポリシーのロジックを理解するためのポイントは、
- アラーム評価・判定は1分置きに行われているという点と
です。
そして、各インスタンスのCloudWatchのCPUメトリックを使って評価しています。
なるほど、
5分間隔ではあるが評価・判定は1分置きに実行されるということですね
それで5分以内にアラームが上がり、オートスケールEC2がターミネイトされることがあったんですね、、、