从实例 ID 获取 ec2 实例元数据

Get ec2 instance metadata from instance id

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

有一种简单的方法可以从实例本身进行 "wget -q -O - http://169.254.169.254/latest/meta-data/instance-id"

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

任何帮助

谢谢

实例元数据仅在实例上可用,但您可以使用 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)

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

这就是你要找的吗?