ある企業が Amazon CloudFront + API Gateway + Lambda で提供している決済 API について、以下の問題が発生しています。 ・実際のユーザーがエラーを報告してから CloudWatch メトリクスに異常が現れるまで3〜5分のラグがある ・トラフィックが少ない深夜帯に発生する障害の検知が遅れる ・現在のヘルスチェックは API エンドポイントへの単純な GET リクエストのみで、OAuth(認証の業界標準プロトコル)認証フローや実際の決済処理シーケンスは検証していない ユーザー影響が出る前に問題を検知するプロアクティブ監視(合成監視)として、最も適切なアーキテクチャはどれですか?
CloudWatch Synthetics は実際のユーザーフロー(認証→API呼び出し→レスポンス検証)をスクリプト化したキャナリー(Canary)を定期実行するマネージドサービスです(「合成監視:synthetic monitoring」とも呼ばれます)。実トラフィックがなくても定期的に本番環境をテストするため深夜帯の問題も早期検知でき、多段階の認証フローも完全に検証できます。実行結果はCloudWatchメトリクスとして自動記録されます。 選択肢AのRoute 53 ヘルスチェックは、単純なHTTP/HTTPS/TCP疎通確認のみで、OAuth認証フローや複数ステップの業務ロジック検証はできません。 選択肢CのX-Rayは、実際のリクエストトラフィックのトレーシングに特化しており、トラフィックがない時間帯のプロアクティブ監視には使用できません。 選択肢DのLambda スケジュールでも同様の監視は実装できますが、CloudWatch Synthetics と比べてスクリプト実行環境・CloudWatchメトリクス自動記録・実行ログ・スクリーンショット取得などをすべて自前で実装する必要があり、運用オーバーヘッドが大きくなります。