散らかったAWS環境の整理のためタグエディタを活用する
みなさん、お持ちのAWSアカウントに存在するリソースたちを把握できていますか?
私は全然できていません!!
たくさんのリソースが請求の有無を問わずとっ散らかっています。
それらをズバッと整理するためにタグエディタを使ってみた結果、AWSアカウントに眠っていた30個弱の未使用リソースを削除することができたのでご報告します。
タグエディタとは?
AWS Resource Groupsの機能です。
AWSリソースをタグ情報に基づき検索したり、AWSリソースのタグ情報を編集したりできます。
リージョンやサービスを跨いで一気にリソースを検索することが可能なので、今回はこれをアカウント内のリソースの洗い出しのために使ってみます。
使い方は以下の弊社ブログなどでも紹介されています!
タグエディターで付け忘れたタグをまとめて適用する| Developers.IO
全リージョンから全リソースを一括検索する方法【タグエディター】| Developers.IO
まず使ってみる
画面上部のここからアクセスすることができます。
まずすべてのリージョン/すべてのリソースに対し、タグの有無を問わず検索をかけました。
検索条件
結果
- 昔使っていて、削除が漏れていたリソース
- めったに使わないリージョンに何故か(自分で作ったんですが…)眠っていたリソース
などを一括で発見することができました。ただしデフォルトVPCなどデフォルトのリソースも多数洗い出されるため、それらを検索結果から除外したいです。
AWSにデフォルトで作成されるリソースを除外する
タグエディタを見てみると、私のAWSアカウントでは各リージョンに以下のデフォルトリソースが存在しました。(アカウントを作った時期などによって異なる可能性があります)
- デフォルトVPCとそれに紐づく以下のリソース
- Subnet*
- Security Groups*
- Network ACL*
- Route Table*
- Internet Gateway*
- デフォルトのDHCP Option Set
- デフォルトのDBSecurityGroup
これらを検索で除外するため、今回は {Key: isDefault Value:true}
というタグを付けることにします。
プログラミングの修行を兼ねてPythonスクリプトを作ってみたのでよかったら参考にしてみてください。
※ 手動で作ったデフォルトVPCや、デフォルトVPC内に手動で作った上記*
印リソースにもタグが付くため
ご利用いただける場合はスクリプトのDryRunや実行後のタグエディタなどで対象の確認をお願いします!m(__)m
https://github.com/pypypyo14/defaultvpc-tag
もちろんタグエディタからもタグ付けできます!
デフォルトのリソースを除外して確認
デフォルトのリソースにisDefault
タグを付けたら、
以降は検索条件に isDefault: (not tagged)
を指定すれば、自分で作ったリソースの一覧を抽出できますね!
検索条件
結果
多いか少ないかわかりませんが、30個ありました。
あとはこれらを選別し、
- 不要なリソースは削除
- 必要なリソースはタグ付けして管理しやすく
すればOKです!
まとめ
タグエディタを使って、散らかったAWSアカウントを整理することができました。
これからもついつい消し忘れが発生してしまうと思うので、定期的に確認したいと思います。
定期的にSlackBotなどで通知してもいいかもしれません。
本来は、発生費用の内訳はコストエクスプローラでまめに確認しましょう!(完全に自戒です)