There are times when I want to see the security groups on an AWS region. Nothing special really you can always use the aws cli :)
But wait ... there is so much output especially if you have many groups and many rules.
So this is a simple way to filter on the following values(you can add more values but is mostly what I use)
- VPC Id
- Group Name
- Group Id
Tools that I use
- aws cli (you need to install it)
- jq (available on many linux distros)
- awk (comes with any linux distro)
This is how you put all together
$ export GROUP='My SG' $ aws ec2 describe-security-groups --filters Name=group-name,Values="$GROUP" --output json| jq '.SecurityGroups[]| .VpcId, .GroupName, .GroupId'| awk '{printf (NR%3==0) ? $0 "\n" : $0}'| sed -e 's/""/ - /g' # this will print "vpc-xxxxxx - My SG - sg-yyyy" # bonus - you can use a regex for GROUP $ export GROUP='My*Prod' $ aws ec2 describe-security-groups --filters Name=group-name,Values="$GROUP" --output json| jq '.SecurityGroups[]| .VpcId, .GroupName, .GroupId'| awk '{printf (NR%3==0) ? $0 "\n" : $0}'| sed -e 's/""/ - /g' # this will print "vpc-xxxxxx - My Prod - sg-yyyy" "vpc-xxxxxx - My deprecated Prod - sg-yyyy" "vpc-xxxxxx - My whatever Prod - sg-yyyy"