
はじめに
こんにちは、CloudbaseでPlatform TeamのEngineering Managerをしているjunichiです。
Cloudbaseでは、毎週クラウドコストの集計をしています。以前は1時間程度かかっていたこの作業を Claude Code に任せるようにしたところ、集計が10分で終わるようになり、空いた時間を変動の検知や原因の深掘りに使えるようになりました。
この記事では、その仕組みと、実際に運用してみて見えてきたことについて書きます。
何のコストを見ているか
Cloudbase は AWS / Azure / GCP / OCI の設定ミスや脆弱性を検出するクラウドセキュリティ SaaS です。システム本体は AWS で動いていますが、お客様の環境やプランによって Azure / GCP / OCI も部分的に利用しています。これに監視で使っている Datadog を加えて、コスト監視対象は 5系統(AWS / Azure / GCP / OCI / Datadog)です。
各クラウドの管理画面・CLI にコスト情報を取りに行くのが地味に大変で、毎週このために時間を取られていました。
ある日、「CLI があるので、Claude Code でいけるのではないか」と思い、任せ始めたのが今回の話です。
見ている指標
Cloudbase ではクラウドコストを 対ARR比 で見ています。絶対額ではなく比率にしている理由は2つです。
- 絶対額目標はいまの私たちの事業フェーズでは事業の成長を抑制してしまう。売上が伸びれば必要なクラウドリソースも増えるため、コスト上限を絶対額で固定すると売上拡大のブレーキになります
- 比率なら経営〜現場で同じ数字を共有できる。事業が伸びても収益性が維持できているか、が1つの数字で見えます
レポートは毎週、この対ARR比の推移を中心に作っています。
レポートを自動で出すところまで
Claude Code には、特定のタスクの手順とコンテキストをパッケージ化できる skill という仕組みがあります。これを使って /cost-report という skill を作りました。引数を渡して呼び出すと、以下を一気通貫でやってくれます。
- 5系統のコスト取得(並列) — AWS / Azure / GCP / OCI / Datadog をそれぞれ CLI 経由で並列に取得
- 検算・クロスバリデーション — サブスクやアカウント単位の合計と全体合計を突き合わせ、気づかない集計漏れを防ぐ
- 単発で発生する請求の判別 — 年次フィーなど、月によって突発的に発生する単発の請求を可能な範囲で検出し、別枠で扱えるよう抽出
- 一次ステータス判定 — 後述する3観点判定で、各クラウドの増減に OK / 注意 / 要確認を自動で振る
- 週次レポートページ生成 — その週の人間向けレポートページを Notion に自動生成
自動生成された週次レポートの例(数値・サービス名はマスク済み)
変動を追う・分析が滑らかに
ステータス判定は3つの観点を組み合わせる
異常検知を「変化率が X% を超えたら警告」のような単純な閾値でやると、過剰検知でアラートが形骸化していきます。なので3つの観点を組み合わせて判定するようにしています。
| 観点 | 何を見る | 何を防ぐ |
|---|---|---|
| ① 変化率 | 前週比 % | 大きな比率変動を捕まえる |
| ② 金額 | 増減した絶対値 | 「率は大きいが額は小さい」を OK と判定する |
| ③ 月次総額に対する割合 | 例: 0.5% 以上か | 全体スケールから見た重要度を測る |
異常があったらクラウド別に深掘り
自動レポートで「要確認」が出たら、Claude Code と並走しながら原因を追います。AWS なら Cost Explorer、GCP なら BigQuery等、クラウドごとのツールの切り替えは Claude Codeが吸収してくれます。
サービスごとの内訳、アカウント単位、前日・前週との比較(曜日の偏りを除く)、使用コストタイプなど、深掘りの軸はいくつもありますが、Slack、Notion、コードベースの知識まで使って原因を当てに行けるため、当たりが速くなります。
開発環境のコスト爆増
ある週、開発環境のコストが急に跳ねたことがありました。Claude Code に「なんで増えたか調べて」とだけ伝えたら、Cost Explorer から CloudTrail のログまでたどって「いつ・誰が・何の操作をしたから」起きたかを、5分もかからずに特定してくれました。どこを掘るか・どのツールを使うかは Claude Code が自分で判断していて、こちらが指示したのは最初のひとことだけでした。事前のskillに頼らずとも、ここまで自律的にログを横断して原因を特定してくれたのには、頼もしさを感じました。
効果と学び
Before / After
- 作業時間: 1時間程度 → 10分(Claude Codeの処理待ち時間込み)
- 待ち時間中も他作業ができるので、ほぼ負荷ゼロ
- 集計に取られていた時間を、気になる箇所の深掘りに回せるようになりました
skill は使いながら育てる
最初から完璧に動いたわけではありません。初期は「コストが正確に出ない」週もあり、その都度 Claude Codeと伴走して原因を追い、skill を改善していきました。今は、ハマったポイントが skill に残っているので、同じミスが起きにくくなっています。
まとめ
今回の取り組みで起きた変化は次の3つです。
- 5系統のコスト取得から Notion への書き込みまでが一気通貫で実行できるようになりました
- 異常時には Claude Codeと並走して原因を追え、CloudTrail のログ横断まで含めて手早く調査できるようになりました
- ハマったポイントが skill として蓄積されるので、同じミスが起きにくくなりました
個人的に楽しみにしているのは、コストの監視から、積極的な削減・最適化への応用です。今は「変動を検知して原因を追う」までですが、ここまで来ると最適化提案の自動化なども現実的に視野に入ってきます。コスト構造を継続的に改善できる仕組みを持つこと自体が、長期的に事業の利益体質を作っていきます。毎週のこの作業も、そういう未来への一歩だと捉えています。
Cloudbase では、クラウドセキュリティプロダクトの開発を一緒に推進してくれるエンジニアを募集しています。もしご興味がありましたら、ぜひお気軽にお問い合わせください。