说明:
虽然只能从实例自身内部访问实例元数据,但数据并未被加密保护。可访问实例的人员均可查看其元数据。因此,您应当采取适当的预防措施来保护敏感数据。
实例元数据分类
腾讯云现在提供如下元数据信息:
|
数据
|
描述
|
引入版本
|
|
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 角色策略所生成的临时凭证。临时凭证有效时长为12小时。只有在实例绑定了 CAM 角色后,您才能获取临时凭证。其中 ${role-name} 参数需要替换为实例 CAM 角色的名称。如果未指定,将返回404。
|
2019-12-11 更新
|
|
volumes
|
实例存储
|
1.0
|
|
ntp/servers
|
NTP 服务器地址
|
1.0
|
|
public-keys/[index]/openssh-key
|
实例公有密钥,仅在实例绑定了公有密钥的情况下可用
|
1.0
|
说明:
以上表格中
${mac} 和 ${local-ipv4} 字段分别表示实例指定网络接口的设备地址和内网 IP 地址。请求的目标URL地址,大小写敏感。请严格按照请求的返回结果来构造新请求的目标 URL 地址。
当前版本对 placement 返回数据发生了变更,若您需要使用以前版本的数据,则您可以指定以前版本路径或是不指定版本路径从而访问版本1.0的数据。
查询实例元数据
在实例内部可以通过实例元数据访问实例本地 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.xx.xx
以下示例说明如何获取实例公网 IP。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/public-ipv4
139.199.xx.xx
以下示例说明如何获取实例 ID。实例 ID 是实例的唯一标识。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/instance-id
ins-xxxxxxxx
以下示例说明如何获取实例 UUID。实例 UUID 可作为实例的唯一标识,推荐使用实例 ID 用于区分实例。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/uuid
cfac763a-xxxx-xxxx-xxxx-b995e638471a
以下示例说明如何获取实例 eth0 设备 mac 地址。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/mac
52:54:00:xx:xx:xx
以下示例说明如何获取实例网卡信息。多张网卡会返回多行数据,每行数据为一张网卡的数据目录。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/
52:54:00:xx:xx:xx/
以下示例说明如何获取指定网卡信息。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/52:54:00:xx:xx:xx
mac
vpc-id
subnet-id
owner-id
primary-local-ipv4
public-ipv4s
local-ipv4s/
local-ipv6s/
vpc-ipv6-cidr-blocks
ipv6-gateway
以下示例说明如何获取指定网卡所属私有网络信息。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/52:54:00:xx:xx:xx/vpc-id
vpc-xxxxxxxx
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/52:54:00:xx:xx:xx/subnet-id
subnet-xxxxxxxx
以下示例说明如何获取指定网卡绑定内网 IP 地址列表。网卡若绑定多个内网 IPv4 ,则返回多行数据。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/52:54:00:xx:xx:xx/local-ipv4s/
10.104.xx.xx/
以下示例说明如何获取内网 IPv4 信息。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/52:54:00:xx:xx:xx/local-ipv4s/10.104.xx.xx
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.xx.xx/gateway
10.15.x.x
以下示例说明如何获取内网 IP 访问公网模式。仅 VPC 机型可查询该数据。基础网络机型通过公网网关访问公网。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/52:54:00:xx:xx:xx/local-ipv4s/10.104.xx.xx/public-ipv4-mode
NAT
以下示例说明如何获取内网 IP 绑定公网 IP。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/52:54:00:xx:xx:xx/local-ipv4s/10.104.xx.xx/public-ipv4
139.199.xx.xx
以下示例说明如何获取内网 IPv6 地址。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/52:54:00:xx:xx:/local-ipv6s
2402:4e00:101d:xxxx:x:xxxx:xxxx:xxxx
以下示例说明如何获取内网 IP 子网掩码。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/52:54:00:xx:xx:xx/local-ipv4s/10.104.xx.xx/subnet-mask
255.255.xxx.x
以下示例说明如何获取实例计费类型。
[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”: “************************************”,
“TmpSecretKey”: “********************************”,
“ExpiredTime”: 1615590047,
“Expiration”: “2021-03-12T23:00:47Z”,
“Token”: “******”,
“Code”: “Success”
}
以下示例说明如何获取实例存储。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/volumes
disk-xxxxxxxx/
以下示例说明如何获取NTP服务器地址。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/ntp/servers
ntpupdate.tencentyun.com
以下示例说明如何获取实例公有密钥。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/public-keys/0/openssh-key
ssh-rsa ****** skey-xxxxxxxx
查询实例用户数据
您可以在创建实例时指定实例用户数据,设置 cloud-init 后的子机可以访问到该数据。
检索用户数据
用户可以在子机内部通过以下方式访问用户数据。
[qcloud-user]# curl http://metadata.tencentyun.com/latest/user-data
179, client, shanghai
179, client, shanghai
