Skip to content

Instantly share code, notes, and snippets.

@rpkim
Forked from thibautsacreste/aws.sg.unused
Created March 22, 2019 04:47
Show Gist options
  • Save rpkim/67da0b3e38dda4e6f4da87c37fcdad9d to your computer and use it in GitHub Desktop.
Save rpkim/67da0b3e38dda4e6f4da87c37fcdad9d to your computer and use it in GitHub Desktop.
Bash: list unused AWS security groups
#!/usr/bin/env bash
# lists all unused AWS security groups.
# a group is considered unused if it's not attached to any network interface.
# requires aws-cli and jq.
# all groups
aws ec2 describe-security-groups \
| jq --raw-output '.SecurityGroups[] | [.GroupName, .GroupId] | @tsv' \
| sort > /tmp/sg.all
# groups in use
aws ec2 describe-network-interfaces \
| jq --raw-output '.NetworkInterfaces[].Groups[] | [.GroupName, .GroupId] | @tsv' \
| sort \
| uniq > /tmp/sg.in.use
diff /tmp/sg.all /tmp/sg.in.use |grep "<" |cut -d ' ' -f2-3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment