📑

AWSのリソース棚卸しアプリを公開しました

2022/11/30に公開

概要

AWSのコンピューティングリソース(EC2、RDS、ECSサービス)を一覧化してCSV出力するアプリを公開しました。

AWS R2 - AWS Resources Reader -

  • リソースを90日以内に操作したユーザー(Users)
  • 各リソースの使用状況の参考値となるメトリクス(EC2のNetworkIn, NetworkOutなど)

については、処理時間などの懸念があり、公開アプリ上では取得しない設定にしています。
個別に対応はできますので、TwitterもしくはEmailにてお問い合わせください。

不要なコンピューティングリソースは意外と多い

使われていないまま放置されているコンピューティングリソースありませんか?
立てっぱなしのEC2、RDS、ECSはとてつもない金食い虫です。自分は、会社のコンピューティングリソースを棚卸ししてみたら、数百万の不要リソースがあったなんて経験もありました(わりとありえる話な気もします)。

不要だと思っていても、いつか使うかもしれない、よくわからないから止めるのが怖い、そういった心理が働くと思います。なので棚卸しはトップダウンでプロジェクト的に実施する必要があるかと思います。

棚卸し方法

基本的にスプレッドシート(エクセル)でリソース種類ごとにタブを作って一覧化するのがおすすめです。
クラスメソッドさんの記事のような形式でやるのがシンプルかつ効率的だと思います。

上記の記事では、全リソースを対象にresourcegroupstaggingapiでタグ付けされたリソースを取得しています。しかしコスト削減を目的とした棚卸しでは、この方法だといくつか不都合が生じます。

  • タグ付けされていないリソースの取得が一部できない
  • リソースの詳細情報が取得できない
  • コスト削減にインパクトがないリソースがノイズとなる

よって、コスト削減の上では、「不要だけど課金されている」、「高額になりがち」なEC2, RDS, ECSに絞ってまずは棚卸しするのがオススメです。そのためにはec2 describe-instances, rds describe-db-instances, ecs describe-services あたりで取得して一覧化するとよいです。

リソース一覧化が面倒くさいのでアプリ化した

上記のリソース一覧取得はそんなに難しいものではないのですが、やはり面倒です。
なので、Webアプリとして作りました。

AWS R2 - AWS Resources Reader -

EC2, RDS, ECSの3つのCSVをまとめたZipファイルとしてダウンロードできます。
これをスプレッドシートやエクセルにインポートしてご利用ください。

リソースの使用状況、コスト、問い合わせ先なども出したい

理想的には一覧化された情報に使用状況の参考となるメトリクスとコストも入っていて、「この使用状況ならきっと不要だ」、「このリソースはかかっているコストのわりに使用量は少ないから、インスタンスサイズを見直そう」などとしたいと考えています。

これらの情報も随時加えていくつもりです。しかしながら、これらの情報を抽出するには大量のリクエストをAWSに投げる必要があり、一般公開のWebアプリではリスキーだと考えています。

もしこれらの情報も加えたCSVが必要だという場合には、私のプロフィール欄にあるTwitter、またはssktty1994@gmail.comにご連絡ください。

Discussion