このドキュメントでは、仮想マシン(VM)インスタンスを手動で停止、再始動、リセット、再起動する方法について説明します。これらの操作は、次のようなシナリオで役立ちます。
VM が不要になった場合や、1 つ以上のプロパティを変更する場合は、VM を停止します。たとえば、VM の名前の変更、マシンタイプの変更、アタッチされているディスクの追加または削除、最小 CPU プラットフォームの変更を行います。VM を停止したら、再起動してワークロードを再開するか、不要になった VM を削除します。
VM が応答しない場合や、ゲスト オペレーティング システム(OS)がクラッシュした場合などに、VM をリセットします。VM のリセット後、ワークロードを再開できます。
たとえば、VM のメモリをワイプして元の起動状態に再初期化する場合、ゲスト OS 内から VM を再起動します。ゲスト OS 内から 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
-
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.
-
VM を停止するには: VM に対する
compute.instances.stop
-
ゲスト OS 内から VM を停止するには: インスタンス レベルの公開 SSH 認証鍵を使用する場合、VM に対する
compute.instances.setMetadata
。 -
VM を再起動するには: VM に対する
compute.instances.start
-
暗号鍵を使用する VM を再起動するには: VM に対する
compute.instances.startWithEncryptionKey
-
VM をリセットするには: VM に対する
compute.instances.reset
-
ゲスト OS 内から VM を再起動するには: VM に対する
compute.instances.setMetadata
Compute Engine は ACPI シャットダウン信号を VM に送信し、ゲスト OS がクリーン シャットダウンを実行するまで短時間待機します。次に、Compute Engine は VM の状態を
STOPPING
に設定し、1 分以内にTERMINATED
に移行します。VM はパワーオン状態にリセットされ、内部 IP、MAC アドレス、構成設定、メタデータを保持します。ただし、VM のメモリ内データと VM の状態は失われます。メモリ内データと VM の状態を保持する必要がある場合は、代わりに VM を一時停止します。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
停止する VM を選択します。
[停止] をクリックし、[停止] をクリックして確定します。
VM_NAME
: VM の名前。PROJECT_ID
: VM が配置されているプロジェクトのプロジェクト ID。ZONE
: VM が配置されているゾーン。VM_NAME
: VM の名前。PROJECT_ID
: VM が配置されているプロジェクトのプロジェクト ID。ZONE
: VM が配置されているゾーン。ACPI シャットダウン シグナルを VM に送信する前に、VM がシャットダウン スクリプトを実行できるようにするには、次のコマンドを実行します。
sudo shutdown -h now
それ以外の場合、強制的にシャットダウンするには、次のコマンドを実行します。
sudo poweroff
ACPI シャットダウン シグナルを VM に送信する前に、VM がシャットダウン スクリプトを実行できるようにするには、次のコマンドを実行します。
shutdown /s
それ以外の場合、強制的にシャットダウンするには、次のコマンドを実行します。
shutdown /f
Google Cloud コンソールで [VM インスタンス] ページに移動します。
VM を 1 つ以上選択します。
[
開始 / 再開] をクリックします。VM_NAME
: VM の名前。PROJECT_ID
: VM が配置されているプロジェクトのプロジェクト ID。ZONE
: VM が配置されているゾーン。VM_NAME
: 再起動する VM の名前。PROJECT_ID
: VM が配置されているプロジェクトのプロジェクト ID。ZONE
: VM が配置されているゾーン。Google Cloud コンソールで [VM インスタンス] ページに移動します。
再起動する VM を選択します。
[
開始 / 再開] をクリックします。この VM にアタッチされている暗号化された各ディスクの暗号鍵を指定し、[開始] をクリックします。
VM_NAME
: VM の名前。ENCRYPTION_KEY_FILE
: 顧客指定の暗号鍵を含む JSON ファイルの相対パス。PROJECT_ID
: VM が配置されているプロジェクトのプロジェクト ID。ZONE
: VM が配置されているゾーン。PROJECT_ID
: VM が配置されているプロジェクトのプロジェクト ID。ZONE
: VM が配置されているゾーン。VM_NAME
: VM の名前。DISK_URL
: 顧客指定の暗号鍵で暗号化され、アタッチされているディスクの完全リソース名に対応するリソース URL。ENCRYPTION_TYPE
: 使用しているディスク暗号化のタイプ。rawKey
、kmsKeyName
、rsaEncryptedKey
のいずれかです。rsaEncryptedKey
タイプを使用する場合は、v1 API ではなく、ベータ版 API にPOST
リクエストを送信する必要があります。ENCRYPTION_KEY
: VM にアタッチされている永続ディスクの暗号化に使用される暗号鍵。rawKey
鍵またはrsaEncryptedKey
鍵は base64 でエンコードされている必要があります。また、rsaEncryptedKey
鍵を準備するには、RSA 鍵のラッピングをご覧ください。VM は、元のメタデータ、イメージ、永続ディスクを使用して初期ブート状態に再初期化されます。
データをバックアップしない限り、VM はマシンのメモリの内容を強制的にワイプします。
このプロセスの間、VM の状態は
RUNNING
のままです。Google Cloud コンソールで [VM インスタンス] ページに移動します。
リセットする VM を選択します。
[リセット] をクリックし、もう一度 [リセット] をクリックします。
VM_NAME
: VM の名前。PROJECT_ID
: VM が配置されているプロジェクトのプロジェクト ID。ZONE
: VM が配置されているゾーン。VM_NAME
: VM の名前。PROJECT_ID
: VM が配置されているプロジェクトのプロジェクト ID。ZONE
: VM が配置されているゾーン。VM は、元のメタデータ、イメージ、永続ディスクを使用して初期ブート状態に再初期化されます。
データをバックアップしない限り、VM はマシンのメモリの内容をワイプします。
このプロセスの間、VM の状態は
RUNNING
のままです。停止した VM からこれらのリソースを切断します。
VM を削除します。この操作を行うと、VM にアタッチされているリソースも削除されます。
VM が自動的に起動と停止を行うようにスケジュール設定する方法を確認する。
VM のランタイムを制限する方法を学習する。
次のいずれかの方法で、VM が予期せずシャットダウンした後のトラブルシューティングの方法を学習します。
インタラクティブ シリアル コンソールを使用して VM のトラブルシューティングを行います。
VM のマシンタイプを変更する方法を学習する。
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 を使用して認証するをご覧ください。
必要なロール
VM の停止と再起動に必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。この事前定義ロールには、VM の停止と再起動に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
VM を停止して再起動するには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
VM を停止する
実行中の VM を停止すると、次のようになります。
また、VM にリソースをアタッチした場合、それらのリソースは手動で切断するか、VM を削除するまで、接続されたままになります。VM にローカル SSD ディスクがアタッチされている場合、VM を停止すると、デフォルトでローカル SSD ディスク上のすべてのデータが破棄されます。ローカル SSD ディスクにデータを保持するには、
--discard-local-ssd=false
フラグを指定して gcloud CLI を使用し、VM を停止する必要があります。詳細については、ローカル SSD を使用した VM を停止するをご覧ください。VM を停止するには、このドキュメントで説明する方法のいずれかを選択します。
VM を停止した後、再起動または削除できます。VM を再起動する予定がない場合は、削除することをおすすめします。
Google Cloud を介して VM を停止する
複数の VM を一度に停止するには、Google Cloud コンソールを使用します。
コンソール
1 つ以上の VM を停止する手順は次のとおりです。
gcloud
VM を停止するには、
gcloud compute instances stop
コマンドを使用します。gcloud compute instances stop VM_NAME \ --project=PROJECT_ID \ --zone=ZONE
次のように置き換えます。
ローカル SSD ディスクを VM にアタッチし、VM の停止後にローカル SSD データを保持する場合は、
--discard-local-ssd=false
フラグを使用してgcloud beta compute instances stop
コマンドを使用します。gcloud beta compute instances stop VM_NAME \ --discard-local-ssd=false \ --project=PROJECT_ID \ --zone=ZONE
Go
Java
Node.js
PHP
Python
REST
VM を停止するには、
instances.stop
メソッドにPOST
リクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
次のように置き換えます。
ゲスト OS 内から VM を停止する
VM に接続しているときにゲスト OS 内から VM を停止するには、次のいずれかのタブを選択します。
Linux
Linux VM を停止するには、次のいずれかの方法を選択します。
Windows
Windows VM を停止するには、次のいずれかの方法を選択します。
VM を再起動する
停止した VM を再起動できるのは、VM が
TERMINATED
状態の場合のみです。VM を再起動するには、このドキュメントで説明する次のいずれかの方法を選択します。暗号化されたディスクなしの VM を再起動する
暗号化されたディスクを使用しない停止された VM を再起動します(デフォルト)。複数の VM を一度に再起動するには、Google Cloud コンソールを使用します。
コンソール
1 つ以上の VM を再起動する手順は次のとおりです。
gcloud
VM を再起動するには、
gcloud compute instances start
コマンドを使用します。gcloud compute instances start VM_NAME \ --project=PROJECT_ID \ --zone=ZONE
次のように置き換えます。
Go
Java
Node.js
PHP
Python
REST
VM を再起動するには、
instances.start
メソッドにPOST
リクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
次のように置き換えます。
暗号化されたディスクを使用する VM を再起動する
顧客指定の暗号鍵を使用して VM にアタッチされている永続ディスクを暗号化する停止された VM を再起動できます。
コンソール
暗号化されたディスクを使用する VM を再起動する手順は次のとおりです。
gcloud
暗号化されたディスクを使用する VM を再起動するには、
--csek-key-file
フラグを指定してgcloud compute instances start
コマンドを使用します。RSA でラップされた鍵を使用している場合は、gcloud beta compute instances start
コマンドを使用します。gcloud compute instances start VM_NAME \ --csek-key-file=ENCRYPTION_KEY_FILE \ --project=PROJECT_ID \ --zone=ZONE
次のように置き換えます。
Go
Java
Node.js
PHP
Python
REST
暗号化されたディスクを使用する VM を再起動するには、
instances.startWithEncryptionKey
メソッドにPOST
リクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/startWithEncryptionKey { "disks": [ { "source": "DISK_URL", "diskEncryptionKey": { "ENCRYPTION_TYPE": "ENCRYPTION_KEY" } } ] }
次のように置き換えます。
VM をリセットする
実行中の VM のリセットは、リセットボタンを押すか、電源ボタンを長押ししてパソコンをハードリセットすることに似ています。VM をリセットすると、VM がゲスト OS のクリーン シャットダウンを実行する時間が与えられません。その結果、ディスクのファイルシステムが破損する可能性があります。Google Cloud では、ゲスト OS がクラッシュし、他の方法がない場合にのみ、VM をリセットすることをおすすめします。VM を再初期化してクリーン シャットダウンを行う場合は、このドキュメントの VM を再起動するをご覧ください。
VM をリセットすると、次のようになります。
VM をリセットしても、VM のプロパティは変更されません。VM は、エフェメラル IP、静的外部 IP、永続ディスク、ローカル SSD ディスク(存在する場合)、マシンタイプを保持します。
コンソール
1 つ以上の実行中の VM をリセットするには、次の操作を行います。
gcloud
実行中の VM をリセットするには、
gcloud compute instances reset
コマンドを使用します。gcloud compute instances reset VM_NAME \ --project=PROJECT_ID \ --zone=ZONE
次のように置き換えます。
Go
Java
Node.js
PHP
Python
REST
実行中の VM をリセットするには、
instances.reset
メソッドにPOST
リクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/reset
次のように置き換えます。
VM を再起動する
ゲスト OS 内から VM を再起動すると、次のようになります。
VM をリセットする場合と比較して、ゲスト OS 内から VM を再起動すると、ACPI シャットダウン シグナルを VM に送信する前に、VM が実行中のすべてのタスクを終了するのを待機します。これにより、VM はクリーン シャットダウンを実行できます。
VM を再起動しても、VM のプロパティは変更されません。VM は、エフェメラル IP、静的外部 IP、永続ディスク、ローカル SSD ディスク(存在する場合)、マシンタイプを保持します。
Linux
Linux VM をリセットするには、次のコマンドを実行してゲスト OS を再起動します。
sudo reboot
Windows
Windows VM をリセットするには、次のコマンドを実行してゲスト OS を再起動します。
shutdown /r /t 0
必要に応じて、VM のシャットダウンと再起動のプロセスをモニタリングするには、Windows ブート マネージャーのメニューを有効にします。
請求
VM が停止して Compute Engine が状態を
TERMINATED
に設定すると、CPU 使用量に対する課金は発生しなくなります。ただし、永続ディスクや外部 IP アドレスなど、VM にアタッチされているリソースは、引き続き課金対象です。VM に接続されているリソースに対する課金を停止するには、次のいずれかを行います。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-12-05 UTC。
-