セキュリティグループに紐づくリソースの調査方法を教えてください。

テクニカルサポートノート。サービス名: セキュリティグループ
2021.01.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

特定のセキュリティグループに紐づくリソースを一覧で取得したいです。 簡単に取得できる方法があれば教えてください。

どう対応すればいいの?

ENI が作成されているリソースであれば、マネジメントコンソールのネットワークインターフェイスを確認することで一覧を取得できます。 ENI が作成されていないリソースについては、個々にリソースの設定を確認する必要があります。

以下、詳細な説明を記載します。

詳細

特定のセキュリティグループに紐づくリソースを一覧で確認する方法としては、以下のドキュメントの方法があります。 ネットワークインターフェイスの説明を確認し、セキュリティグループに関連付けられたリソースを判別することが可能です。

Amazon EC2 セキュリティグループに関連付けられたリソースの検索方法 | AWS

一方で、セキュリティグループに関連付ける設定をしているものの、ENI が作成されていない場合はヒットしません。 例としては、Auto Scaling の起動設定でセキュリティグループが指定されているものの、EC2 インスタンスは一つも起動していないような場合が挙げれられます。 このような場合についても確認が必要でしたら、個々にリソースの設定を確認する必要があります。

Case3: ENIに紐付かないセキュリティグループの場合 | Developers.IO

残念ながら現在使用しているセキュリティグループはENIに紐付くのですが、Auto Scalingの起動設定で指定されていて、 インスタンスは無いけど使用しているというような「一時的にインスタンスが立ち上がる」場合には上記の方法では見つけることが出来ないのです。 しかも困ったことに、起動設定に設定しているだけだとセキュリティグループ消せちゃいます。 ASが起動しようとするとセキュリティグループ無いやんってなります。これは困りました。

以下が、普段はセキュリティグループを使わないけどたまに使う可能性があるサービスのリストです。 (全てを網羅しきれていません。他にもあれば教えてください。)

・Auto Scaling(スケジューリングで起動するやつが怪しいです)
・Data Pipeline(EMRとか起動します)
・AWS Batch(ジョブが来たときだけ起動します)

他にもLambdaで起動する仕組みを作っていたりするかもしれません。 ここも一個一個使っていないかを確認していく必要があります。 ENIのやつとAuto Scalingの起動設定洗い出しを組み合わせるとこんな感じです。