【发布时间】:2021-08-30 17:33:43
【问题描述】:
我想了解一旦实例元数据服务的版本 2 在版本 1 上实施后如何获取 EC2 的“名称”标签值。
当我尝试通过 boto3 在 ec2 客户端下 describe_instances 时,我的请求返回访问被拒绝。
我创建了以下代码来访问 EC2 的元数据:
http_headers = { 'X-aws-ec2-metadata-token-ttl-seconds': 600, "content-type": "application/json"}
instance_details = None
connection = httplib.HTTPConnection('http://169.254.169.254')
connection.request('PUT', '/latest/api/token', None, http_headers)
response = connection.getresponse()
auth_token = response.read()
http_headers = {'X-aws-ec2-metadata-token': auth_token, "content-type": "application/json"}
connection.request('GET', '/2016-06-30/dynamic/instance-identity/document/', None, http_headers)
response = connection.getresponse()
instance_details = response.read()
这当然可以让我获得实例 ID、区域等,但我需要一种方法来获取与实例关联的一组标签。
我还没有看到将令牌添加到 boto3 客户端的方法。如果有人知道解决方法,请告诉我。
谢谢!
【问题讨论】:
-
将
ec2:DescribeInstances附加到与EC2关联的IAM角色
标签: python amazon-web-services amazon-ec2 boto3