特定のタグが付いた AWS のリソース一覧を取得する方法を教えてください
困っていた内容
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