如何描述 VPC 的安全组?

Posted

技术标签:

【中文标题】如何描述 VPC 的安全组?【英文标题】:How to describe Security Groups for a VPC? 【发布时间】:2017-03-15 08:16:45 【问题描述】:

有没有办法描述特定 VPC 中的安全组?

这是我要运行的内容:

aws ec2 describe-security-groups --group-name "<group-name>" --filter Name=vpc-id,Values=<my-vpc-id>

但它返回此错误:

A client error (VPCIdNotSpecified) occurred when calling the DescribeSecurityGroups operation: No default VPC for this user

感谢您的帮助,

谢谢

【问题讨论】:

再次查看文档后,如果我们要查询非默认 VPC,似乎需要通过“group-id”进行描述。参考:docs.aws.amazon.com/cli/latest/reference/ec2/… 您是在问如何描述一个特定安全组,还是给定VPC中的所有安全组?如果是特定的安全组,您希望提供该组的名称还是 ID? 【参考方案1】:

描述给定 VPC 中的所有安全组:

aws ec2 describe-security-groups --filters "Name=vpc-id,Values=vpc-abcd1234"

通过 ID 描述特定安全组:

aws ec2 describe-security-groups --group-id sg-1234abcd

按名称描述特定安全组(对于非默认 VPC):

aws ec2 describe-security-groups --filters Name=group-name,Values=MY-SG

通过名称和VPC来描述特定的安全组(因为不同的VPCS中可以有多个同名的组):

aws ec2 describe-security-groups --filters Name=group-name,Values=MY-SG Name=vpc-id,Values=vpc-abcd1234

参见AWS Command-Line Interface (CLI) 文档:describe-security-groups

【讨论】:

谢谢,这就是我要找的东西:aws ec2 describe-security-groups --filters Name=group-name,Values=MY-SG @ArunAvanathan,如果不添加 vpc (Name=vpc-id,Values=vpc-abcd1234),一旦在您的账户中创建了多个 VPC,您就有返回类似名称的组的风险。一个示例是创建 Windows VPC。假设两个 VPC 创建了一个组“基础架构”。您的代码将返回两个 sg-id,除非它按 vpc-id 过滤。 谢谢@Jason2616321 没错。因此,我们想要一种在过滤器中使用 VPCid 进行查找的方法。

以上是关于如何描述 VPC 的安全组?的主要内容,如果未能解决你的问题,请参考以下文章

AWS CloudFormation:默认 VPC“vpc”中不存在安全组“sg-”

Elastic Beanstalk:将数据库安全组迁移到 VPC 安全组

Terraform - 在 VPC 对等连接之间授权安全组

实例无法通信 - 相同的 VPC 和子网,不同的安全组

Auto Scaling 活动失败,因为 VPC 中不存在安全组

数据库实例和EC2安全组在不同的VPC,cloudFormation错误