Auto Scaling グループにヘルスチェックの猶予期間を設定する
ヘルスチェックの猶予期間は、新しいインスタンスが異常である場合に、そのインスタンスを終了するまで実行状態にしておく最小時間 (秒単位) を指定します。特定のユースケースとしては、インスタンスがまだ初期化中であることから、Elastic Load Balancing ヘルスチェックに基づくアクションの実行を待機する要件などがあります。猶予期間は、新しく起動されたインスタンスが InService
状態になった後で直ちにこれらのヘルスチェックに合格しなかった場合に、Amazon EC2 Auto Scaling がそれらを異常としてマークして、不必要に終了することがないようにします。
コンソールでは、Auto Scaling グループを作成するときのヘルスチェックの猶予期間がデフォルトで 300 秒になっています。AWS CLI または SDK を使用して Auto Scaling グループを作成するときのデフォルト値は 0 秒です。
この値を高く設定しすぎると、Amazon EC2 Auto Scaling ヘルスチェックの効果が低減します。インスタンスの起動にライフサイクルフックを使用する場合は、ヘルスチェックの猶予期間の値を 0 に設定できます。ライフサイクルフックを使用すると、Amazon EC2 Auto Scaling は、インスタンスが常に初期化されてから InService
状態になることを確実にするための手段を提供します。詳細については、「Amazon EC2 Auto Scaling のライフサイクルフック」を参照してください。
猶予期間は以下のインスタンスに適用されます。
ヘルスチェックの猶予期間中に Amazon EC2 Auto Scaling が Amazon EC2 running
状態ではなくなったインスタンスを検出した場合は、直ちにそのインスタンスを異常としてマークし、置き換えます。例えば、Auto Scaling グループのインスタンスを停止すると、そのインスタンスは異常とマークされ、置き換えられます。
グループにヘルスチェックの猶予期間を設定する
ヘルスチェックの猶予期間は、新規または既存の Auto Scaling グループに設定できます。
- Console
-
新規グループのヘルスチェックの猶予期間を変更する (コンソール)
Auto Scaling グループを作成するときは、[Configure advanced options] (詳細オプションを設定する) ページにある [Health checks] (ヘルスチェック) の [Health check grace period] (ヘルスチェックの猶予期間) に、猶予時間を秒単位で入力します。これは、インスタンスが InService
状態になった後で、Amazon EC2 Auto Scaling がインスタンスのヘルスステータスチェックの実行を待つ必要がある時間です。
- AWS CLI
-
新規グループのヘルスチェックの猶予期間を変更する (AWS CLI)
create-auto-scaling-group コマンドに --health-check-grace-period
オプションを追加します。以下の例は、my-asg
という名前の新しい Auto Scaling グループに対するヘルスチェック猶予期間を 60
秒の値で設定します。
aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg
--health-check-grace-period 60
...
- Console
-
既存グループのヘルスチェックの猶予期間を変更する (コンソール)
https://console.aws.amazon.com/ec2/ でAmazon EC2 コンソールを開き、ナビゲーションペインで [Auto Scaling グループ] を選択します。
-
画面の上部のナビゲーションバーで、Auto Scaling グループを作した AWS リージョン を選択します。
-
Auto Scaling グループの横にあるチェックボックスを選択します。
[Auto Scaling groups] (Auto Scaling グループ) ページの下部にスプリットペインが開きます。
-
[Details] (詳細) タブで、[Health checks] (ヘルスチェック)、[Edit] (編集) の順に選択します。
-
[Health check grace period] (ヘルスチェックの猶予期間) に、秒単位で時間を入力します。これは、インスタンスが InService
状態になった後で、Amazon EC2 Auto Scaling がインスタンスのヘルスステータスチェックの実行を待つ必要がある時間です。
-
[Update] (更新) を選択します。
- AWS CLI
-
既存グループのヘルスチェックの猶予期間を変更する (AWS CLI)
update-auto-scaling-group コマンドに --health-check-grace-period
オプションを追加します。以下の例は、my-asg
という名前の既存の Auto Scaling グループに対するヘルスチェック猶予期間を 120
秒の値で設定します。
aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg
--health-check-grace-period 120
Auto Scaling グループに対してデフォルトのインスタンスウォームアップ時間を設定することも強く推奨されます。すべてのインスタンスウォームアップ、ヘルスチェックの猶予期間、およびクールダウンの設定の統合ビューについては、「利用可能なウォームアップ設定とクールダウン設定」を参照してください。