【问题标题】:How to get self Instance Id of the running EC2 instance using boto?如何使用 boto 获取正在运行的 EC2 实例的自身实例 ID?
【发布时间】:2020-01-08 00:26:37
【问题描述】:

使用 python boto API(不是 Boto3),我如何在用户数据中获取运行脚本的 CPU 的自实例 ID。

【问题讨论】:

标签: amazon-web-services amazon-ec2 boto


【解决方案1】:

使用boto从本地元数据服务中获取实例ID,如下:

import boto.utils
meta = boto.utils.get_instance_metadata()
id = meta['instance-id']
print('instance ID:', id)

请注意boto3 does not include this capability。一种选择是直接使用原生 urllib 包直接从元数据服务中查询,如下:

# For python v2
import urllib2
id = urllib2.urlopen('http://169.254.169.254/latest/meta-data/instance-id').read()
print('instance ID:', id)

# For python v3
import urllib.request
id = urllib.request.urlopen('http://169.254.169.254/latest/meta-data/instance-id').read().decode()
print('instance ID:', id)

或者,您可以 pip install 并使用adamchainz/ec2-metadata,如下所示:

from ec2_metadata import ec2_metadata
print('region:', ec2_metadata.region)
print('instance ID:', ec2_metadata.instance_id)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    • 2010-10-12
    • 1970-01-01
    • 2011-07-01
    • 2013-10-23
    • 2015-05-13
    • 1970-01-01
    相关资源
    最近更新 更多