AWS EC2 CLI给出了描述安全组的不一致的结果



我有两个不同的安全组,我要查询,让它们称为 sg-xxxsg-yyy。我正在运行以下命令,以获取每个组内IP的详细信息:

aws ec2 describe-security-groups 
  --filters Name=ip-permission.to-port,Values=22 Name=ip-permission.from-port,Values=22 Name=ip-permission.protocol,Values=tcp 
  --group-ids sg-xxx --output text

当我使用sg-xxx运行命令行时,我的输出类似于:

SECURITYGROUPS  group-name created YYYY-MM-DDTHH:MM:SS.ZZZ+00:00    sg-xxx  group-name  xxxxxxxxxxxx    vpc-xxx
IPPERMISSIONS   22  tcp 22
IPRANGES    1.1.1.1/32
IPRANGES    2.2.2.2/32
IPPERMISSIONSEGRESS -1
IPRANGES    0.0.0.0/0

但是,当我使用sg-yyy运行相同的命令行时,它包含不使用端口22的条目:

SECURITYGROUPS  group-name  sg-yyy  group-tag   xxxxxxxxxxxx    vpc-yyy
IPPERMISSIONS   80  tcp 80
IPRANGES    0.0.0.0/0
IPPERMISSIONS   22  tcp 22
IPRANGES    1.1.1.1/32
IPRANGES    2.2.2.2/32
IPPERMISSIONS   10000   tcp 10000
IPRANGES    3.3.3.3/32
IPPERMISSIONS   25  tcp 25
IPRANGES    0.0.0.0/0
IPPERMISSIONSEGRESS -1
IPRANGES    0.0.0.0/0

有人在此命令行中遇到类似问题,任何人都知道如何解决此问题?

如果这是预期的行为,是否有任何方法可以获得与tcp port 22匹配的规则?

您要问的是CLI是为了描述安全组(其中包括IT名称,SG-ID,VPC-ID,Account-ID等),命令描述了安全性与您的过滤器匹配的组。这并不意味着它将仅列出与过滤器匹配的SG规则。 CLI描述了组,而不是规则

sg-xxx似乎只有一个规则。如果有其他规则,您将看到它们列出。

要仅获得匹配规则,请添加

-  Query'SecurityGroups [*]。ippermissions [?toport == 22`]'

查询的结尾。

aws ec2 describe-security-groups --filters Name=ip-permission.to-port,Values=22
   Name=ip-permission.from-port,Values=22 Name=ip-permission.protocol,Values=tcp
   --group-ids sg-xxx --query 'SecurityGroups[*].IpPermissions[?ToPort==`22`]'
   --output text

输出

22  tcp 22
IPRANGES    1.1.1.1/32
IPRANGES    2.2.2.2/32

相关内容

  • 没有找到相关文章

最新更新