このドキュメントでは、ホストイベント中の動作を決定するために、Compute Engine インスタンスのホスト メンテナンス ポリシーを設定する方法について説明します。ホスト メンテナンス ポリシーの詳細については、ホスト メンテナンス ポリシーをご覧ください。
ホスト メンテナンス ポリシーは、インスタンスが実行されているホストでメンテナンスが必要になった場合やエラーが発生した場合に、インスタンスがどのように応答するかを決定します。インスタンスのホスト メンテナンス ポリシーを構成すると、次のことができます。
ダウンタイムの最小化。
データ損失の防止。
制限事項
ホスト メンテナンス ポリシーには、次の制限が適用されます。
E2 マシンタイプを使用する仮想マシン インスタンスは、Spot VM またはプリエンプティブル VM でない限り、ホスト メンテナンス イベント中にのみライブ マイグレーションできます。
次のインスタンスは、ホスト メンテナンス イベント中にのみ停止できます。
ライブ マイグレーションをサポートしていないインスタンス。たとえば、18 TiB を超える Titanium SSD がアタッチされた Z3 インスタンス、ベアメタル インスタンス、GPU が割り当てられた VM など。
Spot VM またはプリエンプティブル VM。
Spot VM とプリエンプティブル VM は、ホストエラーやプログラムによる停止後に自動的に再起動できません。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- インスタンスを作成する:
- プロジェクトに対する
compute.instances.create
- カスタム イメージを使用して VM を作成する: イメージに対する
compute.images.useReadOnly
- スナップショットを使用して VM を作成する: スナップショットに対する
compute.snapshots.useReadOnly
- インスタンス テンプレートを使用して VM を作成する: インスタンス テンプレートに対する
compute.instanceTemplates.useReadOnly
- レガシー ネットワークを VM に割り当てる: プロジェクトに対する
compute.networks.use
- VM の静的 IP アドレスを指定する: プロジェクトに対する
compute.addresses.use
- レガシー ネットワークの使用時に VM に外部 IP アドレスを割り当てる: プロジェクトに対する
compute.networks.useExternalIp
- VM のサブネットを指定する: プロジェクトまたは選択したサブネットに対する
compute.subnetworks.use
- VPC ネットワークの使用時に VM に外部 IP アドレスを割り当てる: プロジェクトまたは選択したサブネットに対する
compute.subnetworks.useExternalIp
- VM の VM インスタンス メタデータを設定する: プロジェクトに対する
compute.instances.setMetadata
- VM にタグを設定する: VM に対する
compute.instances.setTags
- VM にラベルを設定する: VM に対する
compute.instances.setLabels
- VM が使用するサービス アカウントを設定する: VM に対する
compute.instances.setServiceAccount
- VM に新しいディスクを作成する: プロジェクトに対する
compute.disks.create
- 既存のディスクを読み取り専用モードまたは読み取り / 書き込みモードでアタッチする: ディスクに対する
compute.disks.use
- 既存のディスクを読み取り専用モードでアタッチする: ディスクに対する
compute.disks.useReadOnly
- プロジェクトに対する
-
インスタンス テンプレートを作成する: プロジェクトに対する
compute.instanceTemplates.create
-
インスタンスのホスト メンテナンス ポリシーを更新する:
インスタンスに対する
compute.instances.setScheduling
メンテナンス動作(
onHostMaintenance
): ホストでメンテナンス イベントが発生し、インスタンスの再起動が発生する可能性がある場合のインスタンスの動作。このプロパティは、次のいずれかに設定できます。移行: Compute Engine は、インスタンスを別のホストに自動的にライブ マイグレーションします。これは、Spot VM とプリエンプティブル VM を除くすべてのタイプのインスタンスのデフォルトの設定です。
終了: Compute Engine がインスタンスを停止します。これは、Spot VM またはプリエンプティブル VM のデフォルトの設定です。また、18 TiB を超える Titanium SSD がアタッチされた Z3 インスタンス、ベアメタル インスタンス、GPU または TPU が割り当てられたインスタンスでサポートされている唯一の設定です。
自動再起動(
automaticRestart
): インスタンスがクラッシュした場合にインスタンスを再起動するかどうか、またはメンテナンス イベントなどのプログラムによる停止のために Compute Engine がインスタンスを停止するかどうか。このプロパティは、次のいずれかに設定できます。オン: Compute Engine はインスタンスを自動的に再起動します。これは、Spot VM とプリエンプティブル VM を除くすべてのタイプのインスタンスのデフォルトの設定です。この設定は次のように指定します。
Google Cloud コンソールの [詳細] ペインの [自動再起動] リストで、[オン(推奨)] を選択します。
Google Cloud CLI の場合は、
--restart-on-failure
フラグを使用します。REST の場合は、
automaticRestart
フィールドをtrue
に設定します。
オフ: Compute Engine はインスタンスを再起動しません。これは、Spot VM またはプリエンプティブル VM のデフォルトの設定です。この設定は次のように指定します。
Google Cloud コンソールの [詳細] ペインの [自動再起動] リストで、[オフ] を選択します。
gcloud CLI の場合は、
--no-restart-on-failure
フラグを使用します。REST の場合は、
automaticRestart
フィールドをfalse
に設定します。
ローカル SSD のデータ復元タイムアウト(
localSsdRecoveryTimeout
): この設定は、ローカル SSD ディスクがアタッチされているインスタンスにのみ適用されます。これにより、ホストエラーの発生後に Compute Engine がローカル SSD ディスクからデータを復元するまでの待機時間が決まります。デフォルトでは、このプロパティは設定されていません。このプロパティは、次のいずれかに設定できます。設定なし: Compute Engine はデフォルトの待機時間を使用します。
Z3 VM の場合は 6 時間です。
他のすべてのタイプのインスタンスの場合は 1 時間です。
0~168 の整数: 待機する時間数。このプロパティを
0
に設定すると、Compute Engine はローカル SSD データを復元せず、インスタンスを直ちに再起動します。
ホストエラーのタイムアウト(
hostErrorTimeoutSeconds
): このプロパティは、応答しないインスタンスを再起動するまでに Compute Engine が待機する時間を決定します。この設定は、インスタンスが応答しなくなる前に構成する必要があります。インスタンスが応答不能から復旧するのに十分な長さのタイムアウトを設定します。このプロパティは、次のいずれかに設定できます。設定なし: Compute Engine は最大 330 秒(5 分 30 秒)待機します。これは、あらゆるタイプのインスタンスのデフォルトの設定です。
90~330 の整数: 待機時間(秒単位、30 秒単位で指定)。
次のタイプのインスタンスのメンテナンス動作(
onHostMaintenance
)は変更できません。E2 マシンタイプを使用する VM。
Spot VM またはプリエンプティブル VM。
ライブ マイグレーションをサポートしていないインスタンス。
ホストエラーまたはプログラムによる停止後に自動的に再起動するように Spot VM またはプリエンプティブル VM を構成することはできません。
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
[名前] 列で、更新するインスタンスの名前をクリックします。インスタンスの詳細を示すページが開きます。
[
編集] をクリックします。インスタンスのプロパティを編集できるページが表示されます。[管理] セクションで、次の 1 つ以上の操作を行うことができます。
メンテナンス イベント中の動作を変更するには、[ホスト メンテナンス時] リストから別のオプションを選択します。
応答しないインスタンスを再起動するまでのタイムアウト期間を変更するには、[ホストエラーのタイムアウト] リストから別のオプションを選択します。
ホストエラーまたはプログラムによる停止後にインスタンスを再起動するかどうかを変更するには、[自動再起動] リストから別のオプションを選択します。
[保存] をクリックします。
ホスト メンテナンスの動作を変更するには、
--maintenance-policy
フラグを含めます。自動再起動の動作を変更するには、次のいずれかを行います。
インスタンスを自動的に再起動するには、
--restart-on-failure
フラグを指定します。インスタンスが自動的に再起動されないようにするには、
--no-restart-on-failure
フラグを指定します。
インスタンスにローカル SSD ディスクがアタッチされている場合にローカル SSD データの復元タイムアウトを変更するには、
--local-ssd-recovery-timeout
フラグを指定します。ホストエラーのタイムアウトを変更するには、
--host-error-timeout-seconds
フラグを含めます。INSTANCE_NAME
: インスタンスの名前。ERROR_DETECTION_TIMEOUT
: 応答しないインスタンスを Compute Engine が再起動するまでの秒数。値は90
(90 秒)から330
(330 秒、5 分 30 秒)の範囲で指定してください。30 秒単位で指定できます。MAINTENANCE_POLICY
: インスタンスのメンテナンス動作。値はTERMINATE
またはMIGRATE
のいずれかです。LOCAL_SSD_RECOVERY_TIMEOUT
: アタッチされたローカル SSD ディスクからデータの復元に費やす時間。値は0
(0 時間)~168
(168 時間、7 日間)の範囲で指定する必要があります。このフィールドを0
に設定すると、Compute Engine はローカル SSD データを復元しません。ZONE
: インスタンスが存在するゾーン。ホスト メンテナンスの動作を変更するには、
onHostMaintenance
フィールドを含めます。自動再起動の動作を変更するには、次のいずれかを行います。
インスタンスを自動的に再起動するには、
automaticRestart
フィールドを含めます。インスタンスが自動的に再起動しないようにするには、
automaticRestart
フィールドを含めます。
インスタンスにローカル SSD ディスクがアタッチされている場合にローカル SSD データの復元タイムアウトを変更するには、
localSsdRecoveryTimeout
フィールドを含めます。ホストエラーのタイムアウトを変更するには、
hostErrorTimeoutSeconds
フィールドを含めます。PROJECT_ID
: インスタンスが存在するプロジェクトの ID。ZONE
: インスタンスが存在するゾーン。INSTANCE_NAME
: インスタンスの名前。AUTOMATIC_RESTART
: インスタンスがクラッシュした場合、または Compute Engine がプログラムによる停止のためにインスタンスを停止した場合の、インスタンスの自動再起動の動作。次のいずれかの値を指定します。Compute Engine でインスタンスを自動的に再起動できるようにするには:
true
自動再起動を防止するには:
false
ERROR_DETECTION_TIMEOUT
: 応答しないインスタンスを再起動するまでの秒数。値は90
(90 秒)から330
(330 秒、5 分 30 秒)の範囲で指定してください。30 秒単位で指定できます。LOCAL_SSD_RECOVERY_TIMEOUT
: アタッチされたローカル SSD ディスクからデータの復元に費やす時間。値は0
(0 時間)~168
(168 時間、7 日間)の範囲で指定する必要があります。このフィールドを0
に設定すると、Compute Engine はローカル SSD データを復元しません。MAINTENANCE_POLICY
: インスタンスのメンテナンス動作。値はTERMINATE
またはMIGRATE
のいずれかです。Google Cloud コンソールで [インスタンスの作成] ページに移動します。
[名前] フィールドに、インスタンスの名前を入力します。
[リージョン] フィールドと [ゾーン] フィールドで、インスタンスを作成するリージョンとゾーンを指定します。
インスタンスのマシンタイプを指定します。
ナビゲーション メニューで、[詳細設定] をクリックします。
[プロビジョニング モデル] セクションで、[VM プロビジョニング モデルの詳細設定] を開き、次のいずれかを行います。
メンテナンス イベント中の動作を設定するには、[ホスト メンテナンス時] リストで次のいずれかのオプションを選択します。
ホスト メンテナンス イベント中にインスタンスを移行するには、[VM インスタンスを移行(推奨)] を選択します。
ホスト メンテナンス イベント中にインスタンスを停止するには、[VM インスタンスを終了] を選択します。
応答しないインスタンスを再起動するまでのタイムアウト期間を設定するには、[ホストエラーのタイムアウト] リストで次のいずれかのオプションを選択します。
ホストエラーのタイムアウトを指定しない場合は、[未指定(デフォルト)] を選択します。
ホストエラーのタイムアウトを指定するには、使用可能なオプションのいずれか(最大 5 分 30 秒)を選択します。
インスタンスがクラッシュまたは停止した場合に再起動するかどうかを設定するには、[自動再起動] リストで次のいずれかのオプションを選択します。
ホストエラーまたはプログラムによる停止後にインスタンスを自動的に再起動するには、[オン(推奨)] を選択します。
ホストエラーまたはプログラムによる停止後にインスタンスが自動的に再起動しないようにするには、[オフ] を選択します。
[作成] をクリックします。
ホストのメンテナンス動作を設定するには、
--maintenance-policy
フラグを含めます。自動再起動の動作を設定するには、次のいずれかを行います。
インスタンスを自動的に再起動するには、
--restart-on-failure
フラグを指定します。インスタンスが自動的に再起動されないようにするには、
--no-restart-on-failure
フラグを指定します。
インスタンスにローカル SSD ディスクがアタッチされている場合にローカル SSD データ復元タイムアウトを設定するには、
--local-ssd-recovery-timeout
フラグを追加します。ホストエラーのタイムアウトを設定するには、
--host-error-timeout-seconds
フラグを含めます。INSTANCE_NAME
: インスタンスの名前。ERROR_DETECTION_TIMEOUT
: 応答しないインスタンスを再起動するまでの秒数。値は90
(90 秒)から330
(330 秒、5 分 30 秒)の範囲で指定してください。30 秒単位で指定できます。LOCAL_SSD_RECOVERY_TIMEOUT
: アタッチされたローカル SSD ディスクからデータの復元に費やす時間。値は0
(0 時間)~168
(168 時間、7 日間)の範囲で指定する必要があります。このフィールドを0
に設定すると、Compute Engine はローカル SSD データを復元しません。MACHINE_TYPE
: 使用するマシンタイプ。MAINTENANCE_POLICY
: インスタンスのメンテナンス動作。値はTERMINATE
またはMIGRATE
のいずれかです。Spot VM、プリエンプティブル VM、またはライブ マイグレーションをサポートしていないインスタンスを作成する場合は、TERMINATE
のみを使用できます。ZONE
: インスタンスを作成するゾーン。ホスト メンテナンスの動作を設定するには、
onHostMaintenance
フィールドを含めます。自動再起動の動作を設定するには、次のいずれかを行います。
インスタンスを自動的に再起動するには、
automaticRestart
フィールドを含めます。インスタンスが自動的に再起動しないようにするには、
automaticRestart
フィールドを含めます。
インスタンスにローカル SSD ディスクがアタッチされている場合にローカル SSD データ復元タイムアウトを設定するには、
localSsdRecoveryTimeout
フィールドを含めます。ホストエラーのタイムアウトを設定するには、
hostErrorTimeoutSeconds
フィールドを含めます。PROJECT_ID
: インスタンスを作成するプロジェクトの ID。ZONE
: インスタンスを作成するゾーン。INSTANCE_NAME
: インスタンスの名前。MACHINE_TYPE
: 使用するマシンタイプ。IMAGE_PROJECT
: イメージを含むイメージ プロジェクト(例:debian-cloud
)。サポートされているイメージ プロジェクトの詳細については、公開イメージをご覧ください。IMAGE
: 次のいずれかを指定します。OS イメージの特定のバージョン。例:
debian-12-bookworm-v20240617
。イメージ ファミリー。
family/IMAGE_FAMILY
の形式にする必要があります。これにより、非推奨ではない最新の OS イメージが指定されます。たとえば、family/debian-12
を指定すると、Debian 12 イメージ ファミリーの最新バージョンが使用されます。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。
AUTOMATIC_RESTART
: インスタンスがクラッシュした場合、または Compute Engine がプログラムによる停止のためにインスタンスを停止した場合の、インスタンスの自動再起動の動作。次のいずれかの値を指定します。Compute Engine でインスタンスを自動的に再起動できるようにするには:
true
自動再起動を防止するには:
false
ERROR_DETECTION_TIMEOUT
: 応答しないインスタンスを再起動するまでの秒数。値は90
(90 秒)から330
(330 秒、5 分 30 秒)の範囲で指定してください。30 秒単位で指定できます。LOCAL_SSD_RECOVERY_TIMEOUT
: アタッチされたローカル SSD ディスクからデータの復元に費やす時間。値は0
(0 時間)~168
(168 時間、7 日間)の範囲で指定する必要があります。このフィールドを0
に設定すると、Compute Engine はローカル SSD データを復元しません。MAINTENANCE_POLICY
: インスタンスのメンテナンス動作。値はTERMINATE
またはMIGRATE
のいずれかです。ライブ マイグレーションをサポートしていない Spot VM またはインスタンスを作成する場合は、TERMINATE
のみを使用できます。ホストのメンテナンス動作を設定するには、
--maintenance-policy
フラグを含めます。自動再起動の動作を設定するには、次のいずれかを行います。
インスタンスを自動的に再起動するには、
--restart-on-failure
フラグを指定します。インスタンスが自動的に再起動されないようにするには、
--no-restart-on-failure
フラグを指定します。
インスタンスにローカル SSD ディスクがアタッチされている場合にローカル SSD データ復元タイムアウトを設定するには、
--local-ssd-recovery-timeout
フラグを追加します。ホストエラーのタイムアウトを設定するには、
--host-error-timeout-seconds
フラグを含めます。COUNT
: 作成するインスタンスの数。ERROR_DETECTION_TIMEOUT
: 応答しないインスタンスを再起動するまでの秒数。値は90
(90 秒)から330
(330 秒、5 分 30 秒)の範囲で指定してください。30 秒単位で指定できます。LOCAL_SSD_RECOVERY_TIMEOUT
: アタッチされたローカル SSD ディスクからデータの復元に費やす時間。値は0
(0 時間)~168
(168 時間、7 日間)の範囲で指定する必要があります。このフィールドを0
に設定すると、Compute Engine はローカル SSD データを復元しません。MACHINE_TYPE
: 使用するマシンタイプ。MAINTENANCE_POLICY
: インスタンスのメンテナンス動作。値はTERMINATE
またはMIGRATE
のいずれかです。ライブ マイグレーションをサポートしていない Spot VM、プリエンプティブル VM、インスタンスを作成する場合は、TERMINATE
のみを使用できます。NAME_PATTERN
: インスタンスの名前パターン。インスタンス名の一連の数字を置き換えるには、一連のハッシュ(#
)文字を使用します。たとえば、名前パターンにinstance-#
を使用すると、instance-1
、instance-2
で始まり、COUNT
で指定されたインスタンスの数まで続く名前のインスタンスが生成されます。ZONE
: インスタンスを作成するゾーン。ホスト メンテナンスの動作を設定するには、
onHostMaintenance
フィールドを含めます。自動再起動の動作を設定するには、次のいずれかを行います。
インスタンスを自動的に再起動するには、
automaticRestart
フィールドを含めます。インスタンスが自動的に再起動しないようにするには、
automaticRestart
フィールドを含めます。
インスタンスにローカル SSD ディスクがアタッチされている場合にローカル SSD データ復元タイムアウトを設定するには、
localSsdRecoveryTimeout
フィールドを含めます。ホストエラーのタイムアウトを設定するには、
hostErrorTimeoutSeconds
フィールドを含めます。PROJECT_ID
: インスタンスを作成するプロジェクトの ID。ZONE
: インスタンスを作成するゾーン。COUNT
: 作成するインスタンスの数。NAME_PATTERN
: インスタンスの名前パターン。インスタンス名の一連の数字を置き換えるには、一連のハッシュ(#
)文字を使用します。たとえば、名前パターンにinstance-#
を使用すると、instance-1
、instance-2
で始まり、COUNT
で指定されたインスタンスの数まで続く名前のインスタンスが生成されます。MACHINE_TYPE
: 使用するマシンタイプ。IMAGE_PROJECT
: イメージを含むイメージ プロジェクト(例:debian-cloud
)。サポートされているイメージ プロジェクトの詳細については、公開イメージをご覧ください。IMAGE
: 次のいずれかを指定します。OS イメージの特定のバージョン。例:
debian-12-bookworm-v20240617
。イメージ ファミリー。
family/IMAGE_FAMILY
の形式にする必要があります。これにより、非推奨ではない最新の OS イメージが指定されます。たとえば、family/debian-12
を指定すると、Debian 12 イメージ ファミリーの最新バージョンが使用されます。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。
AUTOMATIC_RESTART
: インスタンスがクラッシュした場合、または Compute Engine がプログラムによる停止のためにインスタンスを停止した場合の、インスタンスの自動再起動の動作。次のいずれかの値を指定します。Compute Engine でインスタンスを自動的に再起動できるようにするには:
true
自動再起動を防止するには:
false
ERROR_DETECTION_TIMEOUT
: 応答しないインスタンスを再起動するまでの秒数。値は90
(90 秒)から330
(330 秒、5 分 30 秒)の範囲で指定してください。30 秒単位で指定できます。LOCAL_SSD_RECOVERY_TIMEOUT
: アタッチされたローカル SSD ディスクからデータの復元に費やす時間。値は0
(0 時間)~168
(168 時間、7 日間)の範囲で指定する必要があります。このフィールドを0
に設定すると、Compute Engine はローカル SSD データを復元しません。MAINTENANCE_POLICY
: インスタンスのメンテナンス動作。値はTERMINATE
またはMIGRATE
のいずれかです。ライブ マイグレーションをサポートしていない Spot VM、プリエンプティブル VM、インスタンスを作成する場合は、TERMINATE
のみを使用できます。Google Cloud コンソールで、[インスタンス テンプレート] ページに移動します。
[インスタンス テンプレートを作成] をクリックします。[インスタンス テンプレートの作成] ページが表示されます。
[名前] フィールドに、インスタンス テンプレートの名前を入力します。
[ロケーション] セクションで、次のいずれかのオプションを選択します。
リージョン インスタンス テンプレートを作成するには、[リージョン(推奨)] を選択し、テンプレートを作成するリージョンを選択します。
グローバル インスタンス テンプレートを作成するには、[グローバル] を選択します。
[マシンの構成] セクションで、インスタンス テンプレートのマシンタイプを指定します。
[プロビジョニング モデル] セクションで、[VM プロビジョニング モデルの詳細設定] を開き、次のいずれかを行います。
メンテナンス イベント中の動作を変更するには、[ホスト メンテナンス時] リストで次のいずれかのオプションを選択します。
ホスト メンテナンス イベント中にインスタンスを移行するには、[VM インスタンスを移行(推奨)] を選択します。
ホスト メンテナンス イベント中にインスタンスを停止するには、[VM インスタンスを終了] を選択します。
応答しないインスタンスを再起動するまでのタイムアウト期間を変更するには、[ホストエラーのタイムアウト] リストで次のいずれかのオプションを選択します。
ホストエラーのタイムアウトを指定しない場合は、[未指定(デフォルト)] を選択します。
ホストエラーのタイムアウトを指定するには、使用可能なオプションのいずれか(最大 5 分 30 秒)を選択します。
インスタンスがクラッシュまたは停止した場合に再起動するかどうかを変更するには、[自動再起動] リストで次のいずれかのオプションを選択します。
ホストエラーまたはプログラムによる停止後にインスタンスを自動的に再起動するには、[オン(推奨)] を選択します。
ホストエラーまたはプログラムによる停止後にインスタンスが自動的に再起動しないようにするには、[オフ] を選択します。
[作成] をクリックします。
ホスト メンテナンスの動作を設定するには、
onHostMaintenance
フィールドを含めます。自動再起動の動作を設定するには、次のいずれかを行います。
インスタンスを自動的に再起動するには、
automaticRestart
フィールドを含めます。インスタンスが自動的に再起動しないようにするには、
automaticRestart
フィールドを含めます。
インスタンスにローカル SSD ディスクがアタッチされている場合にローカル SSD データ復元タイムアウトを設定するには、
localSsdRecoveryTimeout
フィールドを含めます。ホストエラーのタイムアウトを設定するには、
hostErrorTimeoutSeconds
フィールドを含めます。INSTANCE_TEMPLATE_NAME
: インスタンス テンプレートの名前。ERROR_DETECTION_TIMEOUT
: 応答しないインスタンスを再起動するまでの秒数。値は90
(90 秒)から330
(330 秒、5 分 30 秒)の範囲で指定してください。30 秒単位で指定できます。REGION
: インスタンス テンプレートを作成するリージョン。LOCAL_SSD_RECOVERY_TIMEOUT
: アタッチされたローカル SSD ディスクからデータの復元に費やす時間。値は0
(0 時間)~168
(168 時間、7 日間)の範囲で指定する必要があります。このフィールドを0
に設定すると、Compute Engine はローカル SSD データを復元しません。MACHINE_TYPE
: 使用するマシンタイプ。MAINTENANCE_POLICY
: インスタンスのメンテナンス動作。値はTERMINATE
またはMIGRATE
のいずれかです。インスタンス テンプレートでライブ マイグレーションをサポートしていない Spot VM、プリエンプティブル VM、またはインスタンス タイプを指定する場合は、TERMINATE
のみを使用できます。リージョン インスタンス テンプレートを作成する:
regionInstanceTemplates.insert
メソッドグローバル インスタンス テンプレートを作成する:
instanceTemplates.insert
メソッドホスト メンテナンスの動作を設定するには、
onHostMaintenance
フィールドを含めます。自動再起動の動作を設定するには、次のいずれかを行います。
インスタンスを自動的に再起動するには、
automaticRestart
フィールドを含めます。インスタンスが自動的に再起動しないようにするには、
automaticRestart
フィールドを含めます。
インスタンスにローカル SSD ディスクがアタッチされている場合にローカル SSD データ復元タイムアウトを設定するには、
localSsdRecoveryTimeout
フィールドを含めます。ホストエラーのタイムアウトを設定するには、
hostErrorTimeoutSeconds
フィールドを含めます。PROJECT_ID
: インスタンス テンプレートを作成するプロジェクトの ID。REGION
: インスタンス テンプレートを作成するリージョン。INSTANCE_TEMPLATE_NAME
: インスタンス テンプレートの名前。IMAGE_PROJECT
: イメージを含むイメージ プロジェクト(例:debian-cloud
)。サポートされているイメージ プロジェクトの詳細については、公開イメージをご覧ください。IMAGE
: 次のいずれかを指定します。OS イメージの特定のバージョン。例:
debian-12-bookworm-v20240617
。イメージ ファミリー。
family/IMAGE_FAMILY
の形式にする必要があります。これにより、非推奨ではない最新の OS イメージが指定されます。たとえば、family/debian-12
を指定すると、Debian 12 イメージ ファミリーの最新バージョンが使用されます。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。
MACHINE_TYPE
: 使用するマシンタイプ。AUTOMATIC_RESTART
: インスタンスがクラッシュした場合、または Compute Engine がプログラムによる停止のためにインスタンスを停止した場合の、インスタンスの自動再起動の動作。次のいずれかの値を指定します。Compute Engine でインスタンスを自動的に再起動できるようにするには:
true
自動再起動を防止するには:
false
ERROR_DETECTION_TIMEOUT
: 応答しないインスタンスを再起動するまでの秒数。値は90
(90 秒)から330
(330 秒、5 分 30 秒)の範囲で指定してください。30 秒単位で指定できます。LOCAL_SSD_RECOVERY_TIMEOUT
: アタッチされたローカル SSD ディスクからデータの復元に費やす時間。値は0
(0 時間)~168
(168 時間、7 日間)の範囲で指定する必要があります。このフィールドを0
に設定すると、Compute Engine はローカル SSD データを復元しません。MAINTENANCE_POLICY
: インスタンスのメンテナンス動作。値はTERMINATE
またはMIGRATE
のいずれかです。インスタンス テンプレートでライブ マイグレーションをサポートしていない Spot VM、プリエンプティブル VM、またはインスタンス タイプを指定する場合は、TERMINATE
のみを使用できます。Google Cloud コンソールで、[VM インスタンス] ページに移動します。
[名前] 列で、表示するインスタンスをクリックします。インスタンスの詳細を示すページが開きます。
[詳細] タブの [管理] セクションの [可用性ポリシー] セクションで、次の情報を確認できます。
[ホスト メンテナンス中] フィールドに、インスタンスのホスト メンテナンス動作イベントが表示されます。
[ホストエラーのタイムアウト] フィールドには、インスタンスが応答していないことを検出した後、インスタンスの再起動または停止を待機する時間が表示されます。値が設定されていない場合(—)、デフォルトの待機時間は 5 分 30 秒です。
[自動再起動] フィールドには、インスタンスがクラッシュした後にインスタンスが自動的に再起動されるか、Compute Engine がプログラムによる停止のためにインスタンスを停止するのかが表示されます。
INSTANCE_NAME
: インスタンスの名前。ZONE
: インスタンスが配置されているゾーン。PROJECT_ID
: インスタンスが存在するプロジェクト。ZONE
: インスタンスが存在するゾーン。INSTANCE_NAME
: インスタンスの名前。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロール
コンピューティング インスタンスのホスト メンテナンス ポリシーを設定するために必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。この事前定義ロールには、コンピューティング インスタンスのホスト メンテナンス ポリシーを設定するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
コンピューティング インスタンスのホスト メンテナンス ポリシーを設定するには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
利用可能なホスト メンテナンス プロパティ
スケジュールされたメンテナンスや予期しないホストイベント中にコンピューティング インスタンスがどのように動作するかをカスタマイズできます。特に指定しない限り、Compute Engine は、インスタンスの作成、インスタンスの一括作成、インスタンス テンプレートの作成時にデフォルトの設定を使用します。
次のホスト メンテナンス プロパティを構成できます。
インスタンスのホスト メンテナンス ポリシーを設定する
デフォルトでは、コンピューティング インスタンスはホスト メンテナンス ポリシーのデフォルトの設定を使用します。これらの設定をカスタマイズするには、次のいずれかの方法を使用します。
既存のインスタンスのポリシーを設定する
既存のインスタンスのホスト メンテナンス ポリシーを変更する前に、次のことを確認してください。
ローカル SSD ディスクがアタッチされているインスタンスでローカル SSD データ復旧のタイムアウトを変更するには、gcloud CLI または REST API を使用します。それ以外の場合は、次のいずれかのオプションを選択します。
コンソール
gcloud
既存のインスタンスでホスト メンテナンス ポリシーを変更するには、次のフラグを 1 つ以上指定して
gcloud compute instances set-scheduling
コマンドを使用します。たとえば、ホスト メンテナンスの動作を変更し、ホストエラーまたはプログラムによる停止後にインスタンスを自動的に再起動して、ローカル SSD データ復元タイムアウトとホストエラー タイムアウトを変更するには、次のコマンドを実行します。
gcloud compute instances set-scheduling INSTANCE_NAME \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \ --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \ --maintenance-policy=MAINTENANCE_POLICY \ --restart-on-failure \ --zone=ZONE
次のように置き換えます。
REST
既存のインスタンスのホスト メンテナンス ポリシーを変更するには、
instances.setScheduling
メソッドにPOST
リクエストを送信します。リクエスト本文に、次のフィールドを 1 つ以上含めます。たとえば、ホスト メンテナンスの動作を変更して、ホストエラーまたはプログラムによる停止後にインスタンスを自動的に再起動し、ローカル SSD データの復元タイムアウトとホストエラーのタイムアウトを変更するには、次のようにリクエストを送信します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setScheduling { "automaticRestart": AUTOMATIC_RESTART, "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT, "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT, "onHostMaintenance": "MAINTENANCE_POLICY" }
次のように置き換えます。
インスタンスの作成時にポリシーを設定する
コンピューティング インスタンスのホスト メンテナンス ポリシーは、インスタンスの作成時に設定できます。
ローカル SSD ディスクがアタッチされたインスタンスを作成するときにローカル SSD データ復元のタイムアウトを設定するには、gcloud CLI または REST API を使用します。それ以外の場合は、次のいずれかのオプションを選択します。
コンソール
gcloud
インスタンスの作成時にホスト メンテナンス ポリシーを設定するには、次のフラグを 1 つ以上指定して
gcloud compute instances create
コマンドを使用します。たとえば、ホストのメンテナンス動作を設定して、ホストエラーまたはプログラムによる停止後にインスタンスを自動的に再起動し、ローカル SSD データの復元タイムアウトとホストエラー タイムアウトを設定するには、次のコマンドを実行します。
gcloud compute instances create INSTANCE_NAME \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \ --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --restart-on-failure \ --zone=ZONE
次のように置き換えます。
REST
インスタンスの作成時にホスト メンテナンス ポリシーを設定するには、
instances.insert
メソッドにPOST
リクエストを送信します。リクエスト本文のscheduling
フィールドに、次のフィールドを 1 つ以上含めます。たとえば、ホスト メンテナンスの動作を設定して、ホストエラーまたはプログラムによる停止後にインスタンスを自動的に再起動し、ローカル SSD データの復元タイムアウトとホストエラーのタイムアウトを設定する場合は、次のようにリクエストを送信します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "automaticRestart": AUTOMATIC_RESTART, "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT, "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT, "onHostMaintenance": "MAINTENANCE_POLICY" } }
次のように置き換えます。
インスタンスの作成の詳細については、Compute Engine インスタンスの作成と開始をご覧ください。
インスタンスの一括作成時にポリシーを設定する
インスタンスを一括作成するときにホスト メンテナンス ポリシーを設定するには、次のいずれかのオプションを選択します。
gcloud
インスタンスを一括で作成するときにホスト メンテナンス ポリシーを設定するには、次のフラグを 1 つ以上使用して
gcloud compute instances bulk create
コマンドを使用します。たとえば、ホストのメンテナンス動作を設定して、ホストエラーまたはプログラムによる停止後にインスタンスを自動的に再起動し、ローカル SSD データの復元タイムアウトとホストエラー タイムアウトを設定するには、次のコマンドを実行します。次の例でも、単一のゾーンにインスタンスを作成し、インスタンスの名前パターンを指定します。
gcloud compute instances bulk create \ --count=COUNT \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \ --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --name-pattern=NAME_PATTERN \ --restart-on-failure \ --zone=ZONE
次のように置き換えます。
REST
インスタンスを一括作成するときにホスト メンテナンス ポリシーを設定するには、
instances.bulkInsert
メソッドにPOST
リクエストを送信します。リクエスト本文のscheduling
フィールドに、次のフィールドを 1 つ以上含めます。たとえば、ホスト メンテナンスの動作を設定して、ホストエラーまたはプログラムによる停止後にインスタンスを自動的に再起動し、ローカル SSD データの復元タイムアウトとホストエラーのタイムアウトを設定する場合は、次のようにリクエストを送信します。次の例でも、単一のゾーンにインスタンスを作成し、インスタンスの名前パターンを指定します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": COUNT, "namePattern": "NAME_PATTERN", "instanceProperties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "automaticRestart": AUTOMATIC_RESTART, "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT, "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT, "onHostMaintenance": "MAINTENANCE_POLICY" } } }
次のように置き換えます。
インスタンスを一括作成する方法の詳細については、VM を一括作成するをご覧ください。
インスタンス テンプレートの作成時にポリシーを設定する
インスタンス テンプレートの作成時にホスト メンテナンス ポリシーを設定できます。テンプレートを使用して作成するすべてのコンピューティング インスタンスは、テンプレートで指定されたホスト メンテナンス ポリシーを継承します。
ローカル SSD ディスクを指定するインスタンス テンプレートを作成する際にローカル SSD データ復旧のタイムアウトを設定するには、gcloud CLI または REST API を使用します。それ以外の場合は、次のいずれかのオプションを選択します。
コンソール
gcloud
インスタンス テンプレートの作成時にホスト メンテナンス ポリシーを設定するには、次のフラグを 1 つ以上指定して
gcloud compute instance-templates create
コマンドを使用します。たとえば、ホストのメンテナンス動作を設定して、ホストエラーまたはプログラムによる停止後にインスタンスを自動的に再起動し、ローカル SSD データの復元タイムアウトとホストエラー タイムアウトを設定するには、次のコマンドを実行します。次の例でも、リージョン インスタンス テンプレートを作成します。グローバル インスタンス テンプレートを作成するには、
--instance-template-region
フラグを使用せずに同じコマンドを使用します。gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \ --instance-template-region=REGION \ --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --restart-on-failure
次のように置き換えます。
REST
インスタンス テンプレートの作成時にホスト メンテナンス ポリシーを設定するには、次のいずれかのメソッドに
POST
リクエストを送信します。リクエスト本文の
scheduling
フィールドに、次のフィールドを 1 つ以上含めます。たとえば、ホスト メンテナンスの動作を設定して、ホストエラーまたはプログラムによる停止後にインスタンスを自動的に再起動し、ローカル SSD データの復元タイムアウトとホストエラーのタイムアウトを設定する場合は、次のようにリクエストを送信します。次の例でも、リージョン インスタンス テンプレートを作成します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "automaticRestart": AUTOMATIC_RESTART, "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT, "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT, "onHostMaintenance": "MAINTENANCE_POLICY" } } }
次のように置き換えます。
インスタンス テンプレートの作成の詳細については、インスタンス テンプレートを作成するをご覧ください。
インスタンスのホスト メンテナンス ポリシーを表示する
インスタンスのホスト メンテナンス ポリシーは、インスタンスの詳細を表示することで確認できます。
gcloud CLI または REST API を使用してインスタンスの詳細を表示する場合、
localSsdRecoveryTimeout
フィールドとhostErrorTimeoutSeconds
フィールドは、インスタンスの作成または更新時に指定した場合にのみ表示できます。ローカル SSD ディスクがアタッチされているインスタンスでローカル SSD データ復旧のタイムアウトを表示するには、gcloud CLI または REST API を使用します。それ以外の場合は、次のいずれかのオプションを選択します。
コンソール
gcloud
インスタンスのホスト メンテナンス ポリシーを表示するには、
--flatten
フラグをscheduling
に設定してgcloud compute instances describe
コマンドを使用します。gcloud compute instances describe INSTANCE_NAME \ --flatten=scheduling \ --zone=ZONE
次のように置き換えます。
出力は次のようになります。
--- scheduling: automaticRestart: true hostErrorTimeoutSeconds: 120 localSsdRecoveryTimeout: nanos: 0 seconds: '10800' onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD
REST
インスタンスのホスト メンテナンス ポリシーを表示するには、
instances.get
メソッドにGET
リクエストを送信します。リクエスト URL にfields
クエリ パラメータを含め、scheduling
に設定します。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?fields=scheduling
次のように置き換えます。
出力は次のようになります。
{ "scheduling": { "onHostMaintenance": "MIGRATE", "automaticRestart": true, "preemptible": false, "provisioningModel": "STANDARD", "localSsdRecoveryTimeout": { "seconds": "10800", "nanos": 0 } } }
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-24 UTC。
-