如何查询EC2实例的安全组?

时间:2019-06-17 21:51:00

标签: aws-cli

我正在尝试通过aws-cli编译我的AWS账户中EC2实例的完整列表。我正在成功查询除每个实例的关联安全组以外的所有内容。当我尝试提取安全组名称时,它的名称为None。下面是我运行的命令。我也尝试过“组”。

aws ec2 describe-instances --region=us-west-2 --query 'Reservations[*].Instances[*].[Tags[?Key==`Name`].Value|[0],InstanceId,Placement.AvailabilityZone,State.Name,KeyName,SecurityGroups.GroupName]' --output table

1 个答案:

答案 0 :(得分:1)

这是因为每个实例可能分配有多个安全组,因此SecurityGroups是一个数组。您可以执行以下操作来访问数组中的第一个元素:

SecurityGroups.GroupName

您将这样做:

SecurityGroups[0].GroupName

,但这只会向您显示列表中的第一个安全组。如果要查看整个列表,则必须将查询更改为:

aws ec2 describe-instances --region "us-west-2" --query 'Reservations[*].Instances[*].[InstanceId,SecurityGroups[].GroupName |[*]]' --output text