boto3 список групп безопасности, связанных с экземплярами ec2 - PullRequest
0 голосов
/ 30 апреля 2019

возможно ли перечислить все группы безопасности, связанные с экземпляром EC2 с boto3?если да, то как это сделать?

Я пробовал следующие методы, но они не делают то, что я хочу:

for region in regions:
    client = boto3.client('ec2', region_name=region)
    try:
        payload = client.describe_security_groups(Filters=[{'Name': 'vpc-id', 'Values': ['vpc-*']}])
        for sg in payload["SecurityGroups"]:
            if sg["Description"] != "default VPC security group":
                resp = client.describe_security_group_references(DryRun=False, GroupId=[sg["GroupId"]])
                print resp

    except Exception as E:
        print region, E
        continue
for region in regions:
    client = boto3.client('ec2', region_name=region)
    try:
        payload = client.describe_security_groups(Filters=[{'Name': 'vpc-id', 'Values': ['vpc-*']}])
        for sg in payload["SecurityGroups"]:
            if sg["Description"] != "default VPC security group":
                sg = json.dumps(sg)
                pp(sg)
                # x = requests.post(url=sumocollector, data=sg)
                # print x.status_code

    except Exception as E:
        print region, E
        continue

1 Ответ

2 голосов
/ 30 апреля 2019

Если вы ищете список SG для каждого экземпляра, то вместо этого я бы набрал describe_instances:

for region in regions:
    client = boto3.client('ec2', region_name=region)
    try:
        response = client.describe_instances()
        for reservation in response['Reservations']:
            for instance in reservation['Instances']:
                print("Instance: " + instance['InstanceId'])
                for securityGroup in instance['SecurityGroups']:
                    print("SG ID: {}, Name: {}".format(securityGroup['GroupId'], securityGroup['GroupName']))

    except Exception as E:
        print(region, E)
        continue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...