【发布时间】:2021-02-12 03:04:31
【问题描述】:
我正在尝试找出我的 ec2 实例使用的实例元数据服务版本。
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-ec2 aws-cli
我正在尝试找出我的 ec2 实例使用的实例元数据服务版本。
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-ec2 aws-cli
如果您想从 EC2 实例中确定它,您可以尝试向http://169.254.169.254/ 发送请求,然后查看状态码是什么。
例如,此实例启用了 IMDSv2,不接受没有令牌的请求:
$ curl -w "%{http_code}\n" http://169.254.169.254/
401
401 状态码表示未经授权。
如果您拥有有权描述 EC2 实例的 AWS 访问密钥,则可以运行以下命令:
$ aws ec2 describe-instances --region us-west-2 --instance-id i-0123456789abcdef --query "Reservations[0].Instances[0].MetadataOptions"
{
"State": "applied",
"HttpTokens": "optional",
"HttpPutResponseHopLimit": 1,
"HttpEndpoint": "enabled"
}
此服务器不需要 IMDSv2(HttpTokens 是 optional)。
要启用 IMDSv2,您可以运行 aws ec2 modify-instance-metadata-options。
【讨论】:
让我总结一下我发现的here
curl http://169.254.169.254/latest/meta-data/
401 - Unauthorized,则它使用 IMDSv2 或非 IMDSv2。TOKEN=curl -X PUT "<http://169.254.169.254/latest/api/token"> -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" && curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/
如果要更改此配置follow this。
【讨论】: