share facebook facebook facebook twitter twitter menu hatena pocket slack

2020.11.02 MON

AWS 全リージョンの (ほぼ)全リソースをリストアップするシェルスクリプト

高橋 修一

WRITTEN BY 高橋 修一

各リージョンの各サービスを個別に確認しなくても、全てのリソースをリストアップすることができます。

AWSアカウント解約時に、不要なアクティブリソースが残っていないかの確認にも役立つかもしれません。

AWS アカウントを解約したときに、アクティブなリソースがすべて自動的に終了されるとは限りません。アカウントを解約する前に、アクティブなリソースがあるかどうかを確認し、それらを終了することがベストプラクティスです。

スクリプト

get-resources.sh

for region in `aws ec2 describe-regions --query 'Regions[].RegionName' --region us-west-1 --output text`
do
    echo "region = ${region}"
    aws resourcegroupstaggingapi get-resources --region ${region} --query 'ResourceTagMappingList[].ResourceARN';
done
  • describe-regionsでとってきた各regionに対してresourcegroupstaggingapi get-resources してます。
  • 最初にdescribe-regionsするのはどのリージョンに対してでもOKだと思うので、とりあえずus-west-1にしています。

前提条件

利用イメージ

実行

export AWS_PROFILE=xxxx # デフォルトプロファイルを常に設定しているなら不要
sh get-resources.sh 

出力

region = eu-north-1
[]
region = ap-south-1
[]
region = eu-west-3
[]
region = eu-west-2
[]
region = eu-west-1
[]
region = ap-northeast-2
[]
region = ap-northeast-1
[
    "arn:aws:apigateway:ap-northeast-1::/restapis/〜/stages/devA",
    "arn:aws:apigateway:ap-northeast-1::/restapis/〜/stages/devB",
〜
    "arn:aws:ec2:ap-northeast-1:111111111111:vpc/vpc-1111111a",
    "arn:aws:ec2:ap-northeast-1:111111111111:vpc/vpc-1111111b",
〜
    "arn:aws:lambda:ap-northeast-1:111111111111:function:xxxx-checker",
    "arn:aws:lambda:ap-northeast-1:111111111111:function:xxxx-deleter",
〜
...

留意点

resourcegroupstaggingapiが対応していないサービスがもしあれば、それはリストアップされてこない。

参考

ec2/describe-regions

https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-regions.html
リージョンのリストアップで利用

resourcegroupstaggingapi/get-resources

https://docs.aws.amazon.com/cli/latest/reference/resourcegroupstaggingapi/get-resources.html
リソースのリストアップで利用

元記事はこちら

AWS 全リージョンの (ほぼ)全リソースをリストアップするシェルスクリプト

高橋 修一

高橋 修一

社内サービスの開発を主にやっています。大阪オフィス所属。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。