У меня есть список групп безопасности на python, и мне нужно выяснить, с каким экземпляром EC2 / RDS или ELB они связаны.Какой самый простой способ сделать это в Boto3?
Кроме того, насколько я понимаю, одна группа безопасности может быть присоединена к нескольким экземплярам, а к одному экземпляру EC2 может быть подключено несколько групп безопасности, поэтому мне нужно найти способопределить эти отношения, чтобы лучше очистить его.То, что я имею право, это список объектов групп безопасности в python.
Это мой текущий код:
import boto3
import json
# regions = ["us-east-1","ap-southeast-1","ap-southeast-2","ap-northeast-1","eu-central-1","eu-west-1"]
regions = ["us-east-1"]
uncompliant_security_groups = []
for region in regions:
ec2 = boto3.resource('ec2', region_name=region)
sgs = list(ec2.security_groups.all())
for sg in sgs:
for rule in sg.ip_permissions:
# Check if list of IpRanges is not empty, source ip meets conditions
if len(rule.get('IpRanges')) > 0 and rule.get('IpRanges')[0]['CidrIp'] == '0.0.0.0/0':
if rule.get('FromPort') == None:
uncompliant_security_groups.append(sg)
if rule.get('FromPort') != None and rule.get('FromPort') < 1024 and rule.get('FromPort') != 80 and rule.get('FromPort') != 443:
uncompliant_security_groups.append(sg)
print(uncompliant_security_groups)
print(len(uncompliant_security_groups))
for sec_group in uncompliant_security_groups: