SOAモニタリング、ロギング、分析、修復、およびパフォーマンスの最適化
あるEC2上のREST API(注文管理システム)の運用チームは、エンドユーザーが障害を報告する前にAPIエンドポイントの可用性と応答時間を継続的に検証したいと考えています。実際のHTTPリクエストをシミュレートし、期待するステータスコードと応答内容を確認する仕組みを最小限の運用負荷で構築するには、どのアプローチが最も適切ですか?
ACloudWatch Synthetics でカナリア(Canary)スクリプトを作成し、APIエンドポイントを定期的にテストする。失敗時は CloudWatch アラームで自動通知する
✓ 正解
CloudWatch Synthetics はスクリプト(カナリア)を使って実際のHTTPリクエストをシミュレートする外形監視サービスです。スクリーンショット・レポートの自動生成、CloudWatch アラームとの標準統合が提供され、運用負荷が最も低いです。
BLambda 関数を EventBridge スケジュールで5分ごとに起動し、APIをテストして結果をカスタムメトリクスとして CloudWatch に送信する
Lambda関数によるカスタムコードが必要です。
CEC2 インスタンスに cronジョブ(定期実行スクリプト)を設定し、curl コマンドでAPIをポーリングしてログに記録する
cronジョブの実行にインフラ管理が必要です。
DCloudWatch RUM(Real User Monitoring)を有効化し、実際のエンドユーザーのブラウザセッションから可用性データを収集する
CloudWatch RUMはエンドユーザー操作が発生してから初めてデータが得られるため、障害の事前検知には不向きです。
解説
外形監視の実装には各アプローチにトレードオフがあります。
選択肢AのCloudWatch Syntheticsはスクリプト(カナリア)を使って実際のHTTPリクエストをシミュレートする外形監視サービスです。スクリーンショット・レポートの自動生成、CloudWatchアラームとの標準統合が提供され、カスタムコードやインフラ管理が不要なため、最も運用負荷が低い選択肢です。
選択肢BはLambda関数によるカスタムコードが必要で、テストロジックの実装・エラーハンドリング・メトリクス送信のメンテナンス負荷が増します。
選択肢CはEC2インスタンスへのcronジョブ設定が必要で、インスタンスの維持・管理も伴うため、サーバーレスなアプローチと比べて運用負荷が高くなります。
選択肢DのCloudWatch RUMはエンドユーザー操作が発生してから初めてデータが得られるため、障害の事前検知には不向きです。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSOAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →