Lambda の X-Ray トレース設定の確認

Lambda の遅延やエラーを分析するため、必要なトレースモードと権限を設定してください。

説明

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 トレースを使います。すべての呼び出しが記録されるわけではなく、外部サービス呼び出しの詳細にはコードの計装が必要な場合があります。

参考資料