このドキュメントでは、マネージド インスタンス グループ(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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- デフォルトのリージョンとゾーンを設定します。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
制限事項
グループに以下がある場合、MIG で修復をオフにすることはできません。
MIG で修復をオフにする
MIG で修復をオフにすると、自動修復と、アプリケーション ベースのヘルスチェック(自動修復)に基づく修復の両方がオフになります。
修復をオフにするには、Google Cloud コンソール、gcloud CLI、または REST を使用します。
コンソール
Google Cloud コンソールの [インスタンス グループ] ページに移動します。
MIG がすでにある場合は、次の操作を行います。
- 修復をオフにする MIG の名前をクリックします。
- [編集] をクリックします。
MIG がない場合は、次の操作を行います。
- [インスタンス グループを作成] をクリックします。
- 名前を入力します。
- インスタンス テンプレートを選択します。
- その他の設定では、デフォルト値を使用することも、フィールドを変更することもできます。
[VM インスタンスのライフサイクル] セクションで、[障害発生時のデフォルトのアクション] を [アクションなし] に設定します。
終了したら、[保存](既存の 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 の場合は、
instanceGroupManagers.patch
メソッドを使用します。 - リージョン MIG の場合は、
regionInstanceGroupManagers.patch
メソッドを使用します。
たとえば、既存のゾーン MIG で修復をオフにするには、次の呼び出しを行います。
PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
MIG の作成時に修復をオフにするには、次のように API メソッドを使用します。
- ゾーン MIG の場合は、
instanceGroupManagers.insert
メソッドを使用します。 - リージョン MIG の場合は、
regionInstanceGroupManagers.insert
メソッドを使用します。
たとえば、ゾーン 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 を修復するように設定を戻すことができます。
コンソール
Google Cloud コンソールの [インスタンス グループ] ページに移動します。
修復を設定する MIG の名前をクリックします。
[編集] をクリックします。
[VM インスタンスのライフサイクル] セクションで、[障害発生時のデフォルトのアクション] を [インスタンスを修復] に設定します。
完了したら、[保存] をクリックして変更を適用します。
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 の場合は、
instanceGroupManagers.patch
メソッドを使用します。 - リージョン MIG の場合は、
regionInstanceGroupManagers.patch
メソッドを使用します。
たとえば、ゾーン 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
を使用します。
次のステップ
- インスタンス エラーを一覧表示して、障害が発生した VM のエラーを調査する。
- VM の健全性を検査する。