このドキュメントでは、Compute Engine インスタンスを削除する方法について説明します。インスタンスのライフサイクルの詳細については、Compute Engine インスタンスのライフサイクルをご覧ください。
インスタンスが不要になった場合は、インスタンスとその接続リソースに対する課金を停止するためにインスタンスを削除します。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、 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.
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.
- 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.
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.
- 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.
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.
- 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.
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.
- 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.
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.
- 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.
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.
- 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.
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.
- インスタンスに対する
compute.instances.delete
-
アタッチされたディスクを強制的に削除する:
ディスクに対する
compute.disks.delete
権限 単一テナントノードでホストされているインスタンスを削除した場合は、そのノードでホストされている個々のインスタンスではなく、単一テナントノード自体に対するお支払いが引き続き発生します。
確約利用割引をご利用の場合は、リソースを使用したかどうかに関係なく、確約したリソースに対するお支払いが引き続き発生します。
インスタンスにアタッチされたリソースを保持している場合は、それらを削除するまでリソースの料金が引き続き発生します。たとえば、インスタンスを削除しても、それにアタッチされているディスクを保持している場合は、引き続きディスクの料金が発生します。
N1 仮想マシン(VM)インスタンスにアタッチされている GPU を保持するには、VM から GPU を削除します。
アタッチされたディスクを保持するには、次のいずれかを行います。
ブートディスクを保持するには、ブートディスクをインスタンスから切断します。
ブートディスクまたは非ブートディスクを保持するには、ディスクの自動削除設定を
false
に設定します。
ローカル SSD ディスクのデータを保持するには、ディスクのデータを永続的なストレージ オプションにコピーします。
インスタンスの静的外部 IP アドレスを再利用するには、IP アドレスの割り当てを解除します。
-
このオプションでは、インスタンスが削除され、ブートディスク、非ブートディスク、またはアタッチされているすべてのディスクが削除または強制削除されます。
-
このオプションでは、インスタンスは削除されますが、ブートディスク、非ブートディスク、またはアタッチされているすべてのディスクは後で使用するために保持されます。
インスタンスの削除時に、アタッチされたディスクを保持するように構成した場合は、この設定をオーバーライドして、Google Cloud CLI を使用して強制的に削除できます。
インスタンスで正常なシャットダウンを有効にしている場合は、Google Cloud コンソール、gcloud CLI、または REST API を使用して、正常なシャットダウンを行わずにインスタンスを削除するか、進行中の正常なシャットダウンを終了することができます。
複数のインスタンスを同時に削除するには、Google Cloud コンソールを使用するか、同じゾーンにあるインスタンスの場合は gcloud CLI を使用します。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
削除するインスタンスを選択します。
[
削除] をクリックします。ダイアログで次の操作を行います。
省略可: 正常なシャットダウンを行わずにインスタンスを削除する場合、または進行中の正常なシャットダウンを終了する場合は、[グレースフル シャットダウンをスキップする(該当する場合)] チェックボックスをオンにします。
[削除] をクリックして確定します。
INSTANCE_NAMES
: インスタンス名のスペース区切りのリスト(例:instance-01 instance-02 instance-03
)。ZONE
: インスタンスが配置されているゾーン。1 つ以上のインスタンスにアタッチされているディスクを強制的に削除するには、
--delete-disks
フラグを指定します。gcloud compute instances delete INSTANCE_NAMES \ --delete-disks=DELETE_DISK_TYPE \ --zone=ZONE
DELETE_DISK_TYPE
は次のいずれかの値に置き換えます。アタッチされたブート永続ストレージと非ブート永続ストレージを削除するには:
all
アタッチされたブート永続ストレージのみを削除するには:
boot
非ブート永続ストレージのみを削除するには:
data
1 つ以上のインスタンスで正常なシャットダウンを有効にしている場合は、必要に応じて正常なシャットダウンを行わずにインスタンスを削除するか、進行中の正常なシャットダウンを手動で終了することができます。これを行うには、
--no-graceful-shutdown
フラグを指定してgcloud beta compute instances delete
コマンドを使用します。gcloud beta compute instances delete INSTANCE_NAMES \ --no-graceful-shutdown \ --zone=ZONE
PROJECT_ID
: インスタンスが配置されているプロジェクトの ID。ZONE
: インスタンスのゾーン。INSTANCE_NAME
: インスタンス名。INSTANCE_NAMES
: インスタンス名のスペース区切りのリスト(例:instance-01 instance-02 instance-03
)。KEEP_DISK_TYPE
: 次のいずれかの値を指定します。アタッチされたブート永続ストレージと非ブート永続ストレージを保持するには:
all
アタッチされたブート永続ストレージのみを保持するには:
boot
アタッチされている非ブート永続ストレージのみを保持するには、
data
を使用します。
ZONE
: インスタンスが配置されているゾーン。
C#
ローカル開発環境でこのページの .NET サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
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 をご覧ください。
Ruby
ローカル開発環境でこのページの Ruby サンプルを使用するには、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 インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。この事前定義ロールには、コンピューティング インスタンスの削除に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
コンピューティング インスタンスを削除するには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
料金への影響
コンピューティング インスタンスを削除すると、次のいずれかの状況に該当する場合を除き、インスタンスとその接続リソースに対する課金は発生しなくなります。
詳しくは、VM インスタンスの料金をご覧ください。
アタッチされたリソースを保持する
コンピューティング インスタンスを削除する前に、アタッチされているリソースのいずれかを保持する必要がある場合があります。アタッチされたリソースを保持するには、次のようにします。
インスタンスを削除する
コンピューティング インスタンスを削除すると、Compute Engine は削除前にインスタンスを停止します。
1 つ以上のインスタンスを同時に削除する場合は、接続されているディスクの処理方法を決定する必要があります。
インスタンスとすべてのアタッチされたリソースを削除する
コンピューティング インスタンスを削除するときに行う操作に応じて、次のオプションを使用します。
1 つ以上のインスタンスと、アタッチされているすべてのリソースを削除するには、次のいずれかのオプションを選択します。
コンソール
gcloud
同じゾーン内の 1 つ以上のインスタンスを削除するには、
gcloud compute instances delete
コマンドを使用します。gcloud compute instances delete INSTANCE_NAMES \ --zone=ZONE
次のように置き換えます。
必要に応じて、以下のいずれかまたは両方の操作を行うことができます。
C#
Go
Java
Node.js
PHP
Python
Ruby
REST
インスタンスを削除するには、
instances delete
メソッドにDELETE
リクエストを送信します。DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
次のように置き換えます。
インスタンスで正常なシャットダウンを有効にしている場合は、必要に応じて正常なシャットダウンを行わずにインスタンスを削除するか、進行中の正常なシャットダウンを手動で終了することができます。そのためには、ベータ版の
instances.delete
メソッドにDELETE
リクエストを送信します。リクエスト URL に、true
に設定されたnoGracefulShutdown
クエリ パラメータを含めます。DELETE https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?noGracefulShutdown=true
インスタンスを削除し、ディスクを保持する
デフォルトでは、コンピューティング インスタンスを削除すると、インスタンスとそのアタッチされたリソースが削除されます。ただし、gcloud CLI を使用してインスタンスを削除する場合は、自動削除設定に関係なく、アタッチされたディスクを保持するように指定できます。
アタッチされたディスクを保持しながら、同じゾーン内の 1 つ以上のインスタンスを削除するには、
--keep-disks
フラグを使用してgcloud compute instances delete
コマンドを使用します。gcloud compute instances delete INSTANCE_NAMES \ --keep-disks=KEEP_DISK_TYPE \ --zone=ZONE
次のように置き換えます。
1 つ以上のインスタンスで正常なシャットダウンを有効にしている場合は、必要に応じて正常なシャットダウンを行わずにインスタンス削除するか、進行中の正常なシャットダウンを手動で終了することができます。これを行うには、
--no-graceful-shutdown
フラグを指定してgcloud beta compute instances delete
コマンドを使用します。gcloud beta compute instances delete VM_NAMES \ --keep-disks=KEEP_DISK_TYPE \ --no-graceful-shutdown \ --zone=ZONE
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-03 UTC。
-