DVAトラブルシューティングと最適化

開発者は、Amazon API Gateway、AWS Lambda、Amazon DynamoDB を組み合わせたサーバーレスマイクロサービスの運用・調査を行っています。ユーザーのリクエストが各サービス間を通過する際の全体的なトレースや、DynamoDBクエリを含む処理のレイテンシ・エラー発生源を詳細に追跡・可視化したいと考えています。適切なAWS X-Rayの導入とデータ転送手順はどれですか。

A
アプリケーションコードに AWS X-Ray SDK を組み込んでセグメントやサブセグメントを生成し、X-Ray Daemon(UDP)を経由してX-Rayサービスへトレースデータを非同期送信する。
✓ 正解
X-Ray SDKによる詳細データの記録と、X-Ray Daemonを介した非同期データ転送の構成が、ボトルネック特定に必要なデータを収集する標準手順です。
B
Amazon CloudWatch Agent を環境に常駐させ、標準出力に出力されたアプリケーションログを解析させて自動的にX-Rayデータ形式に変換・転送する。
CloudWatch Agentはメトリクスやログ収集用であり、アプリケーションレベルのX-Rayトレースセグメントデータを直接作成・転送する機能はありません。
C
API GatewayおよびLambdaのコンソール上でアクティブトレースを有効化し、ソースコードの変更やSDKの導入を一切行わずに詳細な内部追跡データを取得する。
マネージドコンソールでの有効化(アクティブトレース)のみではサービス間の大まかな接続しか追跡できず、アプリ内部のクエリ等の詳細データは収集できません。
D
AWS Systems Manager Agent を使用してログを収集し、Amazon S3を経由してAWS GlueでX-Rayエンドポイントヘロードする。
Systems Manager AgentやS3、Glueを組み合わせるデータ転送方法は不要に複雑であり、X-Rayの標準的なアーキテクチャではありません。

解説

AWS X-Rayを使用して分散アプリケーションのトレースを行うには、アプリコード内に「AWS X-Ray SDK」を組み込んでリクエストやダウンストリーム(DynamoDB呼び出し等)のサブセグメント情報を生成する必要があります。SDKが記録したトレースデータは、UDP経由で「AWS X-Ray Daemon」へ送られ、デーモンがまとめてX-Rayサービスへ非同期転送します(Lambda環境ではマネージドなDaemonが自動処理します)。マネージド設定の有効化だけではアプリ内部の詳細までは記録できません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
DVA の問題一覧に戻る