Amazon Elastic Compute Cloud (Amazon EC2) 内の、使われていないセキュリティグループを特定したいです。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
不要なセキュリティグループを特定するには、次の手順を実行します。
-
次の describe-security-groups コマンドを実行し、AWS リージョン内のすべてのセキュリティグループ ID を一覧表示します。
aws ec2 describe-security-groups --region region-ID --query 'SecurityGroups[*].GroupId' --output text | tr '\t' '\n'
注: region-ID は、お使いのリージョンに置き換えます。
-
ネットワークインターフェイスのステータスがアタッチされているリージョン内のすべてのセキュリティグループを一覧表示するには、次の describe-network-interfaces コマンドを実行します。
aws ec2 describe-network-interfaces --region region-ID --filters Name=attachment.status,Values=attached --query 'NetworkInterfaces[].Groups[].GroupId' --output text | tr '\t' '\n'| sort | uniq
注: region-ID は、お使いのリージョンに置き換えます。上記のコマンドの出力には、Amazon EC2 や Elastic Load Balancing (ELB) など、リージョン内のすべての AWS サービスに関する情報が含まれています。
-
使われていないすべてのセキュリティグループを特定するには、次の comm コマンドを実行し、両者のコマンドの出力を比較します。
comm -23 <(aws ec2 describe-security-groups --region region-ID --query 'SecurityGroups[*].GroupId' --output text | tr '\t' '\n' | sort) <(aws ec2 describe-network-interfaces --region region-ID --query 'NetworkInterfaces[*].Groups[*].GroupId' --output text| tr '\t' '\n' | sort | uniq)
注: region-ID は、お使いの AWS リージョンに置き換えます。
関連情報
Amazon EC2 セキュリティグループを削除する