このドキュメントでは、Compute Engine インスタンスを一時停止または再開する方法について説明します。インスタンスの一時停止、停止、リセットの詳細については、Compute Engine インスタンスを一時停止、停止、リセットするをご覧ください。
Compute Engine インスタンスを維持するが、使用していないときに課金されたくない場合は、インスタンスを一時停止できます。インスタンスを一時停止すると、インスタンスは保持され、インスタンスのメモリの内容がストレージに移行されます。インスタンスを再開すると、Compute Engine はインスタンスのメモリをストレージからインスタンスに戻し、インスタンスの実行を再開します。
Compute Engine インスタンスを一時停止すると、次のことができます。
夜間や週末などのオフ時間に使用率が低い開発環境やテスト環境。新しいインスタンスを作成する場合よりもコストを抑え、短時間で初期化を行うために維持する必要がある環境です。
仮想デベロッパー ワークステーションや複雑な Java アプリケーションなど、インスタンスの起動が完了してから最初のリクエストを処理するまでに初期化に時間がかかるアプリケーション。
始める前に
-
まだ設定していない場合は、認証を設定します。認証では、 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.
Go
ローカル開発環境でこのページの Go サンプルを使用するには、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 をご覧ください。
Java
ローカル開発環境でこのページの Java サンプルを使用するには、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 をご覧ください。
Node.js
ローカル開発環境でこのページの Node.js サンプルを使用するには、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 をご覧ください。
PHP
ローカル開発環境でこのページの PHP サンプルを使用するには、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 をご覧ください。
Python
ローカル開発環境でこのページの Python サンプルを使用するには、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 を使用して認証するをご覧ください。
必要なロール
Compute インスタンスの一時停止と再開に必要な権限を取得するには、インスタンスに対する Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。この事前定義ロールには、コンピューティング インスタンスの一時停止または再開に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
コンピューティング インスタンスを一時停止または再開するには、次の権限が必要です。
-
インスタンスを一時停止する:
compute.instances.suspend
-
インスタンスを再開する:
compute.instances.resume
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
制限事項
コンピューティング インスタンスを一時停止する場合は、次の制限が適用されます。
インスタンスを一時停止できるのは、ゲスト OS が一時停止をサポートしている場合のみです。詳しくは、オペレーティング システムの詳細をご覧ください。
ゲスト OS として Debian 8 または 9 を使用するインスタンスを一時停止できるのは、インスタンスを一時停止する前にOS を構成した場合のみです。
インスタンスを一時停止できる期間は最大 60 日です。この期間を経過すると、Compute Engine はインスタンスの状態を
TERMINATED
に自動的に移行します。Spot VM とプリエンプティブル インスタンスを一時停止できますが、一時停止オペレーションが完了する前に Compute Engine がインスタンスをプリエンプトする場合、Compute Engine は一時停止オペレーションを終了してからインスタンスをプリエンプトします。
GPU がアタッチされているインスタンスは一時停止できません。
ベアメタル インスタンスは一時停止できません。
Confidential VM は一時停止できません。
ゲスト環境に組み込まれている標準プロセスを使用してインスタンスを一時停止することはできません。Ubuntu 16.04 以降の
systemctl suspend
などのコマンドはサポートされていません。呼び出されると、Compute Engine はゲスト内の信号を無視します。メモリが 208 GB を超えるインスタンスは一時停止できません。
CSEK で保護されたディスクがアタッチされているインスタンスは一時停止できません。
Debian 8 または 9 で一時停止オペレーションを有効にする
コンピューティング インスタンスでゲスト OS として Debian 8 と 9 を実行している場合は、インスタンスを一時停止する前に、次のいずれかの方法で一時停止と再開のオペレーションを有効にしておく必要があります。
ACPID を構成する
Debian 8 または 9 で一時停止と再開のオペレーションを有効にするには、スリープボタン イベントを処理するように Advanced Configuration and Power Interface(ACPID)イベント デーモンを構成します。ディープ スリープボタン イベントを有効にしたら、このセクションで説明するように、スリープ イベントを処理するシェル スクリプトを追加できます。
一時停止オペレーションと再開オペレーションをサポートするように ACPID を構成するには、次の操作を行います。
まだ接続していない場合は、Linux インスタンスに接続します。
acpi
フォルダ内にevents
フォルダを作成します。sudo mkdir -p /etc/acpi/events/
スリープボタン イベントを処理するように ACPID を構成します。
cat <<EOF | sudo tee /etc/acpi/events/sleepbtn-acpi-support event=button[ /]sleep action=/etc/acpi/sleepbtn-acpi-support.sh EOF
スリープ イベントを処理するスクリプトを作成します。
cat <<EOF | sudo tee /etc/acpi/sleepbtn-acpi-support.sh #!/bin/sh echo mem > /sys/power/state EOF
スクリプトの権限を設定します。
sudo chmod 755 /etc/acpi/sleepbtn-acpi-support.sh
変更を有効にするため、ACPID を再起動します。
sudo systemctl restart acpid.service
D-Bus をインストールする
Debian 8 または 9 で一時停止と再開のオペレーションを有効にするために、D-Bus をインストールできます。
コンピューティング インスタンスのゲスト OS が Debian 8 または 9 を使用している場合に、このゲスト OS に D-Bus をインストールするには、次の操作を行います。
まだ接続していない場合は、Linux インスタンスに接続します。
D-Bus をインストールします。
sudo apt-get install dbus
変更を有効にするため、
logind
を再起動します。sudo systemctl restart systemd-logind.service
インスタンスを一時停止する
コンピューティング インスタンスのゲスト OS が Debian 8 または 9 を使用している場合は、インスタンスを一時停止する前に、このドキュメントの説明に従い、停止オペレーションと再開オペレーションをサポートするようにゲスト OS を構成する必要があります。
インスタンスを一時停止するには、インスタンスにローカル SSD ディスクがアタッチされているかどうかに応じて、以下のいずれかの方法を使用します。
インスタンスにローカル SSD ディスクがアタッチされていない場合は、ローカル SSD ディスクがアタッチされていないインスタンスを一時停止するをご覧ください。
インスタンスにローカル SSD ディスクがアタッチされており、ディスクのローカル SSD データを破棄または保持(プレビュー)する場合は、ローカル SSD ディスクがアタッチされているインスタンスを一時停止するをご覧ください。
ローカル SSD ディスクがアタッチされていないインスタンスを一時停止する
複数のコンピューティング インスタンスを同時に一時停止することも、個々のインスタンスを一時停止することもできます。複数のインスタンスの場合は、 Google Cloud コンソールを使用します。同じゾーンにあるインスタンスの場合は、Google Cloud CLI を使用します。個々のインスタンスの場合は、次のいずれかのオプションを選択します。
コンソール
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
一時停止するインスタンスを 1 つ以上選択します。
[一時停止] をクリックしてから、[一時停止] をクリックして確定します。
gcloud
1 つのゾーンで 1 つ以上のインスタンスを一時停止するには、
gcloud compute instances suspend
コマンドを使用します。gcloud compute instances suspend INSTANCE_NAMES \ --zone=ZONE
次のように置き換えます。
INSTANCE_NAMES
: インスタンス名の空白区切りリスト(例:instance-01 instance-02 instance-03
)。ZONE
: インスタンスが配置されているゾーン。
Go
Java
Node.js
PHP
Python
REST
インスタンスを一時停止するには、
instances.suspend
メソッドにPOST
リクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend
次のように置き換えます。
PROJECT_ID
: インスタンスが配置されているプロジェクトの ID。ZONE
: インスタンスが配置されているゾーン。INSTANCE_NAME
: インスタンスの名前。
ローカル SSD ディスクがアタッチされているインスタンスを一時停止する
同時に一時停止するコンピューティング インスタンスの数と、アタッチされているローカル SSD ディスクのデータを保持する必要があるかどうかに基づいて、次の操作を行います。
インスタンス(Z3 インスタンスは除く)にアタッチされているローカル SSD ディスクのデータを保持するには、gcloud CLI または REST API を使用してインスタンスを一時停止します。
複数のインスタンスを同時に一時停止するには、 Google Cloud コンソールを使用するか、同じゾーンにあるインスタンスの場合は gcloud CLI を使用します。
ローカル SSD ディスクがアタッチされている 1 つ以上のインスタンスを一時停止するには、次のいずれかのオプションを選択します。
コンソール
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
一時停止するインスタンスを 1 つ以上選択します。
[一時停止] をクリックしてから、[一時停止] をクリックして確定します。
gcloud
ローカル SSD ディスクがアタッチされている単一ゾーン内の 1 つ以上のインスタンスを一時停止する場合は、次のようにローカル SSD のデータを破棄するか保持するかを指定します。
ローカル SSD のデータを破棄するには、
--discard-local-ssd=true
フラグを指定してgcloud compute instances suspend
コマンドを使用します。gcloud compute instances suspend INSTANCE_NAMES \ --discard-local-ssd=true \ --zone=ZONE
ローカル SSD のデータを保持するには、
--discard-local-ssd=false
フラグを指定してgcloud beta compute instances suspend
コマンドを使用します。gcloud beta compute instances suspend INSTANCE_NAMES \ --discard-local-ssd=false \ --zone=ZONE
次のように置き換えます。
INSTANCE_NAMES
: インスタンス名の空白区切りリスト(例:instance-01 instance-02 instance-03
)。ZONE
: インスタンスが配置されているゾーン。
REST
ローカル SSD ディスクがアタッチされているインスタンスを一時停止する場合は、次のようにローカル SSD データを破棄するかまたは保持するかを指定します。
ローカル SSD のデータを破棄するには、
instances.suspend
メソッドにPOST
リクエストを送信します。リクエスト URL に、true
に設定されたdiscardLocalSsd
クエリ パラメータを含めます。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend?discardLocalSsd=true
ローカル SSD のデータを保持するには、
beta.instances.suspend
メソッドにPOST
リクエストを送信します。リクエスト URL に、false
に設定されたdiscardLocalSsd
クエリ パラメータを含めます。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend?discardLocalSsd=false
次のように置き換えます。
PROJECT_ID
: インスタンスが配置されているプロジェクトの ID。ZONE
: インスタンスが配置されているゾーン。INSTANCE_NAME
: インスタンスの名前。
一時停止されたインスタンスを再開する
一時停止されたコンピューティング インスタンスを再開する前に、次の点を考慮してください。
インスタンスを再開できるのは、インスタンスが配置されているゾーンに十分な容量がある場合のみです。通常、これが問題になることはありません。インスタンスの再開で問題がある場合は、しばらくしてからもう一度お試しください。
ローカル SSD ディスクをインスタンスにアタッチしており、一時停止時にローカル SSD のデータを保持することを選択した場合は、再開後にローカル SSD ディスクを再マウントする必要があります。詳細については、Linux インスタンスまたは Windows インスタンスで非ブートディスクを再マウントする方法をご覧ください。
複数のインスタンスを同時に再開することも、個々のインスタンスを再開することもできます。複数のインスタンスの場合は、 Google Cloud コンソールを使用します。同じゾーンにあるインスタンスの場合は、gcloud CLI を使用します。個々のインスタンスの場合は、次のいずれかのオプションを選択します。
コンソール
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
再開する一時停止中のインスタンスを 1 つ以上選択します。
[
開始 / 再開]、[開始] の順にクリックします。
gcloud
1 つのゾーンで 1 つ以上の一時停止中のインスタンスを再開するには、
gcloud compute instances resume
コマンドを使用します。gcloud compute instances resume INSTANCE_NAMES \ --zone=ZONE
次のように置き換えます。
INSTANCE_NAMES
: インスタンス名の空白区切りリスト(例:instance-01 instance-02 instance-03
)。ZONE
: 一時停止中のインスタンスが配置されているゾーン。
Go
Java
Node.js
PHP
Python
REST
一時停止中のインスタンスを再開するには、
instances.resume
メソッドにPOST
リクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/resume
次のように置き換えます。
INSTANCE_NAME
: 再開する一時停止中のインスタンスの名前。PROJECT_ID
: 一時停止中のインスタンスが配置されているプロジェクトの ID。ZONE
: 一時停止中のインスタンスが配置されているゾーン。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-10-19 UTC。
-