创建虚拟机 (VM) 实例时,必须指定一个名称。创建虚拟机后,您可以选择重命名该虚拟机。在以下情况下,更改虚拟机名称可能很有用:
- 为了更好地表示在虚拟机上运行的工作负载。
- 引用虚拟机上运行的操作系统。
- 遵循组织要求的任何命名规则。
虚拟机统一资源标识符 (URI)
更改虚拟机的名称可能会影响您的项目。您可以通过虚拟机资源的 URI 来引用实例资源,而不是通过名称。URI 的格式如下:
projects/PROJECT_ID /zones/ZONE /instances/VM_ID
URI 包含以下值:
PROJECT_ID
:虚拟机所在项目的 ID。ZONE
:该虚拟机所在的可用区。VM_ID
:现有虚拟机的 ID。如需查看现有虚拟机的 ID,请查看虚拟机的详细信息,然后查看id
字段的值。
价格
重命名虚拟机不会改变向您收取的金额。此外,由于账单根据虚拟机的库存单元 (SKU) 而非其名称显示虚拟机,因此账单中不会显示虚拟机的名称。
限制
重命名虚拟机时,存在以下限制:
自动命名资源:
- 重命名虚拟机时,基于原始虚拟机名称的任何资源的名称都不会更新。例如,创建虚拟机时,启动磁盘的名称与虚拟机名称相同。如果重命名虚拟机,则启动磁盘的名称不会更改。
DHCP 服务器:
- 重命名虚拟机后,DHCP 服务器将以如下格式的更新后主机名响应 DHCP 请求:
HOSTNAME.c.PROJECT_ID.internal
(全局 DNS)和HOSTNAME.ZONE.c.PROJECT_ID.internal
(可用区 DNS)。如需了解详情,请参阅内部 DNS 名称的类型。
- 重命名虚拟机后,DHCP 服务器将以如下格式的更新后主机名响应 DHCP 请求:
Google Cloud 控制台:
- 您必须刷新浏览器,Google Cloud 控制台才能更新虚拟机的名称。
主机名:
更改实例名称时,主机名也会随之修改。在 Windows 上,可能需要重新启动才能更新主机名。
具有自定义主机名的虚拟机不会更新。
直接在主机上更改主机名不会影响虚拟机资源的名称。
代管式实例组:
- 您无法重命名代管式实例组 (MIG) 中的实例,因为这些实例会自动并永久地继承其无状态 MIG 的
base instance name
属性的名称。
- 您无法重命名代管式实例组 (MIG) 中的实例,因为这些实例会自动并永久地继承其无状态 MIG 的
命名规则:
您不能使用已被项目中其他虚拟机使用的名称重命名虚拟机。
虚拟机名称必须遵循资源命名规则。
虚拟机状态:
- 在重命名实例之前,请停止实例,因为您只能重命名处于
TERMINATED
状态的虚拟机。例如,您无法重命名处于SUSPENDED
状态的虚拟机。
- 在重命名实例之前,请停止实例,因为您只能重命名处于
准备工作
-
查看并更新以下内容(如果适用):
- Cloud Monitoring 组、图表和提醒:Monitoring 会匹配字符串,当您重命名虚拟机时,这些字符串不会更新。如果您重命名虚拟机,请更新 Monitoring 规则,以将重命名的虚拟机添加到您的报告中。
- 控制台网址:重命名虚拟机会更改其控制台网址。如果您重命名虚拟机,则必须更新引用该虚拟机的控制台网址的链接(例如浏览器书签)。
- Identity and Access Management (IAM) 条件角色绑定:条件角色绑定支持根据资源名称授予权限。例如,如果虚拟机的名称以特定字符串开头,IAM 可能会向用户授予角色。当您更改虚拟机的名称时,这些绑定不会更新,因此如果您更改了前缀名称适用的虚拟机,则用户对该虚拟机资源的访问权限可能会受到影响。如果您重命名虚拟机,请更新这些绑定。
-
内部 DNS 服务缓存:内部 DNS 服务向虚拟机分配内部 DNS 名称,其中主机名的格式为
HOSTNAME.c.PROJECT_ID.internal
(全局 DNS )和HOSTNAME.ZONE.c.PROJECT_ID.internal
(区域 DNS)。重命名虚拟机后,这些主机名会发生变化。然后,内部 DNS 服务会开始解析为新主机名,发送到先前 DNS 名称的请求会失败。如果您重命名虚拟机,则可能需要更新 DNS 缓存以更新主机名。如需详细了解全局 DNS 和区域 DNS 主机名,请参阅内部 DNS 名称的类型。 - 元数据查询:重命名虚拟机后,元数据服务器会报告新名称。如果您重命名虚拟机,请更新查询元数据服务器的任何脚本或程序,以使其查询虚拟机的新名称。
- 限制外部 IP 地址的组织政策:针对具有外部 IP 地址的虚拟机的限制条件引用虚拟机名称。您重命名虚拟机后,系统不会更新此限制条件。如果您重命名虚拟机,请使用虚拟机的新名称更新外部 IP 组织政策。
- SQL Server 主机名:如果您要重命名托管 SQL Server 的虚拟机,则必须更新 SQL 服务器虚拟机名称。如需了解详情,请参阅重命名托管 SQL Server 独立实例的计算机。
-
请设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
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 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色可提供重命名虚拟机所需的 compute.instances.setName
权限。
重命名虚拟机
您只能重命名处于 TERMINATED
状态的已停止的虚拟机。
如需重命名虚拟机,请执行以下操作:
在 Google Cloud 控制台中,前往虚拟机实例页面。
在名称列中,点击虚拟机的名称。
如果您尚未停止虚拟机,请执行以下操作:
点击
停止。点击停止进行确认。
停止虚拟机需要长达 90 秒才能完成。
点击
修改。在虚拟机实例名称字段中,为虚拟机输入新名称。
点击保存。
重命名虚拟机最多可能需要一分钟才能完成。如果在重命名虚拟机后收到“Google Cloud 找不到虚拟机”的错误,请刷新浏览器。
如果需要,请点击
启动/恢复以重启虚拟机。
如需重命名虚拟机,请执行以下操作:
停止虚拟机(如果尚未停止)。
如需重命名虚拟机,请使用
gcloud compute instances set-name
命令。gcloud compute instances set-name
VM_NAME \ --new-name=NEW_VM_NAME \ --project=PROJECT_ID \ --zone=ZONE 替换以下内容:
VM_NAME
:现有虚拟机的名称。NEW_VM_NAME
:指定虚拟机的新名称。PROJECT_ID
:虚拟机所在项目的 ID。ZONE
:该虚拟机所在的可用区。
重命名虚拟机最多可能需要一分钟才能完成。
如果需要,请重启虚拟机。
如需重命名虚拟机,请执行以下操作:
停止虚拟机(如果尚未停止)。
如需重命名虚拟机,请向
instances.setName
方法发出POST
请求。POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID /zones/ZONE /instances/VM_NAME /setName { "currentName": "VM_NAME ", "name": "NEW_VM_NAME " }替换以下内容:
PROJECT_ID
:虚拟机所在项目的 ID。ZONE
:该虚拟机所在的可用区。VM_NAME
:现有虚拟机的名称。NEW_VM_NAME
:指定虚拟机的新名称。
重命名虚拟机最多可能需要一分钟才能完成。要监控重命名状态,请轮询重命名 API 返回的操作 ID。如需了解详情,请参阅处理 API 响应。
如果需要,请重启虚拟机。
后续步骤
了解如何查看虚拟机的详细信息。
了解如何停止或重启虚拟机。
了解如何暂停或恢复虚拟机。
详细了解虚拟机生命周期。