[英]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.