本文件說明如何刪除 Compute Engine 執行個體。如要進一步瞭解執行個體的生命週期,請參閱「Compute Engine 執行個體生命週期」。
如果您不再需要某個執行個體,請將其刪除,以免持續產生該執行個體及其附加資源的費用。
事前準備
-
如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 Google Cloud 服務和 API 的程序。如要在本機開發環境中執行程式碼或範例,您可以選取下列任一選項,向 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
C#
To use the .NET samples on this page in a local development environment, install and initialize the gcloud CLI, and then set up Application Default Credentials with your user credentials.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
For more information, see Set up authentication for a local development environment.
Go
To use the Go samples on this page in a local development environment, install and initialize the gcloud CLI, and then set up Application Default Credentials with your user credentials.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
For more information, see Set up authentication for a local development environment.
Java
To use the Java samples on this page in a local development environment, install and initialize the gcloud CLI, and then set up Application Default Credentials with your user credentials.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
For more information, see Set up authentication for a local development environment.
Node.js
To use the Node.js samples on this page in a local development environment, install and initialize the gcloud CLI, and then set up Application Default Credentials with your user credentials.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
For more information, see Set up authentication for a local development environment.
PHP
To use the PHP samples on this page in a local development environment, install and initialize the gcloud CLI, and then set up Application Default Credentials with your user credentials.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
For more information, see Set up authentication for a local development environment.
Python
To use the Python samples on this page in a local development environment, install and initialize the gcloud CLI, and then set up Application Default Credentials with your user credentials.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
For more information, see Set up authentication for a local development environment.
Ruby
To use the Ruby samples on this page in a local development environment, install and initialize the gcloud CLI, and then set up Application Default Credentials with your user credentials.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
For more information, see Set up authentication for a local development environment.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
必要的角色
如要取得刪除 Compute 執行個體所需的權限,請要求管理員為您授予專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這個預先定義的角色包含刪除運算單元的必要權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要刪除運算執行個體,您必須具備下列權限:
-
compute.instances.delete
-
如要強制刪除已連接的磁碟,請執行下列操作:
compute.disks.delete
on the disk
帳單相關注意事項
刪除運算執行個體後,您就不會再為該執行個體及其連結資源付費,除非發生下列任一情況:
如果您刪除託管在單一用戶群節點上的執行個體,則您會繼續為單一用戶群節點付費,而非該節點上託管的個別執行個體。
如果您採用承諾使用折扣,無論您是否使用這些資源,都必須繼續支付費用。
如果您保留附加至執行個體的任何資源,則會持續產生這些資源的費用,直到您刪除為止。舉例來說,如果您刪除執行個體,但保留連結至該執行個體的磁碟,則仍會產生磁碟費用。
詳情請參閱「VM 執行個體定價」。
保留已附加的資源
在某些情況下,您可能會在刪除運算執行個體之前,先保留其中一個附加資源。您可以執行下列操作來保留已附加的資源:
如要保留已連結至 N1 虛擬機器 (VM) 執行個體的 GPU,請從 VM 中移除 GPU。
如要保留已連結的磁碟,請採取下列任一做法:
如要保留開機磁碟,請從執行個體卸離開機磁碟。
如要保留開機磁碟或非開機磁碟,請將磁碟的自動刪除設定設為
false
。
如要保留本機 SSD 磁碟的資料,請將磁碟資料複製到持久儲存空間選項。
如要重複使用執行個體的靜態外部 IP 位址,請取消指派 IP 位址。
刪除執行個體
刪除運算執行個體時,Compute Engine 會先停止執行個體,再刪除該執行個體。
如果同時刪除一或多個執行個體,您必須決定要如何處理已連結的磁碟:
-
這個選項會刪除執行個體,並刪除或強制刪除啟動、非啟動或所有已連結的磁碟。
-
這個選項會刪除執行個體,但保留開機、非開機或所有已連結的磁碟,以供日後使用。
刪除執行個體和所有附加的資源
視您在刪除運算單元時要執行的操作而定,請使用下列選項:
如果您設定要保留已連結磁碟,在刪除執行個體時,您可以覆寫這項設定,並使用 Google Cloud CLI 強制刪除磁碟。
如果您已在執行個體中啟用正常關機功能,則可以使用 Google Cloud 主控台、gcloud CLI 或 REST API 刪除執行個體,而無須正常關機或結束正在進行的正常關機程序。
如要同時刪除多個執行個體,請使用 Google Cloud 控制台,如果是位於同一區的執行個體,則請使用 gcloud 指令列。
如要刪除一或多個執行個體和所有附加的資源,請選取下列任一選項:
主控台
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
選取要刪除的執行個體。
按一下
「刪除」。在對話方塊中執行下列操作:
選用:如要刪除執行個體而不進行優雅關機,或結束正在進行的優雅關機,請選取「Skip graceful shutdown (if applicable)」(略過優雅關機 (如適用) )核取方塊。
按一下「Delete」(刪除) 確認操作。
gcloud
如要刪除同一個可用區內的一或多個執行個體,請使用 gcloud compute instances delete
指令:
gcloud compute instances delete INSTANCE_NAMES \
--zone=ZONE
更改下列內容:
INSTANCE_NAMES
:以空格分隔的執行個體名稱清單,例如instance-01 instance-02 instance-03
。ZONE
:執行個體所在的區域。
您可以視需要執行下列任一操作,或是兩者皆執行:
如要強制刪除連結至一或多個執行個體的磁碟,請加入
--delete-disks
標記:gcloud compute instances delete INSTANCE_NAMES \ --delete-disks=DELETE_DISK_TYPE \ --zone=ZONE
請將
DELETE_DISK_TYPE
替換為下列任一值:如何刪除已連結的開機和非開機永久儲存空間:
all
如要只刪除已連結的永久啟動儲存空間:
boot
如要只刪除非開機的永久性儲存空間:
data
如果您已在一個或多個執行個體中啟用正常關機功能,則可刪除執行個體,而無需正常關機,或手動結束正在進行的正常關機程序。如要執行這項操作,請使用
gcloud beta compute instances delete
指令,並加上--no-graceful-shutdown
旗標:gcloud beta compute instances delete INSTANCE_NAMES \ --no-graceful-shutdown \ --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
更改下列內容:
PROJECT_ID
:執行個體所在專案的 ID。ZONE
:執行個體的區域。INSTANCE_NAME
:執行個體名稱。
您也可以選擇在執行個體中啟用安全關機功能,這樣一來,您就能在安全關機的情況下刪除執行個體,或手動結束正在進行的安全關機程序。如要這麼做,請對 beta instances.delete
方法發出 DELETE
要求。在要求網址中加入設為 true
的 noGracefulShutdown
查詢參數:
DELETE https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?noGracefulShutdown=true
刪除執行個體並保留磁碟
根據預設,刪除運算執行個體會刪除該執行個體及其附加的資源。不過,使用 gcloud CLI 刪除執行個體時,您可以指定保留已連結的磁碟,無論其自動刪除設定為何。
如要刪除同一個區域中一或多個執行個體,同時保留已連結的磁碟,請使用 gcloud compute instances delete
指令,並加上 --keep-disks
標記:
gcloud compute instances delete INSTANCE_NAMES \
--keep-disks=KEEP_DISK_TYPE \
--zone=ZONE
更改下列內容:
INSTANCE_NAMES
:以空格分隔的執行個體名稱清單,例如instance-01 instance-02 instance-03
。KEEP_DISK_TYPE
:請指定下列其中一個值:如要保留已連結的開機和非開機永久儲存空間:
all
如要只保留已連結的開機永久儲存空間:
boot
如要只保留已連結的非開機永久儲存空間:
data
ZONE
:執行個體所在的區域。
您也可以選擇在一個或多個執行個體中啟用優雅關機功能,這樣一來,您就可以刪除執行個體,而不需要優雅關機,也可以手動結束正在進行的優雅關機程序。如要執行這項操作,請使用 gcloud beta compute instances delete
指令,並加上 --no-graceful-shutdown
旗標:
gcloud beta compute instances delete VM_NAMES \
--keep-disks=KEEP_DISK_TYPE \
--no-graceful-shutdown \
--zone=ZONE