本文档介绍了如何删除 Compute Engine 实例。如需详细了解实例的生命周期,请参阅 Compute Engine 实例生命周期。
如果您不再需要实例,请将其删除,以免实例及其附加资源继续产生费用。
如果要保留挂接的资源,请在删除实例之前执行以下一项或多项操作:
如需保留挂接到 N1 虚拟机 (VM) 实例的 GPU,请从虚拟机中移除 GPU。
如需保留已连接的磁盘,请执行以下操作之一:
如需保留启动磁盘,请将启动磁盘与实例分离。
如需保留启动磁盘或非启动磁盘,请将磁盘的自动删除设置设置为
false
。
如需保留本地 SSD 磁盘的数据,请将磁盘的数据复制到持久性存储选项。
如需重复使用实例的静态外部 IP 地址,请取消分配 IP 地址。
准备工作
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 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
-
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.
- 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.delete
权限 -
如需强制删除已挂接的磁盘:针对磁盘的
compute.disks.delete
权限 如果您删除在单租户节点上托管的实例,则您将继续为单租户节点本身支付费用,而不是为在该节点上托管的各个实例支付费用。
如果您有承诺使用折扣,则无论您是否使用这些资源,您都需要继续为所承诺的资源付费。
如果您保留了挂接到实例的任何资源,这些资源会继续产生费用,直到您将其删除。例如,如果您删除实例但保留了挂接到该实例的磁盘,则这些磁盘会继续产生费用。
-
使用此选项可同时删除一个或多个实例,并删除或强制删除任何已附加的磁盘。
-
使用此选项可同时删除一个或多个实例,但保留已附加的磁盘。
在 Google Cloud 控制台中,前往虚拟机实例页面。
选择要删除的实例。
点击
删除,然后再次点击删除进行确认。INSTANCE_NAMES
:实例名称列表(以空格分隔),例如instance-01 instance-02 instance-03
。ZONE
:实例所在的可用区。如需删除已挂接的启动永久性存储空间和非启动永久性存储空间,请执行以下操作:
all
如需仅删除已附加的启动永久性存储:
boot
如需仅删除非启动永久性存储,请执行以下操作:
data
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 Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。此预定义角色包含删除计算实例所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需删除计算实例,您需要具备以下权限:
结算影响
删除计算实例后,除非符合以下任何情况,否则 Google Cloud 将不再针对该实例及其挂接的资源向您收取费用:
如需了解详情,请参阅虚拟机实例价格。
删除实例
当您删除计算实例时,Compute Engine 会先停止实例(如果实例正在运行)。此外,您可以选择删除或保留已连接的磁盘,具体方法如下:
删除实例和所有附加的资源
删除计算实例时,默认情况下,Compute Engine 会删除该实例及其所有挂接的资源。但是,如果您将已挂接的磁盘配置为在删除实例时保留,则可以使用 gcloud CLI 覆盖此设置,并在删除实例时强制删除该磁盘。
您可以同时删除多个实例,也可以逐个删除实例。对于多个实例,请使用 Google Cloud 控制台;对于位于同一可用区的实例,请使用 gcloud CLI。对于个别实例,请选择以下任一选项:
控制台
gcloud
如需删除单个可用区中的一个或多个实例,请使用
gcloud compute instances delete
命令:gcloud compute instances delete INSTANCE_NAMES \ --zone=ZONE
替换以下内容:
(可选)如需强制删除挂接到一个或多个实例的磁盘,请添加
--delete-disks
标志。gcloud compute instances delete INSTANCE_NAMES \ --delete-disks=DELETE_DISK_TYPE \ --zone=ZONE
将
DELETE_DISK_TYPE
替换为以下某个值: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
替换以下内容:
删除实例并保留磁盘
默认情况下,删除计算实例会删除该实例及其附加的资源。但是,使用 gcloud CLI 删除实例时,您可以指定保留挂接的磁盘,而不考虑磁盘的自动删除设置。
如需删除单个可用区中的一个或多个实例,同时保留其挂接的磁盘,请使用带有
--keep-disks
标志的gcloud compute instances delete
命令:gcloud compute instances delete INSTANCE_NAMES \ --keep-disks=KEEP_DISK_TYPE \ --zone=ZONE
替换以下内容:
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-12-22。
-