1. ホーム
  2. amazon-web-services

[解決済み] Amazon EC2 セキュリティグループの見つけ方

2022-12-02 15:32:26

質問

セキュリティ グループをクリーンアップして取り除くために、孤児となったセキュリティ グループを特定する方法を見つけようとしています。 どなたか、使用されていないセキュリティ グループを発見する方法をご存知でしょうか。

コンソールまたはコマンドラインツールのいずれかが動作します (LinuxおよびOSXマシンでコマンドラインツールを実行します)。

どのように解決するのですか?

注意:これはEC2でのセキュリティ使用のみを考慮しており、RDSのような他のサービスは考慮していません。 EC2外で使用されるセキュリティ グループを含めるには、さらに多くの作業を行う必要があります。 良い点は、他のサービスに関連するものを見落としても、アクティブなセキュリティグループを簡単に削除できないことです(不可能な場合もあります)。

新しいAWS CLIツールを使って、私が必要とするものを得るための簡単な方法を発見しました。

まず、すべてのセキュリティグループのリストを取得します

aws ec2 describe-security-groups --query 'SecurityGroups[*].GroupId'  --output text | tr '\t' '\n'

そして、インスタンスに結びついたすべてのセキュリティグループを取得し、パイプで sort にパイプします。 uniq :

aws ec2 describe-instances --query 'Reservations[*].Instances[*].SecurityGroups[*].GroupId' --output text | tr '\t' '\n' | sort | uniq

次に、それをまとめて2つのリストを比較し、マスターリストから使われていないものを確認します。

comm -23  <(aws ec2 describe-security-groups --query 'SecurityGroups[*].GroupId'  --output text | tr '\t' '\n'| sort) <(aws ec2 describe-instances --query 'Reservations[*].Instances[*].SecurityGroups[*].GroupId' --output text | tr '\t' '\n' | sort | uniq)