説明
Lambda の X-Ray トレース情報が不足すると、呼び出しの遅延やエラー原因を分析しにくくなります。Active モードはサンプリングしたリクエストのトレースを自動送信します。現在の PassThrough モードはトレースのコンテキストを伝播しますが自動送信せず、関数コードから別途送信することは可能です。
想定される影響
- 複数のサービスにまたがる呼び出し経路や遅延区間を特定しにくくなります。
- ログとメトリクスだけで原因を絞れない場合、障害対応に時間がかかる可能性があります。
対処方法
Lambda の自動トレースが必要な場合は tracing_config.mode を Active に設定してください。実行ロールに X-Ray への送信権限を与え、必要なアプリケーション計装も設定してください。実際の収集を確認し、サンプリングされるトレースをログとメトリクスで補ってください。
例
トレース設定を比較する抜粋です。デプロイファイル、実行ロール、サポートされるランタイムなど、他の関数設定は別途用意してください。
変更前
hcl
resource "aws_lambda_function" "example" {
filename = "lambda_function_payload.zip"
function_name = "lambda_function_name"
role = aws_iam_role.iam_for_lambda.arn
handler = "exports.test"
tracing_config {
mode = "PassThrough"
}
}
変更後
hcl
resource "aws_lambda_function" "example" {
filename = "lambda_function_payload.zip"
function_name = "lambda_function_name"
role = aws_iam_role.iam_for_lambda.arn
handler = "exports.test"
tracing_config {
mode = "Active"
}
}
変更後は Active トレースを使います。すべての呼び出しが記録されるわけではなく、外部サービス呼び出しの詳細にはコードの計装が必要な場合があります。