查看实例元数据

最近更新时间: 2024-10-17 17:10:00

实例元数据即表示实例的相关数据,可以用来配置或管理正在运行的实例。

说明: 虽然只能从实例自身内部访问实例元数据,但数据并未进行加密保护。可访问实例的人员均可查看其元数据。因此,建议您应当采取适当的预防措施来保护敏感数据(例如使用永久加密密钥)。

实例元数据分类

提供如下元数据信息:

数据 描述 引入版本
instance-id 实例 ID 1.0
instance-name 实例名称 1.0
uuid 实例 ID 1.0
local-ipv4 实例内网 IP 1.0
public-ipv4 实例公网 IP 1.0
mac 实例 eth0 设备 mac 地址 1.0
placement/region 实例所在地域信息 2017-09-19 更新
placement/zone 实例所在可用区信息 2017-09-19 更新
network/interfaces/macs/${mac}/mac 实例网络接口设备地址 1.0
network/interfaces/macs/${mac}/primary-local-ipv4 实例网络接口主内网 IP 地址 1.0
network/interfaces/macs/${mac}/public-ipv4s 实例网络接口公网 IP 地址 1.0
network/interfaces/macs/${mac}/vpc-id 实例网络接口 VPC 网络 ID 2017-09-19 更新
network/interfaces/macs/${mac}/subnet-id 实例网络接口子网 ID 2017-09-19 更新
network/interfaces/macs/${mac}/local-ipv4s/${local-ipv4}/gateway 实例网络接口网关地址 1.0
network/interfaces/macs/${mac}/local-ipv4s/${local-ipv4}/local-ipv4 实例网络接口内网 IP 地址 1.0
network/interfaces/macs/${mac}/local-ipv4s/${local-ipv4}/public-ipv4 实例网络接口公网 IP 地址 1.0
network/interfaces/macs/${mac}/local-ipv4s/${local-ipv4}/public-ipv4-mode 实例网络接口公网网络模式 1.0
network/interfaces/macs/${mac}/local-ipv4s/${local-ipv4}/subnet-mask 实例网络接口子网掩码 1.0
payment/charge-type 实例计费类型 2017-09-19 更新
payment/create-time 实例创建时间 2017-09-19 更新
payment/termination-time 实例销毁时间 2017-09-19 更新
app-id 实例所属用户 AppId 2017-09-19 更新
as-group-id 实例所在弹性伸缩组 ID 2017-09-19 更新
spot/termination-time 竞价实例销毁时间 2017-09-19 更新
/instance/bandwidth-limit-egress 实例内网出方向带宽限制,单位Kbit/s 2017-09-19 更新
/instance/bandwidth-limit-ingress 实例内网入方向带宽限制,单位Kbit/s 2017-09-19 更新
/meta-data/instance/instance-type 实例规格 2017-09-19 更新
/instance/image-id 实例镜像 ID 2017-09-19 更新
/instance/security-group 实例绑定安全组信息 2017-09-19 更新

说明: 以上表格中字体 ${mac}${local-ipv4}字段分别表示实例指定网络接口的设备地址和内网 IP 地址。

请求的目标URL地址,大小写敏感。请严格按照请求的返回结果来构造新请求的目标 URL 地址。

当前版本对 placement 返回数据发生了变更,若您需要使用以前版本的数据,则您可以指定以前版本路径或是不指定版本路径从而访问版本1.0的数据,对于placement返回数据请参考 地域和可用区

查询实例元数据

在实例内部可以通过实例元数据访问实例本地 IP、公网 IP 等数据以管理与外部应用程序的连接。 要从运行实例内部查看所有类别的实例元数据,请使用以下 URI:

http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/

您可以通过 cURL 工具或是 HTTP 的 GET 请求来访问 metadata,例如:

curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/
  • 对于不存在的资源,会返回 HTTP 错误代码404 - Not Found。

  • 对实例元数据的操作均只能从实例内部进行。请先完成实例登录操作。有关登录实例的更多内容,请参考 登录 Windows 实例登录 Linux 实例

查询元数据示例

以下示例说明如何获取 metadata 版本信息。

注意: 当腾讯云金融专区修改 metadata 访问路径或返回数据时,会发布新的 metadata 版本,如果您的应用程序或脚本依赖于以前版本的结构或返回数据,则您可以使用指定早期版本访问 metadata。不指定版本则默认访问1.0版本。

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/
1.0
2017-09-19
latest
meta-data

以下示例说明如何查看 metadata 根目录。其中以/结尾的单词表示目录,不以/结尾的单词表示访问数据。具体访问数据含义请参考前文实例 metadata 分类

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/
instance-id
instance-name
local-ipv4
mac
network/
placement/
public-ipv4
uuid

以下示例说明如何获取实例物理所在地信息。返回数据与物理所在地关系请参考 地域和可用区

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/placement/region
ap-guangzhou

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/placement/zone
ap-guangzhou-3

以下示例说明如何获取实例内网 IP。实例存在多张网卡时,返回 eth0 设备的网络地址。

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/local-ipv4
10.104.13.59

以下示例说明如何获取实例公网 IP。

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/public-ipv4
139.199.11.29

以下示例说明如何获取实例 ID。实例 ID 是实例的唯一标识。

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/instance-id
ins-3g445roi

以下示例说明如何获取实例 uuid。实例 uuid 可作为实例的唯一标识,推荐使用实例 ID 用于区分实例。

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/uuid
cfac763a-7094-446b-a8a9-b995e638471a

以下示例说明如何获取实例 eth0 设备 mac 地址。

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/mac
52:54:00:BF:B3:51

以下示例说明如何获取实例网卡信息。多张网卡会返回多行数据,每行数据为一张网卡的数据目录。

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/network/interfaces/macs/
52:54:00:BF:B3:51/

以下示例说明如何获取指定网卡信息。

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/network/interfaces/macs/52:54:00:BF:B3:51/
local-ipv4s/
mac
vpc-id
subnet-id
owner-id
primary-local-ipv4
public-ipv4s
local-ipv4s/

以下示例说明如何获取指定网卡所属私有网络信息。

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/network/interfaces/macs/52:54:00:BF:B3:51/vpc-id
vpc-ja82n9op

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/network/interfaces/macs/52:54:00:BF:B3:51/subnet-id
subnet-ja82n9op

以下示例说明如何获取指定网卡绑定内网 IP 地址列表。网卡若绑定多个内网 IP ,则返回多行数据。

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/network/interfaces/macs/52:54:00:BF:B3:51/local-ipv4s/
10.104.13.59/

以下示例说明如何获取内网 IP 信息。

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/network/interfaces/macs/52:54:00:BF:B3:51/local-ipv4s/10.104.13.59
gateway
local-ipv4
public-ipv4
public-ipv4-mode
subnet-mask

以下示例说明如何获取内网IP网关。仅 VPC 机型可查询该数据。VPC 机型请参考 私有网络

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/network/interfaces/macs/52:54:00:BF:B3:51/local-ipv4s/10.104.13.59/gateway
10.15.1.1

以下示例说明如何获取内网 IP 访问公网模式。仅 VPC 机型可查询该数据。基础网络机型通过公网网关访问公网。

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/network/interfaces/macs/52:54:00:BF:B3:51/local-ipv4s/10.104.13.59/public-ipv4-mode
NAT

以下示例说明如何获取内网 IP 绑定公网 IP。

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/network/interfaces/macs/52:54:00:BF:B3:51/local-ipv4s/10.104.13.59/public-ipv4
139.199.11.29

以下示例说明如何获取内网 IP 子网掩码。

[qcloud-user]# curl http://product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/network/interfaces/macs/52:54:00:BF:B3:51/local-ipv4s/10.104.13.59/subnet-mask
255.255.192.0

以下示例说明如何获取实例计费类型。

[qcloud-user]# curl product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/payment/charge-type
POSTPAID_BY_HOUR

以下示例说明如何获取实例创建时间。

[qcloud-user]# curl product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/payment/create-time
2018-09-18 11:27:33

以下示例说明如何获取实例销毁时间。(仅预付费模式)

[qcloud-user]# curl product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/payment/termination-time
2018-10-18 11:27:33

以下示例说明竞价实例如何获取实例销毁时间。

[qcloud-user]# curl product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/spot/termination-time
2018-08-18 12:05:33

以下示例说明如何获取子机所属账户 AppId。

[qcloud-user]# curl product-cvm-metadata.${region_name}.${domain_name}/latest/meta-data/app-id
123456789

查询实例用户数据

您可以在创建实例时指定实例用户数据,设置 cloud-init 后的子机可以访问到该数据。

检索用户数据

用户可以在子机内部通过以下方式访问用户数据。

[qcloud-user]# curl product-cvm-metadata.${region_name}.${domain_name}/latest/user-data
179, client, shanghai