[小ネタ] セキュリティグループ毎に関連付いたEC2インスタンスの一覧を表示する
はじめに
小ネタです。AWS管理コンソールでは「各EC2インスタンスがどのセキュリティグループに関連付いているか」を確認することは出来ますが、「各セキュリティグループにどのEC2インスタンスが関連付いているか」は見ることができません。これはちょっと不便です。なのでAWS CLIを使ってサクッと確認してみました。
やってみた
AWS CLIを使ったシェルスクリプトはこんな感じです。
$ vi get_secg.sh declare -a SECG=$(aws ec2 describe-security-groups | jq '.SecurityGroups[].GroupName') for secg in ${SECG[@]}; do echo "*** SecurityGroupName: "$secg" ***" aws ec2 describe-instances | jq -r '.Reservations[].Instances[] | select(.SecurityGroups[].GroupName=='$secg') | [.InstanceId, .Tags[].Value] | @csv' echo "-----" done
実行するとこんな感じで出力されます。
$ sh get_secg.sh *** SecurityGroupName: "mainte" *** "i-12345678","cent5" "i-12345679","cent6" ----- *** SecurityGroupName: "default" *** "i-12345678","cent5" "i-12345679","cent6" "i-123456780","win2008" ----- *** SecurityGroupName: "windows-mainte" *** "i-123456780","win2008" -----
さいごに
EC2インスタンスとセキュリティグループが大量にある時にはちょっと便利です!