默认虚拟机元数据值


Compute Engine 定义了一组默认元数据条目,用于提供有关您的虚拟机 (VM) 实例或项目的信息。默认元数据始终由服务器定义和设置。 默认元数据键区分大小写。

如需了解如何查询元数据值,请参阅查询虚拟机元数据

元数据值的排列方式

  • 项目和实例元数据:元数据可以分配给项目和虚拟机。项目元数据会传播到项目内的所有虚拟机,而实例元数据仅适用于单个虚拟机。

  • 目录列表:某些元数据条目是包含其他元数据键的目录。此类条目的元数据名称会以斜杠结尾,因此很容易识别。例如,attributes/ 是包含其他元数据键的目录。

项目元数据

项目元数据条目存储在以下目录下:

  • http://metadata.google.internal/computeMetadata/v1/project/
元数据条目 说明
attributes/

在启动或关停期间传递给项目中虚拟机的自定义元数据值的目录。这些自定义值可以是 Google Cloud 特性或用户创建的元数据值。

如需查看您可以设置的项目级 Google Cloud 特性的列表,请参阅项目特性

如需详细了解如何设置自定义元数据,请参阅设置自定义元数据

numeric-project-id 此实例的数字项目 ID(项目编号)(而非 Google Cloud 控制台中显示的项目名称)。此值与 project-id 元数据条目值不同。
project-id 项目 ID

项目特性

项目特性存储在以下目录下:

  • http://metadata.google.internal/computeMetadata/v1/project/attributes/
元数据条目 说明
disable-legacy-endpoints

对项目中的所有虚拟机停用旧版元数据服务器端点。

旧版端点已弃用,请始终设置 disable-legacy-endpoints=TRUE

enable-guest-attributes

设置项目的客机特性。

客机特性是自定义虚拟机实例元数据值,可用于发布不常见状态通知、少量数据或频率较低的数据。这些值可用于指示启动脚本的完成时间,或用于向其他应用提供有关其他不常见状态的通知。

如需详细了解客户机属性,请参阅设置和查询客户机属性

enable-os-inventory

为项目启用或停用操作系统清点。

收集和存储操作系统详细信息。其中包括主机名、内核版本、架构和已安装的软件包详细信息等信息。

如需详细了解操作系统清单,请参阅查看操作系统详情

enable-oslogin

启用或停用项目的 SSH 密钥管理。

如需详细了解 OS Login,请参阅设置 OS Login

enable-windows-ssh

为 Windows 虚拟机启用或停用 SSH。

如需了解详情,请参阅使用 SSH 连接到 Windows 虚拟机

google-compute-default-region 如果设置此项,则系统会存储项目使用的默认区域。

如需详细了解如何设置默认区域,请参阅默认区域和可用区

google-compute-default-zone 如果设置此项,则系统会存储项目使用的默认可用区。

如需详细了解如何设置默认可用区,请参阅默认区域和可用区

ssh-keys

如果您使用元数据管理 SSH 密钥,则可以通过此特性配置可连接到此项目中虚拟机的 SSH 公钥。如果有多个 SSH 密钥,则各个密钥之间将以换行符 (\n) 分隔。ssh-keys 特性的值是一个字符串。

示例"user1:ssh-rsa mypublickey user1@host.com\nuser2:ssh-rsa mypublickey user2@host.com"

OS Login 管理的 SSH 密钥不会显示在元数据中。

sshKeys 已弃用:使用 ssh-keys
vmdnssetting

为您项目中的虚拟机启用可用区 DNS 和全球 DNS。

如需详细了解内部 DNS 名称,请参阅内部 DNS

虚拟机实例元数据

虚拟机元数据条目存储在以下目录中:

  • http://metadata.google.internal/computeMetadata/v1/instance/
元数据条目 说明
attributes/

在启动或关停期间传递给此虚拟机的自定义元数据值的目录。这些自定义值可以是 Google Cloud 特性或用户创建的元数据值。

如需查看可供设置的实例级 Google Cloud 特性的列表,请参阅实例特性

如需详细了解如何设置自定义元数据,请参阅设置自定义元数据

cpu-platform

虚拟机的 CPU 平台。

如需了解 CPU 平台,请参阅 CPU 平台

description 此实例的自由文本说明;可以使用 Google Cloud CLI 或 API 通过 --description 标志分配。
disks/

挂接到虚拟机的磁盘目录。对于每个磁盘,您可以看到以下信息:

  • device-name
  • index
  • interface
  • mode
  • type

如需详细了解磁盘,请参阅存储选项

guest-attributes/

设置虚拟机的客机特性。这些自定义值可以是 Google Cloud 特性或用户创建的元数据值。

如需查看可供设置的实例级 Google Cloud 特性的列表,请参阅实例客机特性

如需详细了解客户机属性,请参阅设置和查询客户机属性

hostname 虚拟机的主机名。
id 虚拟机的 ID。这是由 Compute Engine 生成的唯一数字 ID。如果您未使用虚拟机名称,这将有助于识别虚拟机。
image 虚拟机使用的操作系统映像。该值的格式如下:projects/IMAGE_PROJECT/global/images/IMAGE_NAME
legacy-endpoint-access/ 存储旧版端点的列表。值为 0.1v1beta1
licenses/ 用于将许可附加到映像、快照和磁盘的许可代码 ID 的列表。
machine-type 此虚拟机的机器类型。该值的格式如下:projects/PROJECT_NUM/machineTypes/MACHINE_TYPE
maintenance-event 指示维护事件是否正影响此虚拟机。如需了解详情,请参阅实时迁移
name 虚拟机的名称。
network-interfaces/

网络接口目录。对于每个网络接口,系统会提供以下信息:

  • access-configs/

    • external-ip
    • type
  • dns-servers
  • forwarded-ips/
  • gateway
  • ip
  • ip-aliases/
  • mac
  • mtu
  • network
  • subnetmask
  • target-instance-ips

如需详细了解网络接口,请参阅多个网络接口概览

preempted

一个布尔值,指示虚拟机是否即将被抢占。

scheduling/

设置虚拟机的时间安排选项。

安排元数据值包括:

  • on-host-maintenance:指示在主机维护期间虚拟机终止还是实时迁移。
  • automatic-restart:如果此值为 TRUE,则虚拟机会在维护事件或崩溃后自动重启。
  • preemptible:如果此值为 TRUE,则表示虚拟机为抢占式实例。此值是在您创建虚拟机时设置的,无法更改。

如需详细了解时间安排选项,请参阅设置实例可用性政策

service-accounts/

与此虚拟机关联的服务账号的目录。对于每个服务账号,系统会提供以下信息:

  • aliases
  • email:服务账号的电子邮件地址。
  • identity:虚拟机独有的 JSON Web 令牌。您必须在针对此虚拟机元数据值的请求中添加 audience 参数。例如,?audience=http://www.example.com

    如需了解如何请求和验证实例身份令牌,请参阅验证虚拟机身份

  • scopes:分配给服务账号的访问权限范围。
  • token:可用于对应用进行身份验证的 OAuth2 访问令牌。

    如需了解访问令牌,请参阅直接使用访问令牌对应用进行身份验证

如需详细了解 Compute Engine 如何使用服务账号,请参阅服务账号

tags

列出与虚拟机关联的所有网络标记。

如需详细了解网络标记,请参阅添加网络标记

zone 此虚拟机所在的可用区。该值的格式如下: projects/PROJECT_NUM/zones/ZONE

实例特性

实例特性存储在以下目录下:

  • http://metadata.google.internal/computeMetadata/v1/instance/attributes/
元数据条目 说明
physical_host

表示创建时使用了紧凑布置政策的虚拟机所在位置的哈希字符串。

如需详细了解此属性,请参阅验证虚拟机的实际位置

enable-oslogin

在虚拟机上启用或停用 SSH 密钥管理。

如需详细了解 OS Login,请参阅设置 OS Login

enable-windows-ssh

为 Windows 虚拟机启用或停用 SSH。

如需了解详情,请参阅使用 SSH 连接到 Windows 虚拟机

vmdnssetting

为虚拟机启用可用区 DNS 和全球 DNS。

如需详细了解内部 DNS 名称,请参阅内部 DNS

ssh-keys

如果您使用元数据管理 SSH 密钥,则可以通过此特性配置可连接到此项目中虚拟机的 SSH 公钥。如果有多个 SSH 密钥,则各个密钥之间将以换行符 (\n) 分隔。ssh-keys 特性的值是一个字符串。

示例"user1:ssh-rsa mypublickey user1@host.com\nuser2:ssh-rsa mypublickey user2@host.com"

OS Login 管理的 SSH 密钥不会显示在元数据中。

实例客机特性

实例客机特性存储在以下目录下:

  • http://metadata.google.internal/computeMetadata/v1/instance/guest-attributes
元数据条目 说明
guestInventory/

存储虚拟机的操作系统清点。

收集和存储操作系统详细信息。其中包括主机名、内核版本、架构和已安装的软件包详细信息等信息。

如需详细了解操作系统清单,请参阅查看操作系统详情

hostkeys/

存储 SSH 主机密钥。主机密钥可用于识别特定主机或机器。

如需了解主机密钥,请参阅通过启用客机特性存储主机密钥

后续步骤