0
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?

月末にコンソールを開いたら「想定外の請求」だったので、AIにAWSコスト確認を任せるskillを作ってみた

0
Posted at

はじめに

AWSの個人検証を進めていると、使い終わったリソースや放置された設定によって、小さなコストが積み上がることがあります。

Cost Explorerを開けばコストは確認できますが、サービス別コストからUsage Type別の内訳、実際にリソースが残っているかどうかまで確認するのは少し手間です。

そこで、Claude Code の skill 機能を使って、AWSのコストを確認して と入力するだけで、コスト確認から削除候補の提示まで行うskillを作成しました。


作ったもの

今回作成したskillでは、次のことを自動化しています。

  • 今月のサービス別コストを取得
  • Usage Type別の詳細内訳を確認
  • コストが発生しているリソースの存在確認
  • 不要そうなリソースの削除候補を提示
  • 実行結果をMarkdownファイルとして保存

このskillは、削除を自動実行しません。

削除候補と削除コマンドを提示したうえで、ユーザーが確認した場合のみ削除する想定です。


実行するとどうなるか

Claude Code に次のように入力します。

AWSのコストを確認して

すると、サービス別コストがMarkdown形式で出力されます。

AWSコスト一覧

今回の環境では、次のようなコストが確認できました。

## 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検証環境のコスト確認や不要リソースの見直しに少しでも役立てば嬉しいです。

今後は、確認対象サービスの拡張や、月次での定期実行も試してみたいと思います。

0
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
0
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?