GENIEE TechBlog
💰

Claude Code にAWSのコスト調査をさせたら数千万円分の改善ポイントが見つかった

に公開

はじめに

SRE チームの浜村です。GENIEE SFA/CRM のインフラ周りを見ています。

弊プロダクトは運用歴がそれなりに長いと思っています。長く動いているぶん、「今の構成にコスト面の無駄がないか」、特にデータベースやコンピューティングなどの大きな部分以外を体系的に見直す機会はあまりありませんでした。

今回、Claude Code に AWS のコスト調査を雑にやらせてみたところ、想定以上に改善ポイントが見つかったので共有します。

やったこと

Claude Code に以下のようなプロンプトを投げただけです。プロンプト自体に価値はないです。

aws cli を readonly で参照し、特に cost explorer 周りを調査し、コスト懸念が見つかった場合は、具体的なサービス側の設定やコードベースも深く調査した上で、コスト改善の工数対効果が高いと考えられる箇所を教えてください。

Claude Code は aws cli を実行できるので(もちろん権限統制は適切である必要があります)、Cost Explorer の数字を自分で取得し、コストが高いサービスを特定した上で、該当するコードや設定を読みに行ってくれます。人間がやると半日〜1日かかりそうな調査を、プロンプト1回で回せたのはそもそもの体験として良かったです。

結果として年間数千万円程度の改善インパクトにつながってしまいました。以下はそのうちのいくつかです。

事例 1: 参照されていない S3 ログの書き込み削除

背景

API の一部の情報を S3 に保存する Lambda がありました。元々認知していなかったのですが、API リクエスト 1 回ごとに PutObject が 1 回走っているようでした。

Claude Code が Cost Explorer を確認したところ、S3 の Tier1 リクエストのコストが突出していました。そこから自律的にコードを辿ってもらい、この書き込み処理を特定してくれました。

調査結果

バッチ化したりして改善しようかなとも考えていたのですが、関係者への確認も含めて判明したのは、なんとこの S3 のログはどこからも参照されていないということでした。必要な情報は CloudWatch Logs に記録されていたので、プロダクトとして / 運用保守上での問題はありませんでした。S3 側はかつての設計の名残で、不要な書き込みがずっと続いていた状態でした。

対応

S3 への書き込み処理を削除しました。これだけで大幅なコスト削減につながりました。

事例 2: API Gateway のレスポンス圧縮が無効だった

背景

API Gateway から返る JSON レスポンスが圧縮されていませんでした。ネイティブでレスポンス圧縮できる機能があったようですが、これが有効化されていませんでした。
これも、Claude Code が API Gateway のコストが大きいことを疑い、API Gateway の設定まで自律的に確認して突き止めてくれました。そもそも API Gateway の機能でネイティブにレスポンス圧縮できることを知りませんでした……。

対応

Serverless Framework の設定に 1 行追加して圧縮を有効化しました。転送サイズは -86.4% になりました。API Gateway は転送量に対する課金があるため、サイズの削減がそのままコスト削減に繋がりました。

まとめ

どちらの事例も対応自体は簡単なものでした。難しかったのは「そこに問題がある」と気づくことでした。

長く運用しているシステムだと、既存の構成を前提として受け入れてしまいがちで、コスト面の非効率を体系的に洗い出す作業はどうしても後回しになります。また、やはりデータベースやコンピューティングなど、大きな構成要素に意識が偏ってしまいがちです。
今回 AI に調査させてみて、先入観なく全体を見渡せるのは AI の強みだと感じました。

プロンプト 1 つ投げるだけなので、メンテナンスとして定期的に回してみるのも良さそうです。お金は大事です。権限統制も大事です。


最後までお読みいただき、ありがとうございました!
ジーニーでは現在、エンジニア採用を積極的に進めています。
この記事をきっかけに少しでもご興味をお持ちいただけた方は、ぜひ一度カジュアルにお話しできるとうれしいです。
仕事内容や開発体制、チームの雰囲気なども含めて、ざっくばらんにご紹介します。
https://hrmos.co/pages/geniee/jobs/2237020752155283524?utm_source=zenn&utm_medium=blog&utm_campaign=20260528_article

GENIEE TechBlog
GENIEE TechBlog

Discussion