EC2 Auto Scaling のスタンバイ(一時的なインスタンスの削除)をやってみた

2024.02.06

はじめに

テクニカルサポートの 片方 です。
EC2 Auto Scaling の一機能である スタンバイ(一時的なインスタンスの削除) について、検証する機会があったのでやってみました。

本機能について簡単に説明すると、インスタンス単位で設定を行い、対象のインスタンスは Auto Scaling グループに所属しながらも 「スタンバイ」 状態になります。
具体的には、その対象インスタンスは ELB から登録の解除がされ、ヘルスチェック対象から外されます。(本機能は ELB と連携されていなくても可)
デフォルトでは、インスタンスをスタンバイ状態にすると、希望するキャパシティーとして指定した値は 1 つ減少します。その間に、OS 内部の修正や原因調査を行いトラブルシューティングなどを実施するのに便利なな機能です。

やってみた

大まかには、以下を実施しました。

  1. 起動台数の変更 (2 → 50 へ)
  2. インスタンスを 20 台停止(30 台のインスタンスで対応)
  3. 停止中のインスタンス 20 台を起動(50 台のインスタンス対応)

対象 Auto Scaling グループ を選択。
[グループの詳細] の [編集] ボタンをクリック。希望するキャパシティ を 2 ⇒ 50 へ変更及び、最小キャパシティを 30 へ変更。

対象 Auto Scaling グループ を選択。
[インスタンス管理] より、対象 EC2 インスタンス 20 台を選択。(複数選択可)

右上の [アクション] ボタンより、[スタンバイに設定する] をクリック。

[インスタンスを置き換える] のチェックボックスを外す。※こちらを実施することで 30 台のインスタンスで対応することが可能です
(そのままの台数で起動させたい場合は、チェックボックスにチェックしてください。)
「スタンバイ」 と記載して、スタンバイに設定をクリック。

対象 EC2 インスタンスについて、ライフサイクル 列で Standby を確認。

その後、対象 EC2 インスタンスに対して、SSH などで接続を行い内部変更や調査を実施します。

対象 Auto Scaling グループ を選択。
[インスタンス管理] より、ライフサイクル 列で Standby となっている対象 EC2 インスタンスを選択。

右上の [アクション] ボタンより、[InService に設定する] ボタンをクリック。

問題なければ、[InService に設定する] ボタンをクリック。

対象 EC2 インスタンスについて、ライフサイクル 列で InService を確認。

今までの手順通りに実施すると、希望するキャパシティは自動的に増加され 50 台となります。(50 台で起動されます)
そのため、希望するキャパシティを 50 に変更するといった手順は不要です。

一方で、もし運用要件として [最小キャパシティ] [最大キャパシティ] があれば、適宜ご変更ください。

まとめ

数字などは環境に合わせ置き換えて、実施してください。また、本ブログが手順書作成など誰かの参考となれば幸いです。

参考資料

アノテーション株式会社について

アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。