無限ノック › DVA 練習問題一覧 › 問題
DVAトラブルシューティングと最適化

開発者はAWS X-Rayを使用して、Lambda・API Gateway・DynamoDBで構成されたサーバーレスアプリケーションをトレースしている。特定のユーザー(userId)のリクエストでのみエラーが発生していることが判明した。X-Rayコンソールでそのユーザーのトレースだけをフィルタリングして表示するには、どの方法が正しいか?

A
X-RayセグメントのmetadataフィールドにuserIdを記録し、X-Rayコンソールで検索する
X-RayセグメントのmetadataフィールドにuserIdを記録する方法はインデックス化されないため検索に使用できません。
B
X-RayセグメントのannotationフィールドにuserIdを記録し、X-Rayコンソールのフィルター式(filter expression)で検索する
✓ 正解
X-Rayにはannotation(アノテーション)とmetadata(メタデータ)の2種類の追加データ記録方式があります。annotationはインデックス化されるためフィルター式による検索が可能ですが、metadataはインデックス化されないため検索には使用できません。特定の値でトレースを絞り込みたい場合は必ずannotationを使用し、`putAnnotation("userId", userId)`のように記録します。
C
CloudWatch LogsにuserIdを出力し、X-Rayのトレースと手動でタイムスタンプを照合する
CloudWatch LogsにuserIdを出力し、X-Rayのトレースと手動でタイムスタンプを照合する方法は非効率です。
D
X-RayのアクティブトレーシングをLambdaで有効化するだけでuserIdは自動的に記録される
X-RayのアクティブトレーシングをLambdaで有効化するだけではuserIdは自動的に記録されません。

解説

正解: X-RayセグメントのannotationフィールドにuserIdを記録し、X-Rayコンソールのフィルター式(filter expression)で検索する。 X-Rayにはannotation(アノテーション)とmetadata(メタデータ)の2種類の追加データ記録方式があります。annotationはインデックス化されるためフィルター式による検索が可能ですが、metadataはインデックス化されないため検索には使用できません。特定の値でトレースを絞り込みたい場合は必ずannotationを使用し、`putAnnotation("userId", userId)`のように記録します。 選択肢Aは X-RayセグメントのmetadataフィールドにuserIdを記録する方法はインデックス化されないため検索に使用できません。 選択肢Cは CloudWatch LogsにuserIdを出力し、X-Rayのトレースと手動でタイムスタンプを照合する方法は非効率です。 選択肢Dは X-RayのアクティブトレーシングをLambdaで有効化するだけではuserIdは自動的に記録されません。

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

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

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