6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS Resource Explorerの結果をCSVで出力する

Last updated at Posted at 2022-12-23

この記事はBeeX Advent Calendar 2022の22日目の記事です。
今年は遅刻投稿しかしていない気がします(投稿日12/24)

はじめに

最近AWS Resource Explorerなるサービスがあることを知って実際に触ってみたのですが、対応していないAWSリソースはあるものの構築しているけど自分が認識していないリソースがいくつも見つかって、リソースの把握という観点では非常に使いやすいサービスだと思いました。

ただ、同じようにリソースを把握できるResource Groups & Tag EditorサービスではCSV出力できるところが、AWS Resource ExplorerはCSV出力を行う機能がサポートされていないため、コンソール上で確認しても手元に落として要不要を判断する、といったことがしにくいものとなっていました。

そこで今回はCloudShellを使ってAWS Resource Explorerで取得したリソース一覧をCSV出力する方法を試してみましたので、その方法を書こうと思います。

作業内容

手順

以下4つの手順でCSV出力を行います。

1.コンソールからCloudShellに接続する
2.以下コマンドを実行する

$ aws resource-explorer-2 search --query-string "service:iam" | jq -r '.Resources|map([.Arn, .LastReportedAt, .OwningAccountId, .Region, .ResourceType, .Service])' | jq -r '(map([.[]])[])|@csv' > iam.csv
$ sed -i '1s/^/\"Arn\",\"LastReportedAt\",\"OwningAccountId\",\"Region\",\"ResourceType\",\"Service\"\n/' iam.csv

3.CloudShellのActionsからDownload fileを押下して、出力したCSVファイルをダウンロードする
4.手元でCSVを確認する

作業

1.コンソールからCloudShellに接続する

AWSコンソールにログインし、CloudShellのアイコンからターミナルに接続します。
image.png

2.以下コマンドを実行する

ターミナルから以下のコマンドを実行します。
本当はワンライナーにしたかったのですが、中々うまくいかず、コマンドが2つになりました。
今回は--query-stringの条件でIAMを設定していますが、こちらのドキュメントに記載しているフィルターであれば指定可能です。

$ aws resource-explorer-2 search --query-string "service:iam" | jq -r '.Resources|map([.Arn, .LastReportedAt, .OwningAccountId, .Region, .ResourceType, .Service])' | jq -r '(map([.[]])[])|@csv' > iam.csv
$ sed -i '1s/^/\"Arn\",\"LastReportedAt\",\"OwningAccountId\",\"Region\",\"ResourceType\",\"Service\"\n/' iam.csv

実行すると以下のようにCSVファイルが作成されます。
image.png

3.CloudShellのActionsからDownload fileを押下して、出力したCSVファイルをダウンロードする

CloudShell上に出力したファイルは、Actionsの機能からダウンロードができます。
出力したファイルのフルパスを指定してローカルPC内にCSVファイルをダウンロードします。
image.png
image.png

4.手元でCSVを確認する

ダウンロードしたCSVファイルを開いてみると作成済みのリソースを確認することができました。
image.png

改善点

  • 作業の方にも書きましたが、コマンドが2つになってしまったので、できればワンライナーでできると良かったなと思いました。これは単純に自分のスキル不足です。
  • このコマンドでは別のリソースを検索する時に毎回一部を書き換えないといけないようになっているので、使いやすさを考えるとその辺りは変更したほうが良さそうでした。

おわりに

AWS Resource Explorerは使いやすそうなサービスではありましたが、 最初の1,000 件の結果しか取ってこなかったり、対応していないAWSリソースもあったりするので、ユースケースは絞られるかなと思いました。
ただ、IAM周りとかは裏側で把握していないリソースが作られてたりして、気づいたら大量のロールやポリシーができている、ということもあったりするので、このサービスで定期的に確認できると良いと思いました。

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?