インスタンスの更新にチェックポイントを追加する - Amazon EC2 Auto Scaling

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

インスタンスの更新にチェックポイントを追加する

インスタンスの更新を使用するとき、段階的にインスタンスを置き換え、進行しながらインスタンスに検証を実行できます。段階的な置き換えを行うには、チェックポイントを追加します。チェックポイントは、インスタンスの更新が一時停止する時点です。チェックポイントを使用すると、Auto Scaling グループの更新の選択方法をより詳細に管理できます。これにより、アプリケーションが確実かつ予測可能な方法で機能することを確認できます。

仕組み

インスタンスの更新を開始するときは、Auto Scaling グループ内のインスタンスの合計数に対するチェックポイントの割合を指定します。これらのチェックポイントは、チェックポイントに到達する前に新しいインスタンスである必要がある Auto Scaling グループ内のインスタンスの最小パーセンテージを示します。例えば、チェックポイントが の場合[20, 50, 100]、最初のチェックポイントはインスタンスの 20% が新しいときに、2 番目のチェックポイントは 50% が新しいときに、最後のチェックポイントはすべてのインスタンスが新しいときに到達します。

Amazon EC2 Auto Scaling は、グループの最小正常率を維持しながら、指定されたチェックポイントの割合を尊重してインスタンスの置換をペース調整します。チェックポイントのパーセンテージを満たすために、Amazon EC2 Auto Scaling は、最小の正常なパーセンテージで許容されるよりも少ない数を置き換えることがありますが、それを超える数を置き換えることは決してありません。

10 個のインスタンスがある次の Auto Scaling グループについて考えてみましょう。チェックポイントの割合は で[20,50,100]、最小正常率は 80%、最大正常率は 100% です。最小の正常なパーセンテージを維持するために、一度に置き換えることができるインスタンスは 2 つだけです。次の図は、チェックポイントに達する前にインスタンスを置き換えるプロセスの概要を示しています。

この図は、チェックポイントがインスタンス更新のフローにどのような影響を及ぼすかを示しています。

上記の例では、起動する新しいインスタンスごとにインスタンスのウォームアップ期間があります。インスタンスを待機状態にして、起動または終了時にカスタムアクションを実行するライフサイクルフックを使用することもできます。

Amazon EC2 Auto Scaling は、100% 完全なチェックポイントを除き、チェックポイントごとにイベントを発行します。 EventBridge ルールを追加して、Amazon SNS などのターゲットにイベントを送信できます。これにより、必要な検証を実行できるタイミングが通知されます。詳細については、「インスタンス更新イベントの EventBridge ルールを作成する」を参照してください。

考慮事項

チェックポイントを使用する際は、次の考慮事項に注意してください。

  • チェックポイントは割合に基づいているため、置換されるインスタンスの数はグループサイズに応じて変化します。スケールアウトアクティビティが発生し、グループのサイズが大きくなると、進行中のオペレーションがチェックポイントに再び到達する可能性があります。この場合、Amazon EC2 Auto Scaling は別の通知を送信し、チェックポイント間の待機時間を繰り返してから続行します。

  • 特定の状況下では、チェックポイントをスキップすることができます。例えば、Auto Scaling グループに 2 個のインスタンスがあり、チェックポイントの割合が [10,40,100] だとします。最初のインスタンスが置換された後、Amazon EC2 Auto Scaling は、グループの 50% が置換されたと計算します。50% は最初の 2 つのチェックポイントよりも高いため、最初のチェックポイント (10) をスキップし、2 番目のチェックポイント (40) の通知を送信します。

  • オペレーションをキャンセルすると、それ以降の置換は行われません。オペレーションをキャンセルするか、最後のチェックポイントに到達する前に失敗した場合、すでに置き換えられたインスタンスは前の設定にロールバックされません。

  • 部分更新の場合、オペレーションを再実行するとき、Amazon EC2 Auto Scaling は最後のチェックポイントから再開せず、古いインスタンスのみが置換されても停止しません。ただし、新しいインスタンスをターゲットにする前に、まず古いインスタンスを置き換え対象とします。

  • チェックポイントのパーセンテージがグループ内のインスタンス数に対して低すぎる場合、実際の完了率はそのチェックポイントのパーセンテージよりも高い可能性があります。例えば、チェックポイントのパーセンテージが 20 % で、グループに 4 つのインスタンスがあるとします。Amazon EC2 Auto Scaling が 4 つのインスタンスのうち 1 つを置き換える場合、実際に置き換えられるパーセンテージ (25 %) はチェックポイントのパーセンテージ (20 %) よりも高くなります。

  • チェックポイントに達すると、インスタンスのウォームアップが完了するまで、表示される全体の完了率は更新されません。例えば、チェックポイントの割合はチェックポイントの遅延[20,50]が 15 分で、最小正常率は 80% です。Auto Scaling グループには 10 個のインスタンスがあり、次の置き換えを行います。

    • 0:00: 2 個の古いインスタンスが新しいインスタンスに置き換えられます。

    • 0:10: 2 個の新しいインスタンスがウォームアップを完了します。

    • 0:25: 2 個の古いインスタンスが新しいインスタンスに置き換えられます。(最小正常率を維持するために、2 個のインスタンスのみが置換されます)。

    • 0:35: 2 個の新しいインスタンスがウォームアップを完了します。

    • 0:35: 1 個の古いインスタンスが新しいインスタンスに置き換えられます。

    • 0:45: 1 個の新しいインスタンスがウォームアップを完了します。

    0:35 で、オペレーションは新しいインスタンスの起動を停止します。新しいインスタンスがウォームアップされていないため、完了率は、完了した置換の数 (50%) を正確に反映していません。新しいインスタンスが 0:45 にウォームアップ期間を完了すると、完了率は 50% と表示されます。