MIG で修復をオフにする

このドキュメントでは、マネージド インスタンス グループ(MIG)で障害が発生した VM と異常な VM の修復をオフにする方法について説明します。また、すでにオフになっている場合に、VM を修復するように MIG を構成する方法についても説明します。

デフォルトでは、MIG はグループ内の障害が発生した VM を再作成して、その VM を自動的に修復します。アプリケーション ベースのヘルスチェックを構成済みの場合、MIG は、アプリケーションがヘルスチェックに失敗した異常な VM も修復します。アプリケーションベースのヘルスチェックに基づいて VM を修復することを「自動修復」ともいいます。

障害が発生した VM や異常な VM を MIG で修復したくない場合は、MIG で修復をオフにできます。修復をオフにすると役立つシナリオとしては、障害が発生した VM のトラブルシューティングを行う場合や、独自の修復ロジックを実装する場合、異常な VM の修復を行わずにアプリケーションの健全性をモニタリングする場合などがあります。

MIG で修復がすでにオフになっているかどうかを確認するには、MIG で修復がオフになっているかどうかを確認するをご覧ください。

MIG での修復の詳細については、高可用性のための VM の修復についてをご覧ください。

始める前に

  • まだ設定していない場合は、認証を設定します。認証とは、 Trusted Cloud by S3NS サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.

    gcloud

      1. After installing the Google Cloud CLI, sign in to the gcloud CLI with your federated identity and then initialize it by running the following command:

        gcloud init
      2. Set a default region and zone.
      3. REST

        このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

          After installing the Google Cloud CLI, sign in to the gcloud CLI with your federated identity and then initialize it by running the following command:

          gcloud init

        詳細については、 Trusted Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

MIG で修復をオフにする

MIG で修復をオフにすると、デフォルトでは、障害が発生した VM の修復と自動修復の両方がオフになります。自動修復のみをオフにする場合は、自動修復をオフにするをご覧ください。

コンソール

  1. Trusted Cloud コンソールで、[インスタンス グループ] ページに移動します。

    [インスタンス グループ] に移動

  2. 修復をオフにする MIG の名前をクリックします。

  3. [編集] をクリックします。

  4. [VM インスタンスのライフサイクル] セクションで、[障害発生時のデフォルトのアクション] フィールドを [アクションなし] に設定します。

  5. 自動修復を構成していて、MIG で自動修復をオフにしない場合は、[ヘルスチェック失敗時] フィールドを [インスタンスを修復] に設定します。

  6. [保存] をクリックします。

gcloud

MIG で修復をオフにするには、次のように update コマンドを使用します。これにより、デフォルトで自動修復がオフになります。

gcloud compute instance-groups managed update MIG_NAME \
    --default-action-on-vm-failure=do-nothing \
    --zone=ZONE

MIG で自動修復が構成されていて、デフォルトで自動修復をオフにしない場合は、ベータ版の update コマンドを使用して、--action-on-vm-failed-health-check フラグを repair に設定します。これにより、障害が発生した VM の修復がオフになっている場合でも、異常な VM の自動修復が継続して機能します。

gcloud beta compute instance-groups managed update MIG_NAME \
    --default-action-on-vm-failure=do-nothing \
    --action-on-vm-failed-health-check=repair \
    --zone=ZONE

次のように置き換えます。

  • MIG_NAME: インスタンス グループの名前。
  • ZONE: MIG が配置されているゾーン。リージョン MIG の場合は、--region=REGION フラグを使用します。

REST

MIG で修復をオフにするには、次のように API メソッドを使用します。これにより、デフォルトで自動修復がオフになります。

たとえば、ゾーン MIG で次の呼び出しを行います。これにより、デフォルトで自動修復がオフになります。

PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
  "instanceLifecyclePolicy":
    {
      "defaultActionOnFailure": "DO_NOTHING"
    }
  }

MIG で自動修復が構成されていて、デフォルトで自動修復をオフにしない場合は、次のように API メソッドを使用して onFailedHealthCheck フラグを REPAIR に設定します。これにより、障害が発生した VM の修復がオフになっている場合でも、異常な VM の自動修復が継続して機能します。

たとえば、ゾーン MIG で次の呼び出しを行います。

PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
  "instanceLifecyclePolicy":
    {
      "defaultActionOnFailure": "DO_NOTHING",
      "onFailedHealthCheck": "REPAIR"
    }
  }

次のように置き換えます。

  • PROJECT_ID: 実際のプロジェクト ID
  • MIG_NAME: MIG の名前。
  • ZONE: MIG が配置されているゾーン。リージョン MIG の場合は、URL で regions/REGION を使用します。

制限事項

MIG に次のいずれかがある場合、defaultActionOnFailure フィールドを DO_NOTHING に設定して MIG で修復をオフにすることはできません。

自動修復をオフにする

MIG でアプリケーション ヘルスチェックが構成されているときに、MIG で異常な VM を修復したくない場合は、自動修復を個別にオフにできます。障害が発生した VM の修復はオフになりません。

コンソール

  1. Trusted Cloud コンソールで、[インスタンス グループ] ページに移動します。

    [インスタンス グループ] に移動

  2. 自動修復をオフにする MIG の名前をクリックします。

  3. [編集] をクリックします。

  4. [VM インスタンスのライフサイクル] セクションで、[ヘルスチェック失敗時] フィールドを [アクションなし] に設定します。

  5. [保存] をクリックします。

gcloud

MIG で自動修復をオフにするには、ベータ版の update コマンドを使用して、--action-on-vm-failed-health-check フラグを do-nothing に設定します。

たとえば、ゾーン MIG の場合は、次のコマンドを使用します。

gcloud beta compute instance-groups managed update MIG_NAME \
    --action-on-vm-failed-health-check=do-nothing \
    --zone=ZONE

次のように置き換えます。

  • MIG_NAME: MIG の名前。
  • ZONE: MIG が配置されているゾーン。リージョン MIG の場合は、--region=REGION フラグを使用します。

REST

MIG で自動修復をオフにするには、次のように API メソッドを使用し、--action-on-vm-failed-health-check フラグを do-nothing に設定します。

たとえば、ゾーン MIG で自動修復をオフにするには、次のリクエストを送信します。

POST https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers

{
  "instanceLifecyclePolicy":
   {
     "onFailedHealthCheck": "DO_NOTHING"
   }
}

次のように置き換えます。

  • PROJECT_ID: 実際のプロジェクト ID
  • ZONE: MIG が配置されているゾーン。リージョン MIG の場合は、URL で regions/REGION を使用します。
  • MIG_NAME: インスタンス グループの名前。

修復または自動修復をオンにする

デフォルトでは、MIG は障害が発生した VM を修復します。また、自動修復が構成されている場合は、異常な VM も修復します。修復または自動修復、あるいはその両方をオフにした場合は、再度オンにできます。

コンソール

  1. Trusted Cloud コンソールで、[インスタンス グループ] ページに移動します。

    [インスタンス グループ] に移動

  2. 修復をオンにする MIG の名前をクリックします。

  3. [編集] をクリックします。

  4. [VM インスタンスのライフサイクル] セクションで、次の操作を行います。

    • 失敗した VM を修復するには、[障害発生時のデフォルトのアクション] フィールドを [インスタンスを修復] に設定します。
    • 異常な VM を修復するには、[ヘルスチェック失敗時] フィールドを [インスタンスを修復] に設定します。この値を [デフォルトのアクション] に設定すると、自動復元では [障害発生時のデフォルトのアクション] フィールドに構成した設定が使用されます。
  5. 完了したら、[保存] をクリックして変更を適用します。

gcloud

MIG で修復をオンにするには、update コマンドを使用します。また、--action-on-vm-failed-health-check フラグの値が default-action の場合は、自動修復もオンになります。

gcloud compute instance-groups managed update MIG_NAME \
    --default-action-on-vm-failure=repair

自動修復を個別にオフにしていて、再度オンにする場合は、ベータ版の update コマンドを使用します。

gcloud beta compute instance-groups managed update MIG_NAME \
    --action-on-vm-failed-health-check=default-action OR repair

次のように置き換えます。

  • MIG_NAME: MIG の名前。
  • default-action OR repair: 自動修復で、障害が発生した VM の修復に構成したのと同じ設定を使用する場合は、値を default-action に設定します。たとえば、障害が発生した VM の修復をオフにすると、MIG は自動修復もオフにします。異常な VM の修復を個別に制御する場合は、値を repair に設定します。

REST

MIG で修復をオンにするには、次のように API メソッドを使用します。また、onFailedHealthCheck フィールドの値が DEFAULT_ACTION の場合は、自動修復もオンになります。

たとえば、ゾーン MIG で次のリクエストを行います。

    PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
    {
      "instanceLifecyclePolicy": {
        "defaultActionOnFailure": "REPAIR"
      }
    }
  

自動修復を個別にオフにした後で再びオンにするには、次のようにベータ版の API メソッドを使用します。

  PATCH https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
  {
    "instanceLifecyclePolicy": {
      "onFailedHealthCheck": "DEFAULT_ACTION OR REPAIR"
    }
  }

次のように置き換えます。

  • PROJECT_ID: 実際のプロジェクト ID
  • ZONE: MIG が配置されているゾーン。リージョン MIG の場合は、URL で regions/REGION を使用します。
  • MIG_NAME: MIG の名前。
  • DEFAULT_ACTION OR REPAIR: 自動修復で障害が発生した VM の修復と同じ設定を使用する場合は、値を DEFAULT_ACTION に設定します。たとえば、障害が発生した VM の修復をオフにすると、MIG は自動修復もオフにします。自動修復を個別に構成する場合は、値を REPAIR に設定します。

次のステップ