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"
         
      
      
    
    
0 comments:
Post a Comment