このドキュメントでは、リージョン マネージド インスタンス グループ(MIG)が元のゾーンで VM を修復できない場合に、代替ゾーンで仮想マシン(VM)インスタンスを修復できるようにする方法について説明します。MIG での修復の詳細については、高可用性のための VM の修復についてをご覧ください。
リージョン MIG を作成するときに、MIG が VM を分散する 1 つ以上のゾーンを選択します。デフォルトでは、MIG 内の VM に障害が発生した場合、MIG は元のゾーンでその VM の修復を試みます。必要に応じて、MIG が他の選択したゾーンのいずれかで VM を修復できるようにすることもできます。これは、MIG が元のゾーンで VM を修復できない場合に便利です。MIG は、使用可能な容量と割り当てに基づいて代替ゾーンを選択します。
制限事項
代替ゾーンの VM を修復するようにリージョン MIG を構成する場合、次の制限が適用されます。
修復時の更新を有効にする必要があります。
次の構成のリージョン MIG はサポートされていません。
EVENまたはANY_SINGLE_ZONEのターゲット分配形態を持つ MIG。ステートフル構成を使用した MIG。
始める前に
-
まだ設定していない場合は、認証を設定します。認証では、 Google Cloud サービスと API にアクセスするための ID が確認されます。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
- Set a default region and zone.
Terraform
ローカル開発環境でこのページの Terraform サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
Google Cloud CLI をインストールします。
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については Set up authentication for a local development environment をご覧ください。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールします。
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
代替ゾーンでの修復を許可する
MIG が代替ゾーンで VM を修復できるようにするには、次のいずれかのオプションを選択します。
コンソール
Google Cloud コンソールで、[インスタンス グループ] ページに移動します。
MIG がすでにある場合は、次の操作を行います。
- MIG の名前をクリックします。
- [編集] をクリックします。
MIG がない場合は、次の操作を行います。
- [インスタンス グループを作成] をクリックします。
- 名前を入力します。
- インスタンス テンプレートを選択します。
- [ロケーション] セクションで、[複数のゾーン] を選択し、リージョンとゾーンを選択します。
[ターゲット分配形態] プルダウンで、[バランス] または [任意] を選択します。
[バランス] を選択した場合は、表示されたダイアログで [インスタンスの再分配を無効化] をクリックします。
[任意] を選択する場合は、まず自動スケーリング構成を削除する必要があります。自動スケーリングを削除するには、[自動スケーリング モード] プルダウンで [自動スケーリングの構成を削除] をクリックします。
[VM インスタンスのライフサイクル] セクションで、次のフィールドが次のように設定されていることを確認します。
[障害発生時のデフォルトのアクション] リストが [インスタンスを修復] に設定されています。
[VM インスタンス修復中の更新] が [インスタンス構成を更新する] に設定されている。
[VM インスタンス修復中のゾーンの変更] セクションで、[代替ゾーンでの VM の修復を許可する] チェックボックスをオンにします。
その他の設定では、デフォルト値を使用することも、フィールドを変更することもできます。
終了したら、[保存](既存の MIG の場合)または [作成](新しい MIG の場合)をクリックします。
gcloud
代替ゾーンで VM を修復するように既存の MIG を構成するには、ベータ版の
updateコマンドを使用します。gcloud beta compute instance-groups managed update MIG_NAME \ --on-repair-allow-changing-zone=YES \ --force-update-on-repair \ --region=REGION代替ゾーンで VM を修復できる MIG を作成するには、ベータ版の
createコマンドを使用します。gcloud beta compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=SIZE \ --zones=ZONES \ --target-distribution-shape=SHAPE \ --instance-redistribution-type=none \ --on-repair-allow-changing-zone=YES \ --force-update-on-repair次のように置き換えます。
MIG_NAME: MIG の名前。INSTANCE_TEMPLATE_URL: MIG で VM の作成に使用するインスタンス テンプレートの URL。この URL には、インスタンス テンプレートの ID または名前を含めることができます。次のいずれかの値を指定します。- リージョン インスタンス テンプレートの場合:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - グローバル インスタンス テンプレートの場合:
INSTANCE_TEMPLATE_ID
- リージョン インスタンス テンプレートの場合:
SIZE: MIG のターゲット サイズ。ZONES: MIG に VM を作成するリージョン内のゾーンのリスト。SHAPE: ターゲット分配形態。この値はbalancedまたはanyのいずれかになります。REGION: MIG が配置されているリージョン。
Terraform
MIG 内の各 VM に必要なマシンタイプ、ブートディスク イメージ、ネットワーク、その他の VM プロパティを指定するインスタンス テンプレートをまだ作成していない場合は、インスタンス テンプレートを作成します。
代替ゾーンで VM を修復できる MIG を作成するには、
google_compute_region_instance_group_managerリソースを使用します。Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
REST
代替ゾーンで VM を修復するように既存の MIG を構成するには、ベータ版の
regionInstanceGroupManagers.patchメソッドを使用します。PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME { "instanceLifecyclePolicy": { "onRepair": { "allowChangingZone": "YES" }, "forceUpdateOnRepair": "YES" } }代替ゾーンで VM を修復できる MIG を作成するには、ベータ版の
regionInstanceGroupManagers.insertメソッドを使用します。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "MIG_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "targetSize": SIZE, "distributionPolicy": { "targetShape": "SHAPE" } "updatePolicy": { "instanceRedistributionType": none } "instanceLifecyclePolicy": { "forceUpdateOnRepair": "YES", "onRepair": { "allowChangingZone": "YES" } } }次のように置き換えます。
PROJECT_ID: 実際のプロジェクト ID。REGION: MIG が配置されているリージョン。MIG_NAME: MIG の名前。INSTANCE_TEMPLATE_URL: MIG で VM の作成に使用するインスタンス テンプレートの URL。この URL には、インスタンス テンプレートの ID または名前を含めることができます。次のいずれかの値を指定します。- リージョン インスタンス テンプレートの場合:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - グローバル インスタンス テンプレートの場合:
INSTANCE_TEMPLATE_ID
- リージョン インスタンス テンプレートの場合:
SIZE: MIG のターゲット サイズ。SHAPE: ターゲット分配形態。この値はBALANCEDまたはANYのいずれかになります。
代替ゾーンでの修復を禁止する
代替ゾーンで VM を修復するように MIG を構成した場合は、MIG が元のゾーンで VM を修復するデフォルト設定に戻すことができます。
代替ゾーンでの修復を禁止するには、次のいずれかのオプションを選択します。
コンソール
Google Cloud コンソールで、[インスタンス グループ] ページに移動します。
MIG の名前をクリックします。
[編集] をクリックします。
[VM インスタンスのライフサイクル] セクションに移動します。
[VM インスタンス修復中のゾーンの変更] セクションで、[代替ゾーンでの VM の修復を許可する] チェックボックスをオフにします。
[保存] をクリックします。
gcloud
代替ゾーンで修復を禁止するには、ベータ版の
updateコマンドを使用します。gcloud beta compute instance-groups managed update MIG_NAME \ --on-repair-allow-changing-zone=NO \ --region=REGION次のように置き換えます。
MIG_NAME: MIG の名前。REGION: MIG が配置されているリージョン。
REST
代替ゾーンでの修復を禁止するには、ベータ版の
regionInstanceGroupManagers.patchメソッドを使用します。PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME { "instanceLifecyclePolicy": { "onRepair": { "allowChangingZone": "NO" } } }次のように置き換えます。
PROJECT_ID: 実際のプロジェクト ID。REGION: MIG が配置されているリージョン。MIG_NAME: MIG の名前。
次のステップ
- MIG で修復構成を確認する
- マネージド インスタンスを一覧表示して、VM のゾーンを確認する
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-12-04 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-12-04 UTC。"],[],[]] -