boto3列出了AWS账户的所有安全组

时间:2018-05-03 08:32:04

标签: python amazon-web-services boto3

有没有办法使用boto3列出所有AWS安全组?

使用此代码,我只能获得5组(区域内25个)

client = boto3.client('ec2')

response=client.describe_security_groups(



)
print response

我有4个VPC,所以我试图为每个VPC获取组,将其添加为过滤器:

Filters=[
        {
            'Name': 'vpc-id',
            'Values': [
                'vpc-d60ee9b1',
            ]
        },
    ],

但结果我得到了这个:

{u'SecurityGroups': [], 'ResponseMetadata': {'RetryAttempts': 0, 'HTTPStatusCode': 200, 'RequestId': '44f39633-4f21-4c4f-b3f4-82fbce538c5f', 'HTTPHeaders': {'transfer-encoding': 'chunked', 'vary': 'Accept-Encoding', 'server': 'AmazonEC2', 'content-type': 'text/xml;charset=UTF-8', 'date': 'Thu, 03 May 2018 08:25:03 GMT'}}}

尝试按地区过滤并获得:The filter 'region' is invalid

但是,使用AWS CLI,它可以工作:

aws ec2 describe-security-groups --region $REGION

这是否意味着我需要坚持使用AWS CLI,或者boto3是否有语法列出AWS账户的所有安全组?

1 个答案:

答案 0 :(得分:2)

您可能正在描述其他地区的资源。这是事情没有出现的常见原因。

您可以按如下方式设置区域:

ec2 = boto3.client('ec2', region_name='us-west-2')