有没有办法使用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账户的所有安全组?
答案 0 :(得分:2)
您可能正在描述其他地区的资源。这是事情没有出现的常见原因。
您可以按如下方式设置区域:
ec2 = boto3.client('ec2', region_name='us-west-2')