我在EC2上运行了一些实例,需要将他们的IP地址保存在数据库中。为了保存主机名,我使用了以下函数(给出伪代码)
@roles("servers")
@parallel
def getHosts(instances):
saveInDB(env.host)
但是,我还需要一种类似的方式来访问实例的公共IP。我怎么能用面料做到这一点?
答案 0 :(得分:1)
您可以使用Amazon API获取IP或使用询问公共服务的命令:
def test():
run('curl -s http://whatismijnip.nl')
答案 1 :(得分:0)
实例的IP地址可以通过实例元数据api:http://169.254.169.254/latest/meta-data/public-ipv4
来检索当然你可以使用boto sdk