Serverless関数のX-Rayトレース設定を確認

障害分析に必要なトレース方式を選んでください。

説明

AWS X-RayはLambda呼び出しの遅延やエラーの分析に役立ちます。Activeはアクティブトレースを有効にし、PassThroughとはサンプリング動作が異なります。関数側で設定を省略すると、providerのトレース設定を継承する場合があります。

想定される影響

必要なトレースデータがないと、サービス間の遅延やエラーの発生箇所を特定するまでに時間がかかる場合があります。

対処方法

アクティブトレースが必要な場合は、関数のtracing: Activeまたは共通のprovider設定を使ってください。カスタム実行ロールに必要なX-Ray権限を付与し、実際にトレースが収集されるか確認してください。

例

PassThroughをActiveに変更します。Framework 4とNode.js 22に対応するハンドラー、SNSトピックARNのfailureTopicArn、X-Ray権限を持つ実行ロールARNのlambdaRoleArnを別途用意してください。

変更前

yaml
service: service
frameworkVersion: '4'
provider:
  name: aws
  runtime: nodejs22.x

functions:
  hello:
    handler: handler.hello
    onError: ${param:failureTopicArn}
    tags:
      foo: bar
    role: ${param:lambdaRoleArn}
    tracing: PassThrough

変更後

yaml
service: service
frameworkVersion: '4'
provider:
  name: aws
  runtime: nodejs22.x

functions:
  hello:
    handler: handler.hello
    onError: ${param:failureTopicArn}
    tags:
      foo: bar
    role: ${param:lambdaRoleArn}
    tracing: Active

参考資料