インスタンスの更新の開始 - Amazon EC2 Auto Scaling

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

インスタンスの更新の開始

重要

進行中のインスタンスの更新をロールバックし、すべての変更を元に戻すことができます。これが実行されるには、インスタンスの更新を開始する前に、Auto Scaling グループがロールバックを使用するための前提条件を満たす必要があります。詳細については、「ロールバックで変更の取り消し」を参照してください。

次の手順は、 AWS Management Console または を使用してインスタンスの更新を開始するのに役立ちます AWS CLI。

インスタンスの更新の開始 (コンソール)

初めてインスタンスの更新を開始する場合は、コンソールにより、利用できる機能とオプションを理解することができます。

Auto Scaling グループの混合インスタンスポリシーを事前定義していない場合は、次の手順に従います。混合インスタンスポリシーを事前定義している場合は、コンソールでインスタンスの更新を開始する (混合インスタンスグループ) を参照してインスタンスの更新を開始します。

インスタンスの更新をスタートするには
  1. https://console.aws.amazon.com/ec2/ でAmazon EC2 コンソールを開き、ナビゲーションペインで [Auto Scaling グループ] を選択します。

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

    Auto Scaling グループページの下部に分割ペインが開きます。

  3. [Instance refresh] (インスタンスの更新) タブの [Active instance refresh] (アクティブインスタンスの更新) で、[Start instance refresh] (インスタンスの更新を開始する) を選択します。

  4. 可用性設定 では、次の操作を行います。

    1. インスタンス置換方法 の場合

      • Auto Scaling グループにインスタンスメンテナンスポリシーを設定していない場合、インスタンス置換方法のデフォルト設定は終了と起動です。これは、インスタンス更新の従来のデフォルト動作です。

      • Auto Scaling グループにインスタンスメンテナンスポリシーを設定すると、インスタンス置換方法 のデフォルト値が提供されます。インスタンスメンテナンスポリシーを上書きするには、 を上書き を選択します。上書きは、現在のインスタンスの更新にのみ適用されます。次回インスタンスの更新を開始すると、これらの値はインスタンスメンテナンスポリシーのデフォルトにリセットされます。

      次の手順では、インスタンス置換方法を更新する方法について説明します。

      1. 次のいずれかのインスタンス置換方法を選択します。

        • を終了する前に起動する: 既存のインスタンスを終了する前に、まず新しいインスタンスをプロビジョニングする必要があります。これは、コスト削減よりも可用性を優先するアプリケーションに適しています。

        • の終了と起動: 新しいインスタンスは、既存のインスタンスが終了されると同時にプロビジョニングされます。これは、可用性よりもコスト削減を優先するアプリケーションに適しています。また、現在利用可能な容量よりも多くの容量を起動すべきではないアプリケーションにも適しています。

        • カスタム動作 : このオプションでは、インスタンスを置き換えるときに使用可能な容量のカスタム最小範囲と最大範囲を設定できます。これにより、コストと可用性の適切なバランスを実現できます。

      2. 正常率の設定 には、次のフィールドのいずれかまたは両方に値を入力します。有効にするフィールドは、インスタンス置換方法 で選択したオプションによって異なります。

        • 最小: インスタンスの更新を続行するために必要な最小正常率を設定します。

        • 最大: インスタンスの更新中に発生する可能性のある最大正常率を設定します。

      3. 置換中の推定一時容量を現在のグループサイズに基づいて表示セクションを展開して、最小最大の値がグループにどのように適用されるかを確認します。使用される正確な値は希望する容量値によって異なり、グループがスケールすると変化します。

      4. 「無効な置換サイズにフォールバック動作を設定する」セクションを展開し、可用性を優先するために最大正常率を違反させるか、最小正常率を違反させるかを選択します。

        非常に小さなグループでは、デフォルトの Violate min healthy percentage オプションを保持することは推奨されません。Auto Scaling グループにインスタンスが 1 つしかない場合は、インスタンスの更新を開始すると停止する可能性があります。

        このステップでは、インスタンスメンテナンスポリシーがまだない Auto Scaling グループを使用している場合のフォールバック動作を設定します。このオプションは使用できず、グループにインスタンスメンテナンスポリシーがある場合に表示されません。このオプションは、Terminate および Launch 置換メソッドでのみ使用できます。可用性を優先するために、他の代替メソッドは最大正常率を超過します。

    2. [インスタンスのウォームアップ] には、新しいインスタンスの状態が InService に変更されてから初期化が完了するまでの秒数を入力します。Amazon EC2 Auto Scaling は、次のインスタンスを置き換える前にこの時間を待機します。

      ウォームアップ中、新しく起動されたインスタンスは Auto Scaling グループの (CPUUtilizationNetworkInNetworkOut など) 集計インスタンスのメトリクスにも計上されません。Auto Scaling グループにスケーリング ポリシーを追加した場合、スケーリングアクティビティは並行して実行されます。インスタンスの更新のウォームアップ期間に長い間隔を設定する場合、新しく起動されたインスタンスがメトリクスに表示されるまでに時間がかかります。このため、適切なウォームアップ期間によって、Amazon EC2 Auto Scaling が古いメトリクスデータに基づいてスケーリングしないようにすることができます。

      Auto Scaling グループにデフォルトのインスタンスのウォームアップを既に正しく定義している場合、インスタンスのウォームアップを変更する必要はありません。ただし、デフォルトを上書きする場合は、このオプションの値を設定できます。デフォルトのインスタンスのウォームアップにおける設定の詳細については、「Auto Scaling グループに対するインスタンスのデフォルトウォームアップを設定する」を参照してください。

  5. 更新設定 では、次の操作を行います。

    1. (オプション) [Checkpoints] (チェックポイント) で [Enable checkpoints] (チェックポイントを有効にする) を選択し、インスタンスの更新に増分または段階的なアプローチを使用するインスタンスを置換します。これにより、置換セット間の検証にさらに時間がかかります。チェックポイントの有効化を選択しない場合、インスタンスはほぼ連続した 1 回のオペレーションで置換されます。

      チェックポイントを有効にする場合は、追加ステップ チェックポイントを有効にする (コンソール) を参照してください。

    2. スキップマッチングを有効または無効にする:

      • 起動テンプレートに既に一致しているインスタンスの置き換えをスキップするには、[スキップマッチングを有効にする] のチェックボックスをオンのままにします。

      • このチェックボックスをオフにしてスキップマッチングを無効にすると、すべてのインスタンスを置換することができます。

      スキップマッチングを有効にすると、既存の起動テンプレートを使用する代わりに、新しい起動テンプレートまたは起動テンプレートの新しいバージョンを設定できます。これは、[インスタンスの更新を開始] ページの [必要な設定] セクションで行います。

      注記

      スキップマッチング機能を使用して、現在起動設定を使用している Auto Scaling グループを更新するには、希望する設定で起動テンプレートを選択する必要があります。起動設定でのスキップマッチングはサポートされていません。

    3. [スタンバイインスタンス] の場合、[無視][終了][待機] のいずれかを選択します。これにより、インスタンスが Standby 状態で見つかった場合の処理が決まります。詳細については、「Auto Scaling グループからインスタンスを一時的に削除する」を参照してください。

      [待機] を選択する場合、これらのインスタンスをサービスに戻すために追加のステップを実行する必要があります。そうしない場合、インスタンスの更新がすべての InService インスタンスを置き換えて 1 時間待機します。次に、Standby インスタンスが残っていると、インスタンスの更新は失敗します。この状況を防ぐには、代わりにこれらのインスタンスに対して [無視] または [終了] を選択してください。

    4. [スケールインで保護されたインスタンス] の場合、[無視][置換][待機] のいずれかを選択します。これにより、スケールインで保護されたインスタンスが見つかった場合の処理が決まります。詳細については、「インスタンスのスケールイン保護を使用する」を参照してください。

      [待機] を選択する場合、これらのインスタンスからスケールイン保護を解除するために追加のステップを実行する必要があります。そうしない場合、インスタンスの更新は保護されていないすべてのインスタンスを置き換えて 1 時間待機します。次に、スケールインで保護されたインスタンスが残っている場合、インスタンスの更新が失敗します。この状況を防ぐには、代わりにこれらのインスタンスに対して [無視] または [置き換え] を選択してください。

  6. (オプション) CloudWatch アラーム で、 CloudWatch アラーム を有効に を選択し、アラームが ALARM状態になった場合に 1 つ以上の alarms. CloudWatch alarms を使用して問題を特定し、操作を失敗させることができます。詳細については、「自動ロールバックでインスタンスの更新を開始」を参照してください。

  7. (オプション) [必要な設定] セクションを拡張し、Auto Scaling グループに実行する更新を指定します。

    このステップでは、コンソールインターフェイスで選択する代わりに、JSON または YAML 構文を使用してパラメータ値を編集するように選択できます。このためには、[Use console interface] (コンソールインターフェイスを使用する) の代わりに[Use code editor] (コードエディタを使用する) を選択します。以下の手順では、コンソールインターフェイスを使用して選択する方法について説明します。

    1. 起動テンプレートを更新する場合:

      • Auto Scaling グループの新しい起動テンプレートまたは新しい起動テンプレートバージョンを作成していない場合、このチェックボックスをオンにしないでください。

      • 新しい起動テンプレートまたは新しい起動テンプレートバージョンを作成した場合は、このチェックボックスをオンにします。このオプションを選択すると、Amazon EC2 Auto Scaling が現在の起動テンプレートおよび現在の起動テンプレートバージョンを表示します。他の利用可能なバージョンもすべて確認できます。起動テンプレートを選択し、バージョンを選択します。

        バージョンを選択すると、バージョン情報が表示されます。これは、インスタンスの更新の一部としてインスタンスを置換するときに使用される起動テンプレートのバージョンです。インスタンスの更新に成功すると、グループのスケール時など、新しいインスタンスが起動するたびに起動テンプレートのこのバージョンが使用されます。

    2. インスタンスタイプと購入オプションのセットを選択して、起動テンプレートのインスタンスタイプを上書きする場合:

      • 起動テンプレートで指定したインスタンスタイプおよび購入オプションを使用する場合、このチェックボックスをオンにしないでください。

      • 起動テンプレートのインスタンスタイプをオーバーライドまたはスポットインスタンスを実行する場合、このチェックボックスをオンにします。各インスタンスタイプを手動で追加するか、プライマリインスタンスタイプおよび一致する追加のインスタンスタイプを取得する推奨オプションを選択できます。スポットインスタンスを起動する予定がある場合は、いくつかの異なるインスタンスタイプを追加することをお勧めします。そうすることで、選択したアベイラビリティーゾーンに十分なインスタンスのキャパシティがない場合、Amazon EC2 Auto Scaling は別のインスタンスタイプを起動できます。詳細については、「複数のインスタンスタイプと購入オプションを使用する Auto Scaling グループ」を参照してください。

        警告

        スポットインスタンスの中断を処理できないアプリケーションにはスポットインスタンスを使用しないでください。Amazon EC2 スポットサービスがキャパシティを回収する必要がある場合、中断が発生する可能性があります。

      このチェックボックスをオンにした場合は、起動テンプレートがまだスポットインスタンスをリクエストしていないことを確認してください。複数のインスタンスタイプを使用し、スポットインスタンスとオンデマンドインスタンスを起動する Auto Scaling グループを作成するため、スポットインスタンスをリクエストする起動テンプレートを使用することはできません。

      注記

      現在起動設定を使用している Auto Scaling グループでこれらのオプションを設定するには、起動テンプレートの更新で起動テンプレートを選択する必要があります。起動設定のインスタンスタイプの上書きはサポートされていません。

  8. (オプション) [ロールバック設定][自動ロールバックを有効にする] を選択すると、インスタンスの更新が失敗した場合に自動的にロールバックされます。

    この設定は、Auto Scaling グループがロールバックを使用するための前提条件を満たしている場合にのみ有効にできます。

    詳細については、「ロールバックで変更の取り消し」を参照してください。

  9. すべての選択内容を見直し、正しく設定されていることを確認します。

    現在の設定と提案された変更の違いが、想定外または望ましくない形でアプリケーションに影響を及ぼさないよう、この時点で確認することをお勧めします。インスタンスタイプが起動テンプレートと互換性があることを確認するには、「インスタンスタイプの互換性」を参照してください。

  10. インスタンス更新の選択内容が正しい場合は、[インスタンスの更新の開始]  を選択します。

混合インスタンスポリシーで Auto Scaling グループを作成した場合は、次の手順に従います。グループに混合インスタンスポリシーをまだ定義していない場合は、コンソールでインスタンスの更新を開始する (基本的な手順) を参照してインスタンスの更新を開始します。

インスタンスの更新をスタートするには
  1. https://console.aws.amazon.com/ec2/ でAmazon EC2 コンソールを開き、ナビゲーションペインで [Auto Scaling グループ] を選択します。

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

    Auto Scaling グループページの下部に分割ペインが開きます。

  3. [Instance refresh] (インスタンスの更新) タブの [Active instance refresh] (アクティブインスタンスの更新) で、[Start instance refresh] (インスタンスの更新を開始する) を選択します。

  4. 可用性設定 では、次の操作を行います。

    1. インスタンス置換方法 の場合

      • Auto Scaling グループにインスタンスメンテナンスポリシーを設定していない場合、インスタンス置換方法のデフォルト設定は終了して を起動します。これは、インスタンス更新の従来のデフォルト動作です。

      • Auto Scaling グループにインスタンスメンテナンスポリシーを設定すると、インスタンス置換方法 のデフォルト値が提供されます。インスタンスのメンテナンスポリシーを上書きするには、オーバーライドを選択します。上書きは、現在のインスタンスの更新にのみ適用されます。次回インスタンスの更新を開始すると、これらの値はインスタンスメンテナンスポリシーのデフォルトにリセットされます。

      次の手順では、インスタンスの置き換え方法を更新する方法について説明します。

      1. 次のいずれかのインスタンス置換方法を選択します。

        • を終了する前に起動する: 既存のインスタンスを終了する前に、まず新しいインスタンスをプロビジョニングする必要があります。これは、コスト削減よりも可用性を優先するアプリケーションに適しています。

        • の終了と起動: 新しいインスタンスは、既存のインスタンスが終了されると同時にプロビジョニングされます。これは、可用性よりもコスト削減を優先するアプリケーションに適しています。また、現在利用可能な容量よりも多くの容量を起動すべきではないアプリケーションにも適しています。

        • カスタム動作 : このオプションでは、インスタンスを置き換えるときに使用可能な容量のカスタム最小範囲と最大範囲を設定できます。これにより、コストと可用性の適切なバランスを実現できます。

      2. 正常率の設定 には、次のフィールドのいずれかまたは両方に値を入力します。有効にするフィールドは、インスタンス置換方法 で選択したオプションによって異なります。

        • 最小: インスタンスの更新を続行するために必要な最小正常率を設定します。

        • 最大 : インスタンスの更新中に可能な最大正常率を設定します。

      3. 置換中の推定一時容量を現在のグループサイズに基づいて表示セクションを展開して、最小最大の値がグループにどのように適用されるかを確認します。使用される正確な値は希望する容量値によって異なり、グループがスケールすると変化します。

      4. 「無効な置換サイズにフォールバック動作を設定する」セクションを展開し、可用性を優先するために最大正常率を違反させるか、最小正常率を違反させるかを選択します。

        非常に小さなグループでは、デフォルトの Violate min healthy percentage オプションを保持することは推奨されません。Auto Scaling グループにインスタンスが 1 つしかない場合は、インスタンスの更新を開始すると停止する可能性があります。

        このステップでは、インスタンスメンテナンスポリシーがまだない Auto Scaling グループを使用している場合のフォールバック動作を設定します。このオプションは使用できず、グループにインスタンスメンテナンスポリシーがある場合に表示されません。このオプションは、Terminate and launch replacement メソッドでのみ使用できます。可用性を優先するために、他の代替メソッドは最大正常率を超過します。

    2. [インスタンスのウォームアップ] には、新しいインスタンスの状態が InService に変更されてから初期化が完了するまでの秒数を入力します。Amazon EC2 Auto Scaling は、次のインスタンスを置き換える前にこの時間を待機します。

      ウォームアップ中、新しく起動されたインスタンスは Auto Scaling グループの (CPUUtilizationNetworkInNetworkOut など) 集計インスタンスのメトリクスにも計上されません。Auto Scaling グループにスケーリング ポリシーを追加した場合、スケーリングアクティビティは並行して実行されます。インスタンスの更新のウォームアップ期間に長い間隔を設定する場合、新しく起動されたインスタンスがメトリクスに表示されるまでに時間がかかります。このため、適切なウォームアップ期間によって、Amazon EC2 Auto Scaling が古いメトリクスデータに基づいてスケーリングしないようにすることができます。

      Auto Scaling グループにデフォルトのインスタンスのウォームアップを既に正しく定義している場合、インスタンスのウォームアップを変更する必要はありません。ただし、デフォルトを上書きする場合は、このオプションの値を設定できます。デフォルトのインスタンスのウォームアップにおける設定の詳細については、「Auto Scaling グループに対するインスタンスのデフォルトウォームアップを設定する」を参照してください。

  5. 更新設定 では、次の操作を行います。

    1. (オプション) [Checkpoints] (チェックポイント) で [Enable checkpoints] (チェックポイントを有効にする) を選択し、インスタンスの更新に増分または段階的なアプローチを使用するインスタンスを置換します。これにより、置換セット間の検証にさらに時間がかかります。チェックポイントの有効化を選択しない場合、インスタンスはほぼ連続した 1 回のオペレーションで置換されます。

      チェックポイントを有効にする場合は、追加ステップ チェックポイントを有効にする (コンソール) を参照してください。

    2. スキップマッチングを有効または無効にする:

      • 起動テンプレートと既に一致しているインスタンスの置き換えおよびすべてのインスタンスタイプのオーバーライドをスキップするには、[スキップマッチングを有効にする] チェックボックスをオンのままにします。

      • このチェックボックスをオフにしてスキップマッチングを無効にすると、すべてのインスタンスを置換することができます。

      スキップマッチングを有効にすると、既存の起動テンプレートを使用する代わりに、新しい起動テンプレートまたは起動テンプレートの新しいバージョンを設定できます。これは、[インスタンスの更新を開始] ページの [必要な設定] セクションで行います。[Desired configuration] (希望する設定) でインスタンスタイプの上書きを更新することもできます。

    3. [スタンバイインスタンス] の場合、[無視][終了][待機] のいずれかを選択します。これにより、インスタンスが Standby 状態で見つかった場合の処理が決まります。詳細については、「Auto Scaling グループからインスタンスを一時的に削除する」を参照してください。

      [待機] を選択する場合、これらのインスタンスをサービスに戻すために追加のステップを実行する必要があります。そうしない場合、インスタンスの更新はすべての InService インスタンスを置き換えて 1 時間待機します。次に、Standby インスタンスが残っていると、インスタンスの更新は失敗します。この状況を防ぐには、代わりにこれらのインスタンスに対して [無視] または [終了] を選択してください。

    4. [スケールインで保護されたインスタンス] の場合、[無視][置換][待機] のいずれかを選択します。これにより、スケールインで保護されたインスタンスが見つかった場合の処理が決まります。詳細については、「インスタンスのスケールイン保護を使用する」を参照してください。

      [待機] を選択する場合、これらのインスタンスからスケールイン保護を解除するために追加のステップを実行する必要があります。そうしない場合、インスタンスの更新は保護されていないすべてのインスタンスを置き換えて 1 時間待機します。次に、スケールインで保護されたインスタンスが残っている場合、インスタンスの更新が失敗します。この状況を防ぐには、代わりにこれらのインスタンスに対して [無視] または [置き換え] を選択してください。

  6. (オプション) CloudWatch アラーム で、 CloudWatch アラーム を有効に を選択し、アラームが ALARM状態になった場合に 1 つ以上の alarms. CloudWatch alarms を使用して問題を特定し、操作に失敗させることができます。詳細については、「自動ロールバックでインスタンスの更新を開始」を参照してください。

  7. [Desired configuration] (希望する設定) セクションで以下を実行します。

    このステップでは、コンソールインターフェイスで選択する代わりに、JSON または YAML 構文を使用してパラメータ値を編集するように選択できます。このためには、[Use console interface] (コンソールインターフェイスを使用する) の代わりに[Use code editor] (コードエディタを使用する) を選択します。以下の手順では、コンソールインターフェイスを使用して選択する方法について説明します。

    1. 起動テンプレートを更新する場合:

      • Auto Scaling グループの新しい起動テンプレートまたは新しい起動テンプレートバージョンを作成していない場合、このチェックボックスをオンにしないでください。

      • 新しい起動テンプレートまたは新しい起動テンプレートバージョンを作成した場合は、このチェックボックスをオンにします。このオプションを選択すると、Amazon EC2 Auto Scaling が現在の起動テンプレートおよび現在の起動テンプレートバージョンを表示します。他の利用可能なバージョンもすべて確認できます。起動テンプレートを選択し、バージョンを選択します。

        バージョンを選択すると、バージョン情報が表示されます。これは、インスタンスの更新の一部としてインスタンスを置換するときに使用される起動テンプレートのバージョンです。インスタンスの更新に成功すると、グループのスケール時など、新しいインスタンスが起動するたびに起動テンプレートのこのバージョンが使用されます。

    2. これらの設定を使用して、起動テンプレートで定義されているインスタンスタイプと購入オプションを上書きする場合:

      デフォルトでは、このチェックボックスはオンになっています。Amazon EC2 Auto Scaling により、現在、Auto Scaling グループの混合インスタンスポリシーで設定されている値が各パラメータに入力されます。変更するパラメータの値のみを更新します。これらの設定に関するガイダンスについては、複数のインスタンスタイプと購入オプションを使用する Auto Scaling グループ を参照してください。

      警告

      このチェックボックスはオフにしないことをお勧めします。混合インスタンスポリシーの使用を停止する場合にのみオフにします。インスタンスの更新に成功すると、Amazon EC2 Auto Scaling は希望する設定に一致するようグループを更新します。混合インスタンスポリシーが含まれなくなった場合、Amazon EC2 Auto Scaling は現在実行中のスポットインスタンスを徐々に終了し、オンデマンドインスタンスに置換します。または、起動テンプレートがスポットインスタンスをリクエストした場合、Amazon EC2 Auto Scaling は現在実行中のオンデマンドインスタンスを徐々に終了し、スポットインスタンスに置換します。

  8. (オプション) [ロールバック設定][自動ロールバックを有効にする] を選択すると、何らかの理由でインスタンスの更新が失敗した場合に自動的にロールバックされます。

    この設定は、Auto Scaling グループがロールバックを使用するための前提条件を満たしている場合にのみ有効にできます。

    詳細については、「ロールバックで変更の取り消し」を参照してください。

  9. すべての選択内容を見直し、正しく設定されていることを確認します。

    現在の設定と提案された変更の違いが、想定外または望ましくない形でアプリケーションに影響を及ぼさないよう、この時点で確認することをお勧めします。インスタンスタイプが起動テンプレートと互換性があることを確認するには、「インスタンスタイプの互換性」を参照してください。

    インスタンス更新の選択内容が正しい場合は、[インスタンスの更新の開始]  を選択します。

インスタンスの更新 (AWS CLI) の開始

インスタンスの更新をスタートするには

次のstart-instance-refreshコマンドを使用して、 からインスタンスの更新を開始します AWS CLI。JSON 設定ファイルでは、変更する任意の設定を指定できます。設定ファイルを参照するとき、次の例に示すように、ファイルパスおよび名前を指定します。

aws autoscaling start-instance-refresh --cli-input-json file://config.json

config.json の内容:

{ "AutoScalingGroupName": "my-asg", "Preferences": { "InstanceWarmup": 60, "MinHealthyPercentage": 50, "AutoRollback": true, "ScaleInProtectedInstances": Ignore, "StandbyInstances": Terminate } }

設定が指定されない場合、デフォルト値が使用されます。詳細については、「インスタンスの更新のデフォルト値について説明する」を参照してください。

出力例:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }