目次
はじめに
AWSのEC2 Auto Scalingグループを運用していると、一時的にインスタンスを停止したいケースがあります。しかし、Auto Scalingグループ内のEC2インスタンスを “停止” する場合、それは “終了(Terminate)” を意味します。
本記事では、EC2 Auto Scalingグループにおけるインスタンスの “停止” 方法と、スムーズに停止するための設定について詳しく解説します。
Auto Scalingグループ内のEC2インスタンスを停止する方法
1. Auto Scalingグループの希望キャパシティを0にする
EC2 Auto Scalingグループで管理されているEC2インスタンスを停止する場合、希望するキャパシティを0に設定します。これにより、Auto Scalingグループ内のすべてのEC2インスタンスが終了(Terminate)されます。
設定手順:
- AWSマネジメントコンソールにログイン
- EC2 Auto Scalingグループのページへ移動
- 対象のAuto Scalingグループを選択
- [編集] をクリックし、希望するキャパシティを0に設定
- 変更を保存
インスタンスの終了に時間がかかる場合の対処法
1. ELBの登録解除遅延時間を確認する
Auto ScalingグループがElastic Load Balancer(ELB)に関連付けられている場合、ELBの登録解除遅延時間(deregistration delay)がインスタンスの終了を遅らせる可能性があります。
遅延時間の確認・変更方法:
- AWSマネジメントコンソールでEC2に移動
- ロードバランサーの設定を開く
- [ターゲットグループ] の [登録解除遅延] の値を確認
- 必要に応じて短縮(デフォルトは300秒)
2. ライフサイクルフックの設定を確認する
Auto Scalingグループでライフサイクルフック(Lifecycle Hook)が設定されている場合、インスタンスの終了プロセスが遅延することがあります。
ライフサイクルフックを確認・削除する方法:
- AWSマネジメントコンソールでAuto Scalingグループに移動
- [ライフサイクルフック] の設定を確認
- 不要な場合は削除