[英]How to tell if my AWS account “owns” a given IP address in Python boto
[英]How to tell if AWS Elastic Network Interface (ENI) has a public IP address using Python boto?
我正在审核安全组,现在我的任务是找到没有公共IP地址的ENI,并且带有引用公共IP地址的入站安全组规则。
我有遍历ENI的代码,并查看了每个ENI附带的安全组,我希望将其回收。 这是代码:
used_sgs = {}
enis = ec2_conn.get_all_network_interfaces()
for eni in enis:
eni_sgs = eni.groups
for sg in eni_sgs:
sgn = sg.name
if sgn not in used_sgs:
used_sgs[sgn] = 0
used_sgs[sgn]+=1
我是否可以嗅探一下ENI是否具有公共IP的属性? 还是我必须采取其他方法(遍历实例,或获取ENI附件,或其他方法)?
eni.publicIp
并非所有enis都有与它们关联的publicIp。 因此,检查publicIp属性是否存在,然后获取该值
for eni in enis:
if hasattr(eni, 'publicIp') and eni.publicIp:
print eni.id, eni.publicIp
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.