🧊
AWS ECS オートスケーリング Cooldownを知った【2025夏】
オートスケーリングポリシーの設定をいじっていたら、、ScaleInCooldown/ScaleOutCooldown という設定値がありました。オートスケーリングの挙動を決める設定値だったのですが、知らなかったので、調べました〜。
ScaleInCooldown
- スケールインが完了してから、次のスケールイン開始までの秒数
- 一気にスケールインしてうことを防ぐ。様子見しながら徐々にスケールインしていくため。(保守的)
- スケールインクールダウン中に、他のメトリクスからスケールアウトが実行された場合は、スケールアウトが動く
ScaleOutCooldown
- スケールアウトが完了してから、次のスケールアウト開始までの秒数
- 急激な負荷で過剰にスケールアウトされることを防ぐ
ターゲット追跡ポリシーの場合は、ウォームアップ期間
ターゲット追跡ポリシーとステップスケーリングポリシーは、クールダウン期間の終了を待つことなく、ただちにスケールアウトアクティビティを開始できます。その代わり、Auto Scaling グループがインスタンスを起動するときは、常に個々のインスタンスにウォームアップ期間が設定されます。
ターゲット追跡ポリシーの場合は、クールダウンの設定は影響しないとのこと、、。(設定してました。)
代わりにインスタンスのウォームアップ期間が設定されています。
- ウォームアップ中のインスタンスは、スケーリングの判断に使用されるメトリクスの計算対象から除外される。
- ウォームアップ期間はスケールインされない。
ウォームアップ期間が長すぎたりすると、実際には追加したインスタンスが稼働しているが、計算から除外されるため、まだインスタンス数が足りないと判断され、過剰にスケールアウトしてしまう可能性もありそうです。適切な時間を設定することが大事そう。
まとめ
- スケールアウト/インが過剰に起こらないように設計されている
- クールダウンもウォームアップも大事
Discussion