はじめに
AWSの個人検証を進めていると、使い終わったリソースや放置された設定によって、小さなコストが積み上がることがあります。
Cost Explorerを開けばコストは確認できますが、サービス別コストからUsage Type別の内訳、実際にリソースが残っているかどうかまで確認するのは少し手間です。
そこで、Claude Code の skill 機能を使って、AWSのコストを確認して と入力するだけで、コスト確認から削除候補の提示まで行うskillを作成しました。
作ったもの
今回作成したskillでは、次のことを自動化しています。
- 今月のサービス別コストを取得
- Usage Type別の詳細内訳を確認
- コストが発生しているリソースの存在確認
- 不要そうなリソースの削除候補を提示
- 実行結果をMarkdownファイルとして保存
このskillは、削除を自動実行しません。
削除候補と削除コマンドを提示したうえで、ユーザーが確認した場合のみ削除する想定です。
実行するとどうなるか
Claude Code に次のように入力します。
AWSのコストを確認して
すると、サービス別コストがMarkdown形式で出力されます。
今回の環境では、次のようなコストが確認できました。
## AWSコスト一覧(2026-04)
| # | サービス名 | コスト (USD) | 割合 |
|---|--------------------|------------|--------|
| 1 | Amazon Route 53 | $1.0045 | 64.4% |
| 2 | EC2 - Other | $0.4167 | 26.7% |
| 3 | Tax | $0.1400 | 9.0% |
| 4 | Amazon S3 | $0.0000147 | 0.0% |
| - | **合計** | **$1.5612**| 100% |
この結果を見ると、Route 53 と EC2 - Other のコストが目立っていました。
私の環境では、Route 53 はドメイン運用中のため想定内のコストです。
一方で、EC2 - Other は以前作成したEBSスナップショットが残っていたことによるコストでした。
skillはUsage Type別の内訳を確認し、コストが発生しているリソースが実際に存在するかを確認します。
削除候補がある場合は、次のように提示します。
## 削除候補リソース
### EBSスナップショット
| Snapshot ID | サイズ | 状態 |
|------------------------|--------|-----------|
| snap-xxxxxxxxxxxxxxxxx | 10 GB | completed |
削除コマンド:
aws ec2 delete-snapshot --snapshot-id snap-xxxxxxxxxxxxxxxxx
→ 削除してよろしいですか?
このように、単にコストを見るだけではなく、
どのリソースが原因なのか、削除候補として扱えるのかまで確認できるようにしています。
skillファイル
作成した SKILL.md は、以下のGitHubリポジトリで公開しています。
Claude Code のskillとして使う場合は、SKILL.md を以下のようなディレクトリに配置すると利用できます。
~/.claude/skills/aws-cost-explorer/
この記事ではClaude Codeのskillとして作成していますが、SKILL.md の中身はAWS CLIを使った確認手順をMarkdownでまとめたものです。
そのため、Codexなど他のAIコーディング支援環境でも、指示ファイルやプロンプトとして内容を応用できます。
GitHubで公開しているskillは汎用版です。
自分の環境で常に必要なサービスがある場合は、確認対象や削除候補から除外するなど、必要に応じてカスタマイズしてください。
前提
この記事では、以下が準備済みであることを前提にしています。
- Claude Code または Codex などのAIコーディング支援環境が利用できる
- AWS CLI がインストール済み
- AWS CLI の認証設定が完了している
- AWS Cost Explorer が有効化されている
Cost Explorer APIのリクエストは課金対象になります。
AWS公式料金ページでは、Cost Explorer APIの各リクエストに 0.01 USD の費用がかかると記載されています。
利用前に、最新のAWS公式料金ページを確認してください。
仕組み
skillの内部では、大きく次の流れで処理しています。
| 処理 | 内容 |
|---|---|
| コスト取得 | Cost Explorerからサービス別コストを取得 |
| 内訳確認 | コストが発生しているサービスをUsage Type別に確認 |
| リソース確認 | 対象サービスに応じてAWS CLIでリソースの存在を確認 |
| 削除候補提示 | 不要そうなリソースがあれば削除コマンドを提示 |
| レポート保存 | 実行結果をMarkdownファイルとして保存 |
ポイントは、コスト一覧を出すだけではなく、Usage Type別に掘り下げたうえで、実際にリソースが残っているかを確認するところです。
たとえば、EC2 - Other の内訳としてEBSスナップショットのコストが出ている場合は、スナップショット一覧を確認し、不要そうなものを削除候補として提示します。
削除は自動実行しない
このskillでは、削除候補を見つけても自動削除はしません。
削除コマンドを提示したうえで、ユーザーが確認した場合のみ削除するようにしています。
AWSリソースの削除は影響が大きい場合があります。
そのため、完全に自動化するのではなく、最後は人間が判断する形にしました。
使ってみてよかったこと
実際に使ってみて、特に便利だったのは次の点です。
- Cost Explorerを開かなくても、コスト一覧を確認できる
- Usage Type別に原因を掘り下げられる
- コストが発生しているリソースが実際に残っているか確認できる
- 削除候補まで提示されるので、次のアクションが取りやすい
個人検証では、作成したリソースを完全に消したつもりでも、スナップショットやログ、設定が残っていることがあります。
私自身も、2つの検証用アカウントでこのskillを使ったところ、不要なリソースによって発生していた月約9ドル分のコストに気づき、削減することができました。
単にコストを一覧で見るだけではなく、
どのサービスで発生しているのか、その原因になっているリソースが残っているのかまで確認できる点が便利でした。
まとめ
特に個人のAWS検証環境では、不要なリソースによる小さなコストが積み上がりやすいです。
今回のように、コスト確認からリソース確認まで一連の流れで実行できるようにしておくと、無駄なコストに気づきやすくなります。
AWSのコスト確認は後回しにしがちですが、定期的に確認する仕組みを作っておくと安心です。
この記事で紹介したskillが、AWS検証環境のコスト確認や不要リソースの見直しに少しでも役立てば嬉しいです。
今後は、確認対象サービスの拡張や、月次での定期実行も試してみたいと思います。
