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

Amazon EC2上で実行されているカスタムアプリケーションからAWS X-Rayサービスにトレースデータを正常に転送して可視化したいと考えています。アプリケーションコードにはAWS X-Ray SDKが組み込まれています。アプリケーションからX-Rayにトレースデータを送信するための標準的かつ推奨される転送メカニズムはどれですか。

A
EC2インスタンス上でAWS X-Rayデーモンをバックグラウンド実行し、SDKからUDP経由で送られたデータをX-Rayサービスへ一括転送する。
✓ 正解
X-Ray SDKはUDP経由でローカルのX-Rayデーモンにトレースデータを送り、デーモンがX-Rayサービスへ非同期でまとめて送信します。これがオーバーヘッドを抑える標準構成です。
B
AWS X-Ray SDKからAmazon S3バケットへ直接トレースログを出力し、S3イベントバインディングを経由してX-Rayにインポートする。
S3バケットを介したログ出力とS3イベントトリガーによるX-Rayへのインポートという構成は存在せず、レイテンシーの増大や不要なインフラ費用が発生するため不適切です。
C
アプリケーションコードから直接HTTPSプロトコルを使用して、全リクエストのトレースデータをX-Ray APIへ同期的に直接送信する。
アプリケーションからX-Ray APIへ直接同期的なHTTPS通信を行うと、アプリの呼び出しごとに強いレイテンシーの影響やネットワーク負荷が発生するため推奨されません。
D
Amazon Data Firehoseにトレースイベントを送信し、バッチ処理でX-Rayサービスのエンドポイントへ非同期に配信する。
Amazon Data Firehoseを挟む構成は不要なコンポーネントを増加させ、トレースデータのリアルタイム性を損なうため、X-Rayのデータ転送アーキテクチャとして適切ではありません。

解説

アプリケーション(特にEC2やオンプレミス環境など)からAWS X-Rayにトレースデータを転送する推奨手法は、AWS X-Rayデーモン(X-Ray Daemon)を使用することです。X-Ray SDKはトレースデータをローカルのUDPポート(デフォルト 2000)へパケットとして送信し、X-Rayデーモンがそれらを収集・バッチ処理して、X-Ray APIへ安全かつ非同期に一括転送します。これによりアプリ本体のパフォーマンス影響を最小限に抑えられます。

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

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

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