Cloud Cost Sense

Cloud Run Jobs、Cloud Tasks、Scheduler の費用計算

Cloud Run の実行時間、Cloud Tasks のリトライ、Scheduler の頻度、DB 処理、ログを分けてバックグラウンド処理費用を見積もります。

定期処理をリクエストトラフィックから分ける

バックグラウンド処理は、通常の Cloud Run 見積もりの中に隠れがちです。定期 job、queue worker、webhook retry、export、report、cleanup を、ユーザー向けページ表示とは別に並べます。各経路で月間実行回数、平均実行時間、CPU、メモリ、最小インスタンスを warm に保つかを見積もります。

開発中は小さく見える job でも、全顧客をスキャンしたり、ファイルを再生成したり、各 row で API を呼んだりすると高くなります。通常実行 1 回と、停止後に溜まった処理を追いつく実行の両方をモデル化し、happy path だけで判断しないようにします。

リトライとキューの burst をモデル化する

Cloud Tasks のようなキューパターンはレイテンシを守れますが、下流サービスが遅い場合や壊れた item がある場合、リトライが処理量を増やします。task ごとの試行回数、最大リトライ期間、dead-letter 処理、キャンペーンや import が作る最大 burst を見積もります。

worker の同時実行と Cloud Run の最大インスタンス数は、下流 DB を基準に設定します。キューが Firestore、Cloud SQL、Storage、外部 API より速く fan out できるなら、費用リスクは追加の compute 時間だけでなく、繰り返しの DB 処理やネットワーク処理にも広がります。

保存、DB、観測コストを加える

worker コンテナは月額請求の一部にすぎません。各 job が作る Firestore read/write、Cloud SQL クエリ、Storage のダウンロードやアップロード、BigQuery export、API 呼び出し、ログ量を加えます。高頻度 worker の verbose log は、想定以上にデバッグデータを高くすることがあります。

公開前に、バックグラウンド処理のトラフィックを API リクエスト、DB 操作、Storage 転送、想定実行時間として計算機に入れてください。そのうえで最初の大規模 import やキャンペーン前に、schedule、queue retry ポリシー、長時間 job に Billing アラートと担当者レビューを設定します。