所以我有一个公共IP地址列表,我想知道它们是否是与我们帐户关联的公共IP。我知道我可以将每个IP粘贴到AWS EC2控制台的搜索框中。但是我想通过Python程序自动化这个过程。
我告诉你在控制台中可以做的任何事情,你可以通过CLI /程序来做,但是根据它是否是与我们的帐户关联的公共IP,我可以使用哪个函数简单地返回结果? ?
据我所知,我可能需要进行两次搜索,其中一次实例(包括非EIP公共IP)和一种EIP(其中包括我们仍然拥有的解除关联的EIP)。
但是怎么样?
答案 0 :(得分:2)
使用boto,您需要做的第一件事是调用connect_to_region以连接到您感兴趣的AWS区域。(如果您在多个地区有实例,那么您需要逐个迭代每个区域。)
连接到某个区域后,您需要调用get_only_instances,这将返回实例对象列表。浏览这些对象的列表,查看实例公共IP的ip_address字段(或私有实例的private_ip_address字段)。
然后,您需要致电get_all_addresses以获取弹性IP列表。在这种情况下,您将需要循环遍历EIP对象列表并查看public_ip字段。如果你想确定EIP与哪个实例相关联(如果有的话),那么instance_id字段就会这样做。
答案 1 :(得分:0)
以下是我提出的方法:
查找所有IP以查看它们是否是与我们的AWS账户关联的EIP
欢迎评论。