如何在python中获取当前ec2实例的公共ip?

时间:2014-08-31 05:41:09

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

如何在python中获取当前EC2实例的公共IP地址?

4 个答案:

答案 0 :(得分:6)

import urllib.request
urllib.request.urlopen("http://169.254.169.254/latest/meta-data/public-ipv4").read()

答案 1 :(得分:3)

如果您已使用boto,还可以使用boto.utils.get_instance_metadata功能。这使得对元数据服务器的调用收集所有元数据并将其作为Python字典返回。它还处理重试。

答案 2 :(得分:2)

import requests
ip = requests.get("http://169.254.169.254/latest/meta-data/public-ipv4").content

答案 3 :(得分:0)

def console(cmd):
    p = Popen(cmd,shell=True,stdout=PIPE)
    out,err = p.communicate()
    dir_list = out.split('\n')
    return (dir_list)
ip = console("http://169.254.169.254/latest/meta-data/public-ipv4")
print ip