Auto Scaling グループにヘルスチェックの猶予期間を設定する - Amazon EC2 Auto Scaling

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Auto Scaling グループにヘルスチェックの猶予期間を設定する

Amazon EC2 Auto Scaling ヘルスチェックでInServiceインスタンスが異常であると判断された場合、インスタンスは新しいインスタンスに置き換えられます。ヘルスチェックの猶予期間は、新しいインスタンスに異常がある場合、そのインスタンスを終了するまでに稼働する最小時間 (秒単位) を指定します。

ユースケース例としては、Elastic Load Balancing のヘルスチェックが失敗し、インスタンスがまだ初期化していることが原因である場合、Amazon EC2 Auto Scaling が実行を回避する要件があります。Elastic Load Balancing のヘルスチェックは、インスタンスがロードバランサーに登録されたときに開始して並行で実行されます。猶予期間により、Amazon EC2 Auto Scaling は、新しく起動したインスタンスをマークUnhealthyし、InService状態になった後にこれらのヘルスチェックにすぐに合格しなかった場合に、不必要に終了することを防ぎます。

コンソールでは、Auto Scaling グループを作成するときのヘルスチェックの猶予期間がデフォルトで 300 秒になっています。 AWS CLI または SDK を使用して Auto Scaling グループを作成する場合、デフォルト値は 0 秒です。値が 0 の場合、ヘルスチェックの猶予期間は無効になります。

この値を高く設定しすぎると、Amazon EC2 Auto Scaling ヘルスチェックの効果が低減します。インスタンスの起動にライフサイクルフックを使用する場合は、ヘルスチェックの猶予期間の値を 0 に設定できます。ライフサイクルフックを使用すると、Amazon EC2 Auto Scaling は、インスタンスが常に初期化されてから InService 状態になることを確実にするための手段を提供します。詳細については、「Amazon EC2 Auto Scaling のライフサイクルフック」を参照してください。

猶予期間は以下のインスタンスに適用されます。

  • 新しく起動されたインスタンス

  • スタンバイ状態になった後で実行状態に戻されるインスタンス

  • グループに手動でアタッチされるインスタンス

重要

ヘルスチェックの猶予期間中に Amazon EC2 Auto Scaling が Amazon EC2 running 状態ではなくなったインスタンスを検出した場合は、直ちにそのインスタンスを Unhealthy としてマークし、置き換えます。例えば、Auto Scaling グループ内のインスタンスを停止すると、そのインスタンスは Unhealthy とマークされ、置き換えられます。

グループにヘルスチェックの猶予期間を設定する

ヘルスチェックの猶予期間は、新規または既存の Auto Scaling グループに設定できます。

Console
新しいグループのヘルスチェックの猶予期間を変更するには

Auto Scaling グループを作成するときは、「詳細オプションの設定」ページ、「ヘルスチェック」、「ヘルスチェック猶予期間」に時間 (秒単位) を入力します。これは、Amazon EC2 Auto Scaling が InService状態になった後にインスタンスのヘルスステータスをチェックするまで待機する必要がある時間です。

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
既存のグループのヘルスチェックの猶予期間を変更するには
  1. https://console.aws.amazon.com/ec2/ でAmazon EC2 コンソールを開き、ナビゲーションペインで [Auto Scaling グループ] を選択します。

  2. 画面の上部のナビゲーションバーで、Auto Scaling グループを作した AWS リージョン を選択します。

  3. Auto Scaling グループの横にあるチェックボックスを選択します。

    ページの下部にスプリットペインが開きます。

  4. [詳細] タブで、[ヘルスチェック][編集] の順に選択します。

  5. [Health check grace period] (ヘルスチェックの猶予期間) に、秒単位で時間を入力します。これは、Amazon EC2 Auto Scaling が InService状態になった後にインスタンスのヘルスステータスをチェックするまで待機する必要がある時間です。

  6. [更新] を選択します。

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 グループに対してデフォルトのインスタンスウォームアップ時間を設定することも強く推奨されます。詳細については、「Auto Scaling グループに対するインスタンスのデフォルトウォームアップを設定する」を参照してください。