DVAトラブルシューティングと最適化
分散アプリケーションのトラブルシューティングを行っている開発者は、リクエストが複数のマイクロサービス(Amazon API Gateway、AWS Lambda、Amazon DynamoDB)を経由する際のレイテンシやエラーの原因をエンドツーエンドで追跡・可視化したいと考えています。アプリケーションにAWS X-Rayを導入する際、適切な手順とデータの転送方法はどれですか。
AアプリケーションコードにAWS X-Ray SDKを組み込んでトレースデータを生成し、X-Rayデーモン(Daemon)プロセスを介してX-Rayサービスへデータを非同期転送する。
✓ 正解
X-Ray SDKをアプリに導入してトレース情報を記録し、X-Ray DaemonにUDP送信することで、メイン処理に遅延を与えず効率的にデータ転送が可能です。
BCloudWatch Logsのロググループに直接X-Ray形式のログを出力し、CloudWatch Subscription Filtersを使用してデータをX-Rayに流し込む。
CloudWatch Logsのサブスクリプションフィルター経由でX-Rayデータを転送する仕組みはX-Rayの標準的なアーキテクチャではありません。
CAPI GatewayおよびLambdaのコンソールでX-Rayトレースを有効化し、SDKの組み込みやデーモンの利用を一切行わずに全詳細データを自動収集させる。
マネージドサービス側で有効化するだけでは通信のオーバーヘッドやアプリ内の詳細なサブセグメント(DBクエリ等の追跡)まで取得できないためSDKが必要です。
DAWS Systems Manager Agentを各環境にインストールし、ログ収集パイプライン経由でX-Rayエンドポイントヘ同期HTTP POSTリクエストを発行する。
Systems Manager Agentはシステム管理用エージェントであり、アプリケーションのX-Rayトレース収集・転送を行う役割は持っていません。
解説
AWS X-Rayを使用して分散システムのトレースを行う場合、アプリケーションコードに「AWS X-Ray SDK」を組み込んで受発信リクエストやサブセグメントを記録します。生成されたトレースデータは、ローカル環境やEC2/ECS等で動作する「AWS X-Ray Daemon」にUDPバッファ経由で送られ、デーモンがまとめてX-Ray APIへ非同期転送します(Lambda環境ではLambda管理下のマネージドデーモンが自動的に面倒をみます)。CloudWatchログのフィルタリング経由での転送やSSM Agentを利用する構成は標準的ではありません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →