ある企業が、Google Cloud上のアプリケーションで定期的にバックグラウンドタスク(メール送信、レポート生成等)を非同期に実行したいと考えています。ジョブキューとして最もシンプルかつマネージドなアプローチはどれですか?
- A. Compute EngineにカスタムジョブキューアプリケーションをVMにインストールして自己管理する
- B. Cloud Spannerのトランザクションをジョブキューとして使用し、各タスクをDBの行として管理する
- C. Cloud Tasks(フルマネージドの非同期タスクキュー)を使って、タスクを定義してキューに追加し、Cloud FunctionsまたはCloud RunのワーカーがHTTPコールバックとして処理する
- D. BigQueryのストリーミングインサートをジョブキューとして活用し、各タスクをBQの行として管理する
解答と解説を見る
正解: C
Cloud Tasksはフルマネージドの非同期タスク実行サービスで、HTTPタスク(HTTPエンドポイントへのコールバック)をキューに積み、指定した速度・タイミングでCloud FunctionsやCloud Runのワーカーエンドポイントに配信する。再試行制御、重複排除、速度制限(rate limiting)も提供。自前のVMへのキューソフトウェアインストールは管理コストが高い。Cloud Spannerはトランザクションデータベースでジョブキューには設計上不向き。BigQueryはOLAP分析基盤でリアルタイムジョブキューには不適切。
📚 関連サービスの解説: Cloud Functions ・ Cloud Run