SOAモニタリング、ロギング、分析、修復、およびパフォーマンスの最適化
あるSREチームは、本番環境のREST APIエンドポイントが正常に動作しているかをエンドユーザーの視点から継続的に確認したいと考えています。APIが応答しない場合、または応答時間が3秒を超えた場合に自動アラートを発報し、CloudWatchダッシュボードで可用性の傾向を長期的に確認できるようにしたいです。追加のアプリケーションコード変更なしに最もコスト効率よく実現できるソリューションはどれですか?
AAWS LambdaでAPIを定期的に呼び出すスクリプトを作成し、Amazon EventBridgeで5分ごとに実行する。結果をカスタムメトリクスとしてCloudWatchに送信し、アラームを設定する。
APIを呼び出す Lambda 関数のスクリプト作成とカスタムメトリクス送信の実装が必要。CloudWatch Synthetics の組み込みブループリントに比べ、関数の管理・更新・デバッグの運用負荷が高くコスト効率が劣る。
BAmazon CloudWatch Syntheticsでカナリア(canary:定期実行される合成モニタリングスクリプト)を作成し、APIエンドポイントに対してHTTPチェックを5分ごとに実行するよう設定する。成功率・レイテンシーのメトリクスに対してCloudWatchアラームを設定する。
✓ 正解
組み込みの HTTP ブループリントを使用してアプリケーションコードを変更せずに即座に導入できる。カナリア実行結果が自動的に CloudWatch メトリクスとして記録され、アラームやダッシュボードでの長期傾向確認が可能。
CAmazon Route 53ヘルスチェックをAPIエンドポイントに設定し、CloudWatch Alarmと統合してSNS通知を設定する。
到達性の死活監視には有効だが、レスポンスタイムの詳細な閾値設定や CloudWatch ダッシュボードでの長期的な可用性・レイテンシー傾向の継続的な可視化機能が限定的であり、要件を完全には満たさない。
DAWS X-RayのトレースデータをCloudWatch Logs Insightsで分析し、応答時間が3秒を超えるトレースが検出された場合にEventBridgeルールでSNS通知を発報する。
実際のアプリケーショントラフィックを前提としたトレース分析ツールであり、実トラフィックがなければデータが収集されない。エンドユーザー視点から継続的にエンドポイントを監視する合成モニタリングには対応していない。
解説
Amazon CloudWatch Syntheticsはスクリプト化されたアクションを定期的に実行するマネージドサービスで、実際のユーザートラフィックがなくてもエンドユーザー視点のAPIやUI動作確認が可能です(合成モニタリング)。カナリア実行結果は自動的にCloudWatchメトリクスとして記録されアラーム設定ができ、ダッシュボードでの長期傾向確認も可能です。組み込みのHTTPブループリントを使用すればアプリケーションコードの変更なしに即座に導入でき、Lambda個別管理が不要なため最もコスト効率に優れます。
選択肢AのAWS Lambda + Amazon EventBridgeは、APIを呼び出すLambda関数のスクリプト作成とカスタムメトリクス送信の実装が必要です。CloudWatch Syntheticsの組み込みブループリントと比較して、Lambda関数の管理・更新・デバッグの運用負荷が高く、コスト効率の面で劣ります。
選択肢CのAmazon Route 53ヘルスチェックは死活監視(到達性確認)に有効ですが、CloudWatchダッシュボードでの長期的な可用性・レイテンシートレンドの継続的な可視化機能が限定的であり、3秒超でアラートのような詳細な応答時間閾値管理には不向きです。
選択肢DのAWS X-Rayはアプリケーションに実際のトラフィックが発生している場合のトレース分析ツールであり、実トラフィックがなければデータが収集されません。エンドユーザー視点の継続的な合成モニタリングとしては機能しません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSOAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →