【问题标题】:Get ec2 instance metadata from instance id从实例 id 获取 ec2 实例元数据
【发布时间】:2015-03-16 22:50:20
【问题描述】:

您好,我正在使用 boto 来启动 ec2 现货实例。我无法从实例 ID 获取实例主机名。

从实例本身“wget -q -O - http://169.254.169.254/latest/meta-data/instance-id”有简单的方法

但我正在寻找使用实例 ID 获取元数据的方法

任何帮助

谢谢

【问题讨论】:

    标签: python amazon-ec2 automation boto


    【解决方案1】:

    实例元数据仅在实例上可用,但您可以使用 EC2 API 获取有关您的实例的大量信息。所以,如果你有实例 ID,你可以这样做:

    import boto.ec2
    conn = boto.ec2.connect_to_region('us-east-1')  # or whatever region you use
    reservations = conn.get_all_instances(instance_ids='i-12345678')
    instance = reservations[0].instances[0]
    print(instance.public_dns_name)
    

    将打印实例的公共 DNS 名称(即主机名)。

    这就是你要找的吗?

    【讨论】:

    • 我收到以下错误 Traceback (最近一次调用最后一次): File "", line 1, in TypeError: get_all_instances() got an unexpected keyword argument 'instance_id'
    • 对不起,参数是instance_ids。它可以是一个 id 列表或只是一个值。我更正了示例代码。
    猜你喜欢
    • 2010-10-12
    • 2011-07-01
    • 2011-11-21
    • 2013-02-27
    • 2016-05-13
    • 2015-05-13
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    相关资源
    最近更新 更多