このドキュメントでは、停止または削除時にゲスト OS のシャットダウンをスキップするようにインスタンスを構成して、Compute Engine インスタンスのシャットダウン時間を短縮する方法について説明します。
停止または削除時にゲスト OS のシャットダウンをスキップするようにインスタンスを構成すると、インスタンスの状態が STOPPING
に変わったときに、Compute Engine はゲスト OS をすぐにシャットダウンします。このアクションにより、インスタンスの停止または削除が高速化され、割り当てまたはリソースをより迅速に解放できます。ゲスト OS のクリーン シャットダウンのデフォルトの間隔など、インスタンスが停止または削除中に通過するフェーズの詳細については、停止オペレーションをご覧ください。
始める前に
-
まだ設定していない場合は、認証を設定します。認証では、 Google Cloud サービスと API にアクセスするための ID が確認されます。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
gcloud
-
Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
- Set a default region and zone.
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロール
ゲスト OS のシャットダウンをスキップするようにインスタンスを構成するために必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1) (
roles/compute.instanceAdmin.v1
)IAM ロールを付与するよう管理者に依頼します。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。この事前定義ロールには、ゲスト OS のシャットダウンをスキップするようにインスタンスを構成するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
ゲスト OS のシャットダウンをスキップするようにインスタンスを構成するには、次の権限が必要です。
- インスタンスを作成する:
- プロジェクトに対する
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.update
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
ゲスト OS のシャットダウンをスキップするようにインスタンスを構成する
インスタンスの停止または削除時にゲスト OS のシャットダウンをスキップするようにコンピューティング インスタンスを構成するには、次のいずれかの方法を使用します。
既存のインスタンスでゲスト OS のシャットダウンを構成する
コンピューティング インスタンスでゲスト OS のシャットダウンをスキップするように構成できるのは、インスタンスが停止している(
TERMINATED
)場合のみです。ゲスト OS のシャットダウンをスキップするようにインスタンスを構成するには、次のいずれかのオプションを選択します。
gcloud
まだインスタンスを停止していない場合は、インスタンスを停止します。
ゲスト OS のシャットダウンをスキップするようにインスタンスを構成するには、
--skip-guest-os-shutdown
フラグを指定してgcloud beta compute instances set-scheduling
コマンドを使用します。gcloud beta compute instances set-scheduling INSTANCE_NAME \ --skip-guest-os-shutdown \ --zone=ZONE
次のように置き換えます。
INSTANCE_NAME
: インスタンスの名前。ZONE
: インスタンスが存在するゾーン。
REST
まだインスタンスを停止していない場合は、インスタンスを停止します。
ゲスト OS のシャットダウンをスキップするようにインスタンスを構成するには、ベータ版の
instances.setScheduling
メソッドにPOST
リクエストを送信します。リクエストの本文にskipGuestOsShutdown
フィールドを含め、true
に設定します。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setScheduling { "skipGuestOsShutdown": true }
インスタンスを更新する方法の詳細については、インスタンス プロパティを更新するをご覧ください。
インスタンスの作成時にゲスト OS のシャットダウンを構成する
ゲスト OS のシャットダウンをスキップするように構成されたコンピューティング インスタンスを作成するには、次のいずれかのオプションを選択します。
gcloud
ゲスト OS のシャットダウンをスキップするように構成されたインスタンスを作成するには、
--skip-guest-os-shutdown
フラグを指定してgcloud compute instances create
コマンドを使用します。gcloud compute instances create INSTANCE_NAME \ --machine-type=MACHINE_TYPE \ --skip-guest-os-shutdown \ --zone=ZONE
次のように置き換えます。
INSTANCE_NAME
: インスタンスの名前。MACHINE_TYPE
: インスタンスに使用するマシンタイプ。ZONE
: インスタンスを作成するゾーン。
REST
ゲスト OS のシャットダウンをスキップするように構成されたインスタンスを作成するには、
instances.insert
メソッドにPOST
リクエストを送信します。リクエストの本文に、true
に設定されたskipGuestOsShutdown
フィールドを含めます。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": { "skipGuestOsShutdown": true } }
次のように置き換えます。
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
を指定すると、Compute Engine は Debian 12 イメージ ファミリーの最新バージョンを使用します。イメージ ファミリーの使用方法について詳しくは、イメージ ファミリーのベスト プラクティスをご覧ください。
インスタンスの作成方法の詳細については、Compute Engine インスタンスの作成と開始をご覧ください。
インスタンスの一括作成時にゲスト OS のシャットダウンを構成する
ゲスト OS のシャットダウンをスキップするように構成されたコンピューティング インスタンスを一括作成するには、次のいずれかのオプションを選択します。
gcloud
ゲスト OS のシャットダウンをスキップするように構成されたインスタンスを一括で作成するには、
--skip-guest-os-shutdown
フラグを指定してgcloud compute instances bulk create
コマンドを使用します。たとえば、単一のゾーンで名前パターンを使用するインスタンスを一括作成するには、次のコマンドを実行します。
gcloud compute instances bulk create \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --name-pattern="NAME_PATTERN" \ --skip-guest-os-shutdown \ --zone=ZONE
次のように置き換えます。
COUNT
: 作成するインスタンスの数。MACHINE_TYPE
: インスタンスに使用するマシンタイプ。NAME_PATTERN
: インスタンスの名前パターン。インスタンス名の一連の数字を置き換えるには、一連のハッシュ(#
)文字を使用します。たとえば、名前パターンとしてinstance-#
を使用すると、Compute Engine はinstance-1
、instance-2
で始まる名前のインスタンスを生成し、COUNT
で指定したインスタンスの数までこの増分パターンを続けます。ZONE
: インスタンスを作成するゾーン。
REST
ゲスト OS のシャットダウンをスキップするように構成されたインスタンスを一括作成するには、
instances.bulkInsert
メソッドにPOST
リクエストを送信します。リクエストの本文に、true
に設定されたskipGuestOsShutdown
フィールドを含めます。たとえば、単一のゾーンで名前パターンを使用するインスタンスを一括作成するには、次のように
POST
リクエストを送信します。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": { "skipGuestOsShutdown": true } } }
次のように置き換えます。
PROJECT_ID
: インスタンスを一括作成するプロジェクトの ID。ZONE
: インスタンスを作成するゾーン。COUNT
: 作成するインスタンスの数。NAME_PATTERN
: インスタンスの名前パターン。インスタンス名の一連の数字を置き換えるには、一連のハッシュ(#
)文字を使用します。たとえば、名前パターンとしてinstance-#
を使用すると、Compute Engine はinstance-1
、instance-2
で始まる名前のインスタンスを生成し、COUNT
で指定したインスタンスの数までこの増分パターンを続けます。MACHINE_TYPE
: インスタンスに使用するマシンタイプ。IMAGE_PROJECT
: イメージを含むイメージ プロジェクト(例:debian-cloud
)。サポートされているイメージ プロジェクトの詳細については、公開イメージをご覧ください。IMAGE
: 次のいずれかを指定します。OS イメージの特定のバージョン。例:
debian-12-bookworm-v20240617
。イメージ ファミリー。
family/IMAGE_FAMILY
の形式にする必要があります。この値は、非推奨ではない最新の OS イメージを指定します。たとえば、family/debian-12
を指定すると、Compute Engine は Debian 12 イメージ ファミリーの最新バージョンを使用します。イメージ ファミリーの使用方法について詳しくは、イメージ ファミリーのベスト プラクティスをご覧ください。
インスタンスを一括作成する方法の詳細については、インスタンスを一括作成するをご覧ください。
インスタンス テンプレートの作成時にゲスト OS のシャットダウンを構成する
コンピューティング インスタンスを停止または削除するときにゲスト OS のシャットダウンをスキップするように構成されたインスタンス テンプレートを作成すると、そのインスタンス テンプレートを使用して次のことができます。
次の操作を行うときに、マネージド インスタンス グループ(MIG)のインスタンスを構成して、停止または削除時にゲスト OS のシャットダウンをスキップできます。
ゲスト OS のシャットダウンをスキップするように構成されたインスタンス テンプレートを作成するには、次のいずれかのオプションを選択します。
gcloud
ゲスト OS のシャットダウンをスキップするように構成されたインスタンス テンプレートを作成するには、
--skip-guest-os-shutdown
フラグを指定してgcloud compute instance-templates create
コマンドを使用します。たとえば、ゲスト OS のシャットダウンをスキップするように指定するリージョン インスタンス テンプレートを作成するには、次のコマンドを実行します。グローバル インスタンス テンプレートを作成する場合は、
--instance-template-region
フラグを使用せずに同じコマンドを使用します。gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE \ --skip-guest-os-shutdown
次のように置き換えます。
INSTANCE_TEMPLATE_NAME
: インスタンス テンプレートの名前。REGION
: インスタンス テンプレートを作成するリージョン。MACHINE_TYPE
: インスタンス テンプレートで指定するマシンタイプ。
REST
ゲスト OS のシャットダウンをスキップするように構成されたインスタンス テンプレートを作成するには、次のいずれかのメソッドに
POST
リクエストを送信します。グローバル インスタンス テンプレートを作成する:
instanceTemplates.insert
メソッドリージョン インスタンス テンプレートを作成する:
regionInstanceTemplates.insert
メソッド
リクエストの本文に、
true
に設定されたskipGuestOsShutdown
フィールドを含めます。たとえば、ゲスト OS のシャットダウンをスキップするように指定するリージョン インスタンス テンプレートを作成するには、次のように
POST
リクエストを送信します。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": { "skipGuestOsShutdown": true } } }
次のように置き換えます。
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
: インスタンス テンプレートで指定するマシンタイプ。
インスタンス テンプレートの作成の詳細については、インスタンス テンプレートを作成するをご覧ください。
ゲスト OS のシャットダウン設定を表示する
コンピューティング インスタンスを停止または削除するときに、Compute Engine がゲスト OS のシャットダウンをスキップするかどうかを確認できます。
インスタンスのゲスト OS のシャットダウン時間を表示するには、次のいずれかのオプションを選択します。
gcloud
インスタンスの詳細と、ゲスト OS のシャットダウンをスキップするかどうかを表示するには、
gcloud compute instances describe
コマンドを使用します。gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE
次のように置き換えます。
INSTANCE_NAME
: インスタンスの名前。ZONE
: インスタンスが存在するゾーン。
ゲスト OS のシャットダウンをスキップするようにインスタンスを構成した場合、出力には次の例のように
true
に設定されたskipGuestOsShutdown
フィールドが含まれます。... scheduling: automaticRestart: true skipGuestOsShutdown: true onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD ...
それ以外の場合、
skipGuestOsShutdown
フィールドがないか、false
に設定されている場合、ゲスト OS はデフォルトのシャットダウン時間を使用します。REST
インスタンスの詳細と、ゲスト OS のシャットダウンをスキップするかどうかを表示するには、
instances.get
メソッドにGET
リクエストを送信します。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
次のように置き換えます。
PROJECT_ID
: インスタンスが存在するプロジェクトの ID。ZONE
: インスタンスが存在するゾーン。INSTANCE_NAME
: インスタンスの名前。
ゲスト OS のシャットダウンをスキップするようにインスタンスを構成した場合、出力には次の例のように
true
に設定されたskipGuestOsShutdown
フィールドが含まれます。{ ... "scheduling": { "automaticRestart": true, "skipGuestOsShutdown": true, "onHostMaintenance": "MIGRATE", "preemptible": false, "provisioningModel": "STANDARD" }, ... }
それ以外の場合、
skipGuestOsShutdown
フィールドがないか、false
に設定されている場合、ゲスト OS はデフォルトのシャットダウン時間を使用します。次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-09-19 UTC。
-