Claude Code に GCP の課金を棚卸しさせたら、月1万円が半分になった(失敗込みの記録)
- Claude Code
- GCP
- コスト削減
- 個人開発
個人開発で使っている GCP の費用を、Claude Code と一緒に 見直しました。
9月の請求は約¥11,000でしたが、10月は月換算で約¥5,300まで下がる見込みです。ただし、この9月の金額には 見直しの途中で自分たちが起こした失敗 も含まれています。うまくいったことも失敗したことも、まとめて記録しておきます。
前提:GCP プロジェクトは6つ(うち費用が出ているのは主に2つ)。WordPress を動かす Compute Engine の VM と、画像生成アプリ Moeter の Cloud Run(GPU)です。Claude Code からは、ローカルの gcloud CLI を使って調査しました。
請求の推移
| 月 | 請求額 | メモ |
|---|---|---|
| 8月 | 約¥3,500 | ほぼ WordPress の VM のみ |
| 9月 | ¥11,061 | Moeter が約¥5,900。CUD の誤購入も上乗せ |
| 10月 | 約¥5,300(1〜15日の¥2,627から月換算) | WordPress 約¥2,400/月、Moeter 約¥2,750/月 |
9月に増えたのは、Moeter を公開して GPU を使い始めたことと、後で書く CUD の二重契約が主な原因です。10月に下がったのは、ここで紹介する対策に加えて、Moeter の利用ペースが落ち着いたことも影響しています。対策だけで半分になったわけではない点はお断りしておきます。
やったことの一覧
個別の話は、それぞれ記事にしました。
| 対策 | 効果 | 記事 |
|---|---|---|
| Artifact Registry・Cloud Storage のクリーンアップ | 約58GB 削減。その後の再膨張にも対処 | Artifact Registry が86GBに膨らんだ |
| 404 応答の gzip 化 | 404 ページが 365KB → 37KB | Networking は ¥0 なのに、VM の通信料がかかっていた |
| VM を Standard ティアに切り替え | 外向き通信の無料枠(月200GiB)に収める | 同上 |
| 誤って買った1年 CUD の取り消し | 月 約¥4,000 の固定費を回避 | CUD を二重に買ってしまった話 |
| GPU の予算キルスイッチ | 予算の90%で GPU だけを自動停止 | 予算アラートで Cloud Run の GPU だけを自動停止する |
| 見送った施策の整理 | ダウングレード・リージョン移行・Nearline 化は見送り | 個人開発の GCP で「やらなかった」コスト削減4つ |
このほか、使っていない実験用の GPU サービスの削除、使っていないプロジェクトの削除、VM の週次スナップショットの設定(バックアップが1つもなかったので、費用とは別に)もやりました。
Claude Code に任せてうまくいったこと
全プロジェクトの横断調査
一番助かったのはここです。「GCP で費用がかかっていそうなところを全部見て」と頼むと、プロジェクトごとに gcloud を叩いて、次のようなものを一通り確認してくれました。
- Compute Engine の VM・ディスク・スナップショット・静的 IP
- Artifact Registry のリポジトリ別の容量
- Cloud Storage のバケット別の容量とライフサイクルルール
- Cloud Run のサービスとリビジョン
- Cloud SQL、Memorystore、Cloud NAT、Cloud Scheduler などの有無
- Cloud Logging の取り込み量
- 予算アラートの設定
自分でやると、どのコマンドで何を見ればいいかを調べるところから始まります。サービスが多いので、確実に見落としが出ます。
原因の深掘り
「9月に入って出費が増えた」と伝えると、Artifact Registry のイメージの作成日時とサイズを並べて、30日の保持期間ではイメージが1つも消えていない ことを突き止めてくれました。
外向き通信の調査では、VM のアクセスログを集計して、404 応答が全体の約4割を占めていることを見つけました。さらに、Apache が 404 応答だけ gzip 圧縮していないことまで確認しています。このあたりは、自分だけだと「通信料は仕方ない」で終わっていたと思います。
作業記録を残す
Claude Code のメモリ機能(プロジェクトごとのメモファイル)に、調査の結論・見送った理由・残りの課題を書き残してもらいました。9月と10月で別のセッションでしたが、2回目は前回の結論を読み込んだ状態から始められたので、同じ調査を繰り返さずに済んでいます。
うまくいかなかったこと
CUD の二重契約
一番の失敗です。1回目の見直しで「常時動いている VM には1年 CUD を付けると安くなる」という結論になり、契約しました。
その前に、Claude Code は gcloud compute commitments list で既存の CUD を確認しています。結果は0件でした。ところが、このコマンドに出てくるのはプロジェクト単位の CUD だけで、請求アカウント単位の3年 Flexible CUD は表示されません。1月に自分で契約していたその CUD を、私も忘れていました。
AI の調査は、実行したコマンドで見える範囲まで です。「確認した」と言われても、何を見て確認したのかまでは自分で見ておく必要がありました。お金が絡む判断は特にそうです。
詳しい経緯と取り消しの手順は、CUD を二重に買ってしまった話 に書きました。
取れないデータは取れない
Cloud Billing の SKU 別の請求データは、途中から API で取得できなくなりました(権限エラー)。そこは、私がコンソールの課金レポートから CSV をダウンロードして、Claude Code に渡しています。
結果的には CSV の方が確実でした。通信料が Networking ではなく Compute Engine に計上されていることも、CSV の SKU 名から分かりました。
人間がやる必要があったこと
役割分担を整理すると、こうなりました。
| Claude Code | 自分 |
|---|---|
| gcloud での調査・集計 | 課金レポート(CSV)のダウンロード |
| 原因の仮説と検証 | 削減策を採用するかどうかの判断 |
| ポリシーやスクリプトの作成 | 実行の承認(削除・契約・IP 変更など) |
| 作業記録の更新 | サポートへの問い合わせ(有人チャット) |
削除や契約のように取り消しにくい操作は、Claude Code が毎回実行前に確認を求めてくる設定にしていました。「最新2件だけ残す」ようなポリシーも、別のアプリでは稼働中のイメージが消えるところだったので(1回のデプロイでタグなしのバージョンが2件付いてくるため)、確認の手間は惜しまない方がいいです。
Windows で gcloud を使うときの小ネタ
Windows で scoop を使って gcloud を入れていると、gcloud の実体は gcloud.cmd(バッチファイル)です。Git Bash から呼ぶと cmd.exe を経由するので、--format="table(name,sizeBytes)" のような 括弧やカンマを含む引数が崩れます。
Claude Code に gcloud を使わせるときは、--format=json で出力させて、Python などで集計させるのが確実でした。
まとめ
- 横断的な調査と原因の深掘りは、Claude Code に任せるとかなり速い。自分では見に行かない項目まで確認してくれる。
- ただし、AI が「確認した」範囲は 実行したコマンドで見える範囲 だけ。お金が絡む判断の前には、何を見たのかを確認する。
- 請求の実データ(CSV)と、契約・削除の最終判断は人間の仕事として残る。
個人開発の規模なら、今回でほぼやり尽くした状態です。今後は月に1回、Artifact Registry の容量と請求の SKU 別レポートを見るくらいにするつもりです。
この記事をシェア