实例元数据可以用来配置或管理正在运行的ECS实例,例如为ECS实例绑定密钥对、修改主机名等。本文介绍如何查看实例元数据。
前提条件
实例处于运行中状态。
实例的网络类型为专有网络VPC。
查看模式说明
ECS实例的元数据默认同时支持普通模式或加固模式来查看元数据。两者区别如下:
对比项 | 普通模式 | 加固模式 |
交互方式 | 请求/响应 | 会话 |
鉴权方式 | 同VPC内源IP地址鉴权 | 同VPC内源IP地址鉴权+元数据服务器访问凭证鉴权 该访问凭证有以下特点:
|
查看方法 | 通过命令直接访问endpoint | 先获取元数据服务器访问凭证进行鉴权,再访问endpoint。 |
操作步骤
实例或实例元数据中若包含了敏感数据,建议您采取适当的措施来保护敏感数据,例如访问控制、数据加密等。
(推荐)加固模式下查看
获取元数据服务器访问凭证。
获取元数据之前,需先获取元数据服务器的访问凭证,并设置其有效期用于鉴权,以加强数据安全。超过有效期后,需重新获取凭证,否则无法获取实例元数据。访问凭证特性,请参见查看模式说明。
<元数据服务器访问凭证有效期>
:取值范围为1~21600,单位为秒。Linux实例
TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:<元数据服务器访问凭证有效期>"`
Windows实例
$token = Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token-ttl-seconds" = "<元数据服务器访问凭证有效期>"} -Method PUT –Uri http://100.100.100.200/latest/api/token
运行以下命令,查看指定实例元数据项。
在
元数据服务器访问凭证
的有效期内,可以重复使用以下命令继续查询实例的其他元数据信息。<metadata>
:需替换为具体的实例元数据项,请参见实例元数据项。Linux实例
查看基本元数据项
curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/meta-data/<metadata>
查看动态元数据项
curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/<metadata>
Windows实例
查看基本元数据项
Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token" = $token} -Method GET -Uri http://100.100.100.200/latest/meta-data/<metadata>
查看动态元数据项
Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token" = $token} -Method GET -Uri http://100.100.100.200/latest/<metadata>
普通模式下查看
<metadata>
:需替换为具体的实例元数据项,请参见实例元数据项。
Linux实例
查看基本实例元数据项
curl http://100.100.100.200/latest/meta-data/<metadata>
查看动态实例元数据项
curl http://100.100.100.200/latest/<metadata>
Windows实例
查看基本实例元数据项
Invoke-RestMethod http://100.100.100.200/latest/meta-data/<metadata>
查看动态实例元数据项
Invoke-RestMethod http://100.100.100.200/latest/<metadata>
常见问题
Q:加固模式下,使用命令无法查看实例元数据。
A:请确认查询命令是否正确。常见错误命令如下:
元数据服务器访问凭证的有效期超范围(1秒~21600秒)
curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds: 21700"
请求中存在X-Forwarded-For标头
curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-Forwarded-For: www.ba****.com"
指定的元数据服务器访问凭证无效
curl -H "X-aliyun-ecs-metadata-token: aaa" -v http://100.100.100.200/latest/meta-data/