特定のタグが付いた AWS のリソース一覧を取得する方法を教えてください

この記事では特定タグが付いた AWS リソースを、サービスやリージョンを横断して一覧で取得する方法をご紹介します。
2021.08.25

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

困っていた内容

AWS のアカウント内で、複数のサービス(EC2やRDS、S3等)や複数リージョンにまたがったリソースの中から、特定のタグが設定されたリソースの一覧を取得したい。どうすればよいですか?

どう対応すればいいの?

「タグエディター(Tag Editor)」を利用して、特定のタグが付いたリソースを検索できます。

マネジメントコンソールでの操作

マネジメントコンソールにログインし「Resource Groups & Tag Editor」のコンソール画面を開きます。

左側メニューの「Tag Editor」へ移動し、検索したいリソースの条件を入力して「リソースを検索」をクリックします。

今回は例として「タグキー:Envionment タグ値:Production」が付与されたリソースを、全リージョン・全AWSサービスを横断して検索したいため、以下のように入力しました。

該当するリソースの一覧を取得できました!

AWS CLI での操作

AWS CLI を用いても、上記と同様の検索ができます。 ただし、AWS CLI の場合はリージョン指定が必須になるため、全リージョンを横断して検索したい場合はマネジメントコンソールの方がよいかもしれません。

コマンド例:

aws resourcegroupstaggingapi get-resources --tag-filters Key=Environment,Values=Production --region ap-northeast-1

さいごに

今回は「特定タグが付いたリソースを検索する方法」にフォーカスしていますが、タグエディタを利用して全リソースを検索し、一括でタグ編集などももちろん可能です。以下のブログでもご紹介していますので、参考にしてみてください。

散らかったAWS環境の整理のためタグエディタを活用する | DevelopersIO

タグエディターで付け忘れたタグをまとめて適用する | DevelopersIO

参考資料

タグエディター - AWS Resource Groups & Tagging
get-resources — AWS CLI 1.20.28 Command Reference