このドキュメントでは、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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
-
インスタンスを一時停止する:
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 で保護されたディスクがアタッチされているインスタンスは一時停止できません。
まだ接続していない場合は、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
まだ接続していない場合は、Linux インスタンスに接続します。
D-Bus をインストールします。
sudo apt-get install dbus
変更を有効にするため、
logind
を再起動します。sudo systemctl restart systemd-logind.service
インスタンスにローカル SSD ディスクがアタッチされていない場合は、ローカル SSD ディスクがアタッチされていないインスタンスを一時停止するをご覧ください。
インスタンスにローカル SSD ディスクがアタッチされており、ディスクのローカル SSD データを破棄または保持(プレビュー)する場合は、ローカル SSD ディスクがアタッチされているインスタンスを一時停止するをご覧ください。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
一時停止するインスタンスを 1 つ以上選択します。
[一時停止] をクリックしてから、[一時停止] をクリックして確定します。
INSTANCE_NAMES
: インスタンス名の空白区切りリスト(例:instance-01 instance-02 instance-03
)。ZONE
: インスタンスが配置されているゾーン。PROJECT_ID
: インスタンスが配置されているプロジェクトの ID。ZONE
: インスタンスが配置されているゾーン。INSTANCE_NAME
: インスタンスの名前。インスタンス(Z3 インスタンスは除く)にアタッチされているローカル SSD ディスクのデータを保持するには、gcloud CLI または REST API を使用してインスタンスを一時停止します。
複数のインスタンスを同時に一時停止するには、Google Cloud コンソールを使用するか、同じゾーンにあるインスタンスの場合は gcloud CLI を使用します。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
一時停止するインスタンスを 1 つ以上選択します。
[一時停止] をクリックしてから、[一時停止] をクリックして確定します。
ローカル 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
: インスタンスが配置されているゾーン。ローカル 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 コンソールで [VM インスタンス] ページに移動します。
再開する一時停止中のインスタンスを 1 つ以上選択します。
[
開始 / 再開]、[開始] の順にクリックします。INSTANCE_NAMES
: インスタンス名の空白区切りリスト(例:instance-01 instance-02 instance-03
)。ZONE
: 一時停止中のインスタンスが配置されているゾーン。INSTANCE_NAME
: 再開する一時停止中のインスタンスの名前。PROJECT_ID
: 一時停止中のインスタンスが配置されているプロジェクトの ID。ZONE
: 一時停止中のインスタンスが配置されているゾーン。
Go
ローカル開発環境でこのページの Go サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
Java
ローカル開発環境でこのページの Java サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
Node.js
ローカル開発環境でこのページの Node.js サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
PHP
ローカル開発環境でこのページの PHP サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
Python
ローカル開発環境でこのページの Python サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロール
Compute インスタンスの一時停止と再開に必要な権限を取得するには、インスタンスに対する Compute インスタンス管理者(v1) (
roles/compute.instanceAdmin.v1
)IAM ロールを付与するように管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。この事前定義ロールには、コンピューティング インスタンスの一時停止または再開に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
コンピューティング インスタンスを一時停止または再開するには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
制限事項
コンピューティング インスタンスを一時停止する場合は、次の制限が適用されます。
Debian 8 または 9 で一時停止オペレーションを有効にする
コンピューティング インスタンスでゲスト OS として Debian 8 と 9 を実行している場合は、インスタンスを一時停止する前に、次のいずれかの方法で一時停止と再開のオペレーションを有効にしておく必要があります。
ACPID を構成する
Debian 8 または 9 で一時停止と再開のオペレーションを有効にするには、スリープボタン イベントを処理するように Advanced Configuration and Power Interface(ACPID)イベント デーモンを構成します。ディープ スリープボタン イベントを有効にしたら、このセクションで説明するように、スリープ イベントを処理するシェル スクリプトを追加できます。
一時停止オペレーションと再開オペレーションをサポートするように ACPID を構成するには、次の操作を行います。
D-Bus をインストールする
Debian 8 または 9 で一時停止と再開のオペレーションを有効にするために、D-Bus をインストールできます。
コンピューティング インスタンスのゲスト OS が Debian 8 または 9 を使用している場合に、このゲスト OS に D-Bus をインストールするには、次の操作を行います。
インスタンスを一時停止する
コンピューティング インスタンスのゲスト OS が Debian 8 または 9 を使用している場合は、インスタンスを一時停止する前に、このドキュメントの説明に従い、停止オペレーションと再開オペレーションをサポートするようにゲスト OS を構成する必要があります。
インスタンスを一時停止するには、インスタンスにローカル SSD ディスクがアタッチされているかどうかに応じて、以下のいずれかの方法を使用します。
ローカル SSD ディスクがアタッチされていないインスタンスを一時停止する
複数のコンピューティング インスタンスを同時に一時停止することも、個々のインスタンスを一時停止することもできます。複数のインスタンスの場合は、Google Cloud コンソールを使用します。同じゾーンにあるインスタンスの場合は、Google Cloud CLI を使用します。個々のインスタンスの場合は、次のいずれかのオプションを選択します。
コンソール
gcloud
1 つのゾーンで 1 つ以上のインスタンスを一時停止するには、
gcloud compute instances suspend
コマンドを使用します。gcloud compute instances suspend INSTANCE_NAMES \ --zone=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
次のように置き換えます。
ローカル SSD ディスクがアタッチされているインスタンスを一時停止する
同時に一時停止するコンピューティング インスタンスの数と、アタッチされているローカル SSD ディスクのデータを保持する必要があるかどうかに基づいて、次の操作を行います。
ローカル SSD ディスクがアタッチされている 1 つ以上のインスタンスを一時停止するには、次のいずれかのオプションを選択します。
コンソール
gcloud
ローカル SSD ディスクがアタッチされている単一ゾーン内の 1 つ以上のインスタンスを一時停止する場合は、次のようにローカル SSD のデータを破棄するか保持するかを指定します。
次のように置き換えます。
REST
ローカル SSD ディスクがアタッチされているインスタンスを一時停止する場合は、次のようにローカル SSD データを破棄するかまたは保持するかを指定します。
次のように置き換えます。
一時停止されたインスタンスを再開する
一時停止されたコンピューティング インスタンスを再開する前に、次の点を考慮してください。
複数のインスタンスを同時に再開することも、個々のインスタンスを再開することもできます。複数のインスタンスの場合は、Google Cloud コンソールを使用します。同じゾーンにあるインスタンスの場合は、gcloud CLI を使用します。個々のインスタンスの場合は、次のいずれかのオプションを選択します。
コンソール
gcloud
1 つのゾーンで 1 つ以上の一時停止中のインスタンスを再開するには、
gcloud compute instances resume
コマンドを使用します。gcloud compute instances resume INSTANCE_NAMES \ --zone=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
次のように置き換えます。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-03-27 UTC。
-