MIG で修復をオフにする


このドキュメントでは、マネージド インスタンス グループ(MIG)で修復をオフにする方法と、すでにオフになっている場合に、VM を修復するように MIG の設定を戻す方法について説明します。

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

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

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

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

準備

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

    このページのサンプルをどのように使うかに応じて、タブを選択してください。

    コンソール

    Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。

    gcloud

    1. Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init
    2. デフォルトのリージョンとゾーンを設定します

    REST

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

      Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init

制限事項

グループに以下がある場合、MIG で修復をオフにすることはできません。

MIG で修復をオフにする

MIG で修復をオフにすると、自動修復と、アプリケーション ベースのヘルスチェック(自動修復)に基づく修復の両方がオフになります。

修復をオフにするには、Google Cloud コンソールgcloud CLI、または REST を使用します。

コンソール

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

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

  2. MIG がすでにある場合は、次の操作を行います。

    1. 修復をオフにする MIG の名前をクリックします。
    2. [編集] をクリックします。
  3. MIG がない場合は、次の操作を行います。

    1. [インスタンス グループを作成] をクリックします。
    2. 名前を入力します。
    3. インスタンス テンプレートを選択します。
    4. その他の設定では、デフォルト値を使用することも、フィールドを変更することもできます。
  4. [VM インスタンスのライフサイクル] セクションで、[障害発生時のデフォルトのアクション] を [アクションなし] に設定します。

  5. 終了したら、[保存](既存の MIG の場合)または [作成](新しい MIG の場合)をクリックします。

gcloud

既存の MIG で修復をオフにするには、update コマンドを使用します。

たとえば、ゾーン MIG で修復をオフにするには、次のコマンドを使用します。

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

MIG の作成時に修復をオフにするには、create コマンドを使用します。

たとえば、ゾーン MIG の作成時に修復をオフにするには、次のコマンドを使用します。

gcloud compute instance-groups managed create MIG_NAME \
    --template=INSTANCE_TEMPLATE \
    --size=SIZE \
    --zone=ZONE \
    --default-action-on-vm-failure=do_nothing

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

  • MIG_NAME: インスタンス グループの名前。
  • INSTANCE_TEMPLATE: グループに使用するインスタンス テンプレートの名前。
  • SIZE: インスタンス グループのターゲット サイズ。
  • ZONE: MIG が配置されているゾーン。リージョン MIG の場合は、--region フラグを使用します。

REST

既存の MIG で修復をオフにするには、次のように API メソッドを使用します。

たとえば、既存のゾーン MIG で修復をオフにするには、次の呼び出しを行います。

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

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

MIG の作成時に修復をオフにするには、次のように API メソッドを使用します。

たとえば、ゾーン MIG の作成時に修復をオフにするには、次の呼び出しを行います。

POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers

{
  "versions": [
    {
      "instanceTemplate": "INSTANCE_TEMPLATE_URL"
     }
  ],
  "name": "MIG_NAME",
  "targetSize": SIZE,
  "instanceLifecyclePolicy":
   {
     "defaultActionOnFailure": "DO_NOTHING"
   }
}

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

  • PROJECT_ID: 実際の プロジェクト ID
  • MIG_NAME: インスタンス グループの名前。
  • INSTANCE_TEMPLATE_URL: グループ内に VM を作成するために使用するインスタンス テンプレートの部分的な URL。次に例を示します。
    • リージョン インスタンス テンプレート: projects/example-project/regions/us-central1/instanceTemplates/example-template
    • グローバル インスタンス テンプレート: projects/example-project/global/instanceTemplates/example-template
  • SIZE: インスタンス グループのターゲット サイズ。
  • ZONE: MIG が配置されているゾーン。リージョン MIG の場合は、URL で regions/REGION を使用します。

障害が発生した VM と異常な VM を修復するように MIG を設定する

デフォルトでは、MIG は障害が発生した VM と異常な VM を修復します。MIG で修復をオフにした場合は、VM を修復するように設定を戻すことができます。

コンソール

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

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

  2. 修復を設定する MIG の名前をクリックします。

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

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

  5. 完了したら、[保存] をクリックして変更を適用します。

gcloud

VM を修復するように MIG を設定するには、update コマンドを使用します。

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

MIG_NAME は MIG の名前に置き換えます。

REST

VM を修復するように MIG を設定するには、次のように API メソッドを使用します。

たとえば、ゾーン MIG で修復をオフにするには、次の呼び出しを行います。

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
  "instanceLifecyclePolicy":
  {
    "defaultActionOnFailure": "REPAIR"
 }
}

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

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

次のステップ