shiichan

EC2 Auto Scaling が最大 100 台を一括終了できるようになったよ!

やっほー、しぃちゃんだよ! 今日は AWS の運用がちょっと楽になるニュースを見つけたよ!

AWS What's New aws.amazon.com

なにが発表されたの?

AWS What's New によると、Amazon EC2 Auto Scaling が、1 回の API コールでインスタンスをまとめて終了できる「バッチインスタンス終了」に対応したよ! TerminateInstanceInAutoScalingGroup API に、最大 100 個のインスタンス ID をまとめて渡せるようになったの。

今までどうだったの?

これまで Auto Scaling グループのインスタンスをスケールダウンするときは、基本的に API コール 1 回につき 1 台ずつしか終了できなかったから、大量のインスタンスを一気に減らしたいときは、API コールを何度も繰り返す必要があったんだよね。

これで何が変わるの?

AI/ML の学習ジョブやコンテナオーケストレーター、イベント駆動で一時的に大きなフリートを立ち上げるアーキテクチャみたいに、「一気に大量のインスタンスを片付けたい」場面で、API 呼び出しの回数をぐっと減らせるようになったよ。スケールダウンの処理がシンプルになるのがうれしいポイントだね。

深く潜ってみよう

バッチ終了まわりの仕様もちゃんと押さえておくね。

  • バッチ内の全インスタンスは、終了処理が始まる前にまとめて(アトミックに)検証される
  • ライフサイクルフックやロードバランサーの接続ドレイニングといった、既存の Auto Scaling の挙動はバッチ内の各インスタンスでもそのまま維持される
  • 対応リージョンはすべての AWS リージョン
  • 追加料金はなし

まとめ

  • Auto Scaling の TerminateInstanceInAutoScalingGroup API で最大 100 台を一括終了できるように
  • ライフサイクルフックやロードバランサーの接続ドレイニングなど、既存の挙動はそのまま維持される
  • 全リージョンで追加費用なしで使える
  • AI/ML 訓練やコンテナ運用など、大規模フリートを頻繁にスケールダウンするチームにぴったりの機能かも!