Cloud Cost Sense
Google Cloud Scheduler の費用:Job、Target、Retry
Active・paused job、billing account の無料枠、target service、retry から Google Cloud Scheduler の費用を見積もります。
実行回数ではなく job 数を数える
Cloud Scheduler の料金は各 job の実行頻度ではなく job 数に基づきます。Google は現在、billing account ごとに月 3 job を無料とし、それを超える job に 31 日当たり $0.10 を課金しています。無料枠は billing account に紐づく project 間で共有されるため、account 全体の job を棚卸ししてから適用します。
Paused job も数に含まれ、課金対象の使用量は日単位で計算されます。計画時には active と paused の job を数え、account level の利用可能な無料枠を差し引き、短期間だけ存在した有料 job は日数で按分します。Rate と allowance は変更される可能性があるため、予算承認前に最新の公式料金ページを確認してください。
Target workload の費用を加える
Scheduler job の料金には target が実行する処理の費用は含まれません。HTTP service、Cloud Run service または function、Pub/Sub topic と subscriber、App Engine application の該当料金に、各 invocation が発生させる logging、storage、database operation、network transfer を加えます。
Target usage は scheduled run × 実際の delivery × delivery 当たりの処理量で見積もります。Frequency は既存 job の Scheduler 料金を変えませんが、通常は target service の料金を変えます。安価な cron 定義の背後に高価な query や compute task が隠れないよう、hourly、daily、batch workload を分けて計算してください。
Retry と重複安全な処理を予算化する
Cloud Scheduler は at-least-once delivery を使い、失敗時には exponential backoff で retry できます。Retry が別の Scheduler job 料金を作ることはありませんが、追加 delivery ごとに target の compute、Pub/Sub、database、API、logging resource を消費する可能性があります。Attempt 数を追跡し、timeout や acknowledgement の不一致を継続的な downstream cost になる前に調査します。
繰り返された request が有料処理や業務操作を重複させないよう handler を idempotent にします。古い job と paused job を定期的に見直し、適切な attempt deadline と retry policy を設定し、job inventory と target-service metrics の両方を監視してください。Scheduled container workload では、小さな Scheduler control-plane 料金とは別に downstream execution model を比較します。