本記事の対象者
- EC2関連のリソースを一覧で取得したい方
- EC2関連において請求の対象となっているリソースがどれなのか見つからない方
AWSによって事前に準備されたSystems Manager Automation のAWSSupport-ListEC2Resources
ランブックを利用することで簡単に確認することができます。
AWSSupport-ListEC2Resources
ランブックとは
AWSSupport-ListEC2Resources
ランブックは、 AWS リージョン 指定した からAmazon EC2 インスタンス、および Amazon Elastic Block Store (Amazon EBS) ボリューム、Elastic IP アドレス、Amazon EC2 Auto Scaling グループなどの関連リソースに関する情報を返します。
デフォルトでは、情報はすべてのリージョンから収集され、オートメーションの出力に表示されます。(公式ドキュメントより引用)
事前確認
本記事を書くにあたって以下の公式ドキュメントを参考に作成いたしました。
必要な IAM アクセス許可
AutomationAssumeRole
パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
autoscaling:DescribeAutoScalingGroups
ec2:DescribeAddresses
ec2:DescribeImages
ec2:DescribeInstances
ec2:DescribeNetworkInterfaces
ec2:DescribeRegions
ec2:DescribeVolumes
ec2:DescribeSnapshots
elasticloadbalancing:DescribeLoadBalancers
さらに、指定した S3 バケットに収集された情報を正常にアップロードするには、AutomationAssumeRole
で次のアクションが必要です。
s3:GetBucketAcl
s3:GetBucketPolicyStatus
s3:PutObject
実施してみた
1.AWS Systems Manager コンソール を開き、サイドバーから「自動化」を選択
2.オートメーションドキュメントからAWSSupport-ListEC2Resources を検索
3.必要に応じて各パラメータを埋める
- BucketName: 収集された情報をcsv形式で S3 バケットにアップロードしたい場合、バケットの名前を記入する
- RegionsToQuery:Amazon EC2 に関連する情報を収集したいリージョン。(デフォルトはAllになっている)
1番下にあるExecuteを押下し、ランブックを実行します。
4.Overall statusが成功になっていることを確認
5.出力結果の確認
EC2に関するリソース一覧とそれに関する削除方法のリンクが出力されます。
そのため、不要だと判断できたものは、リンク先の公式ドキュメントを参考にしてリソースの削除を実施できます。
料金について
お支払いは使用した分のみで、ステップの数と所要時間に基づいて課金されます。
これには、アカウントごとの無料利用枠も含まれます。
- ステップカウント
ステップ単位で課金が発生して1 か月あたり 100,000 ステップの無料利用枠があり無料枠を超えた場合、 1 ステップあたり 0.002 USD が課金されます。
(ここで言うステップとは、オートメーションワークフローの中で実行される個々のアクションやタスクの単位のことです。) - ステップの実行時間
1 か月あたり 5,000 秒の無料利用枠があり、無料枠を超えると 1 秒あたり 0.00003 USD が課金されます。 - ランブック添付ファイル
オートメーションランブックに添付ファイルをアップロードすると、添付ファイルのサイズと保存期間に応じて課金されます。複数アカウントまたはリージョンデータ転送がある場合も課金されます。
ストレージ: 1 か月あたり 0.046 USD/GB
データ転送: 1 GB あたり 0.900 USD
詳細は公式のドキュメントにてご確認お願いします。
最後に
本記事ではAWSSupport-ListEC2Resources
ランブックについて紹介しましたが、AWSが展開しているランブックは他にもたくさんあります。
今回のようなリソースの調査に加え、トラブルシューティングや接続テストなど様々なランブックがあるため、上手に活用しることで業務効率化にもつながるかと存じます。