【正解】B
【0からの解説】
①前提知識:
・合成モニタリング(合成モニター):Cloud Monitoring の機能で、ユーザー操作を模したテスト スクリプト(例: Puppeteer や Selenium でログイン→カートに追加→購入)を Cloud Run functions(旧 Cloud Functions)として定期実行し、成功・失敗やレイテンシを記録します。合成モニターの作成時にアラート ポリシーも作成でき、失敗時に通知が届きます。スケジュール実行や結果の保存は Cloud Monitoring が管理します。
・稼働時間チェック(uptime check):URL やホストに定期的にリクエストを送り、応答が返るか(必要に応じて特定の文字列を含むか)を確認する機能です。単一のリクエストの成否を見るもので、複数ステップのユーザー操作フローはテストできません。
②要件の整理:(a) 本番のチェックアウト プロセス(複数ステップの業務フロー)を定期的にテストする、(b) 障害時に自動通知を受け取る、(c) 管理の手間を最小限にし Google 推奨のやり方に従う、の 3 点です。
③正解の理由:チェックアウトのような複数ステップのフローを定期的に能動テストするための Google 推奨の仕組みが合成モニタリングです。Cloud Run functions でテストを実装し、アラート ポリシーと組み合わせれば、定期実行・結果の記録・失敗時の通知が Cloud Monitoring のマネージド機能として提供され、(a)〜(c) をすべて満たします。
【誤りの選択肢】
A:Workflows でテストを組むことはできますが、Cloud Tasks は個々のタスクをキューで非同期実行するサービスで、定期実行のスケジューラではありません(定期実行なら Cloud Scheduler が適切)。また結果の可視化や失敗時のアラートを自前で作る必要があり、管理の手間が大きくなります。
C:失敗ログの監視は、実際のユーザーがチェックアウトして失敗したときに初めて検知できる受動的な方法です。「定期的にテストする」という能動的な検証の要件を満たさず、利用者が少ない時間帯の障害も見逃します。
D:稼働時間チェックはエンドポイントが応答するかを確認するだけで、カートへの追加や決済といった複数ステップのチェックアウト処理が機能するかまでは検証できません。
【参考】
合成モニターを作成する | Cloud Monitoring合成モニタリングの概要 | Cloud Monitoring