01全体像 — 時刻で起こし、処理の重さで実行先を変える
Cloud Scheduler は決めた時刻に HTTP / API 呼び出しを行うトリガー。実際の処理は、関数・コンテナジョブ・VM系バッチのいずれかに委ねる。
Cloud Scheduler → Functions / Cloud Run Jobs / Cloud Batch。実行時間と処理規模で選ぶ。- トリガー:Cloud Scheduler — 実行基盤を時刻で起動
- 実行基盤:Cloud Functions / Run Jobs / Batch — ワークロードの重さで選ぶ
- 実行履歴:実行基盤側で確認 — Schedulerの成功だけで完了としない
023つの選定軸
コンテナで run-to-completion するため、Web API と同じイメージ・CI/CD の考え方を流用できる。execution と task の単位で状態や再試行を追える。
実行時間、実装スタイル、タスク単位の管理要件を比較する。- Cloud Functions:軽い補助処理 — 関数として短く実装する
- Cloud Run Jobs:通常の業務バッチ — コンテナで完了まで実行する
- Cloud Batch:GPU・HPC — VM級の大量計算を扱う
03失敗しない決め方
GPU・巨大メモリ・HPC が必須でない限り、まず Cloud Run Jobs の実行時間、CPU/メモリ、タスク並列数で要件を満たせるか確認する。
軽い補助処理→Functions、通常の業務バッチ→Run Jobs、HPC/GPU→Batch。- 実行時間:短い — Functionsを候補にする
- 並列と再試行:タスク単位で必要 — Run Jobsを候補にする
- GPU・特殊VM:必要 — Batchを候補にする
結論
- Cloud Scheduler は「いつ」、実行基盤は「どう処理するか」を担う。
- プロダクトの定期バッチは、まず Cloud Run Jobs を比較の基準に置く。
- 巨大計算以外で最初から Cloud Batch を選ぶ必要は通常ない。