有奖捉虫:云通信与企业服务文档专题,速来> HOT
实例元数据即表示实例的相关数据,可以用来配置或管理正在运行的实例。
说明:
虽然只能从实例自身内部访问实例元数据,但数据并未被加密保护。可访问实例的人员均可查看其元数据。因此,您应当采取适当的预防措施来保护敏感数据。

实例元数据分类

腾讯云现在提供如下元数据信息:
数据
描述
引入版本
instance-id
实例 ID
1.0
instance-name
实例名称
1.0
uuid
实例 UUID
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/instance-type
实例规格
2017-09-19 更新
instance/image-id
实例镜像 ID
2017-09-19 更新
instance/security-group
实例绑定安全组信息
2017-09-19 更新
instance/bandwidth-limit-egress
实例内网出方向带宽限制,单位Kbit/s
2019-09-29 更新
instance/bandwidth-limit-ingress
实例内网入方向带宽限制,单位Kbit/s
2019-09-29 更新
cam/security-credentials/${role-name}
实例 CAM 角色策略所生成的临时凭证。只有在实例绑定了 CAM 角色后,您才能获取临时凭证。其中 ${role-name} 参数需要替换为实例 CAM 角色的名称。如果未指定,将返回404。
2019-12-11 更新
volumes
实例存储
1.0

说明:
以上表格中 ${mac}${local-ipv4} 字段分别表示实例指定网络接口的设备地址和内网 IP 地址。
请求的目标URL地址,大小写敏感。请严格按照请求的返回结果来构造新请求的目标 URL 地址。
当前版本对 placement 返回数据发生了变更,若您需要使用以前版本的数据,则您可以指定以前版本路径或是不指定版本路径从而访问版本1.0的数据,对于placement返回数据请参考 地域和可用区

查询实例元数据

在实例内部可以通过实例元数据访问实例本地 IP、公网 IP 等数据以管理与外部应用程序的连接。 要从运行实例内部查看所有类别的实例元数据,请使用以下 URL:
http://metadata.tencentyun.com/latest/meta-data/
您可以通过 cURL 工具或是 HTTP 的 GET 请求来访问 metadata,例如:
curl http://metadata.tencentyun.com/latest/meta-data/
对于不存在的资源,会返回 HTTP 错误代码404 - Not Found。
对实例元数据的操作均只能从实例内部进行。请先完成实例登录操作。有关登录实例的更多内容,请参考 登录 Windows 实例登录 Linux 实例

查询元数据示例

以下示例说明如何获取 metadata 版本信息。
注意:
当腾讯云修改 metadata 访问路径或返回数据时,会发布新的 metadata 版本,如果您的应用程序或脚本依赖于以前版本的结构或返回数据,则您可以使用指定早期版本访问 metadata。不指定版本则默认访问1.0版本。
[qcloud-user]# curl http://metadata.tencentyun.com/
1.0
2017-09-19
latest
meta-data
以下示例说明如何查看 metadata 根目录。其中以/结尾的单词表示目录,不以/结尾的单词表示访问数据。具体访问数据含义请参考前文实例 metadata 分类
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/
instance-id
instance-name
local-ipv4
mac
network/
placement/
public-ipv4
uuid
以下示例说明如何获取实例物理所在地信息。返回数据与物理所在地关系请参考 地域和可用区
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/placement/region
ap-guangzhou

[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/placement/zone
ap-guangzhou-3
以下示例说明如何获取实例内网 IP。实例存在多张网卡时,返回 eth0 设备的网络地址。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/local-ipv4
10.104.13.59
以下示例说明如何获取实例公网 IP。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/public-ipv4
139.199.11.29
以下示例说明如何获取实例 ID。实例 ID 是实例的唯一标识。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/instance-id
ins-3g445roi
以下示例说明如何获取实例 uuid。实例 uuid 可作为实例的唯一标识,推荐使用实例 ID 用于区分实例。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/uuid
cfac763a-7094-446b-a8a9-b995e638471a
以下示例说明如何获取实例 eth0 设备 mac 地址。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/mac
52:54:00:BF:B3:51
以下示例说明如何获取实例网卡信息。多张网卡会返回多行数据,每行数据为一张网卡的数据目录。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/
52:54:00:BF:B3:51/
以下示例说明如何获取指定网卡信息。
[qcloud-user]# curl http://metadata.tencentyun.com/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://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/52:54:00:BF:B3:51/vpc-id
vpc-ja82n9op

[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/52:54:00:BF:B3:51/subnet-id
subnet-ja82n9op
以下示例说明如何获取指定网卡绑定内网 IP 地址列表。网卡若绑定多个内网 IP ,则返回多行数据。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/52:54:00:BF:B3:51/local-ipv4s/
10.104.13.59/
以下示例说明如何获取内网 IP 信息。
[qcloud-user]# curl http://metadata.tencentyun.com/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://metadata.tencentyun.com/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://metadata.tencentyun.com/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://metadata.tencentyun.com/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://metadata.tencentyun.com/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 http://metadata.tencentyun.com/latest/meta-data/payment/charge-type
POSTPAID_BY_HOUR
以下示例说明如何获取实例创建时间。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/payment/create-time
2018-09-18 11:27:33
以下示例说明如何获取实例销毁时间。(仅预付费模式)
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/payment/termination-time
2018-10-18 11:27:33
以下示例说明竞价实例如何获取实例销毁时间。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/spot/termination-time
2018-08-18 12:05:33
以下示例说明如何获取子机所属账户 AppId。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/app-id
123456789
以下示例说明如何获取实例 CAM 角色所生成的临时凭证。CVMas 为示例使用的 rolename。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/cam/security-credentials/CVMas
{
"TmpSecretId": "AKIDoQMxA6cW447p225cIt9NW8dhA1dwl5UvxxxxxxxxxUqRlEb5_",
"TmpSecretKey": "Q9z24VucjF4xQQN1PEsH3exxxxxxxxxgA=",
"ExpiredTime": 1615590047,
"Expiration": "2021-03-12T23:00:47Z",
"Token": "xxxxxxxxxxx",
"Code": "Success"
}
以下示例说明如何获取实例存储。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/volumes
disk-xxxxxxxx/

查询实例用户数据

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

检索用户数据

用户可以在子机内部通过以下方式访问用户数据。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/user-data
179, client, shanghai