AWS Lambda
開発者ガイド

AWS X-Ray の Lambda でのセットアップ

以下は、Lambda で X-Ray をセットアップする方法の詳細情報です。

開始する前に

Lambda CLI を使用した Lambda 関数のトレースを有効にするには、まず関数の実行ロールにトレース用のアクセス権限を追加する必要があります。これを行うには、次のステップを実行します。

  • AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  • Lambda 関数の実行ロールを見つけます。

  • 次の管理ポリシーをアタッチします。AWSXrayWriteOnlyAccess

これらのポリシーの詳細については、AWS X-Ray を参照してください。

Lambda コンソールを使用してトレースモードをアクティブに変更する場合は、トレース用アクセス権限が自動的に追加されます。詳しくは次のセクションを参照してください。

トレース

アプリケーションを経由するリクエストのパスは、トラック ID を使用して追跡されます。トレースでは、1 つのリクエスト (通常は HTTP GET または POST リクエスト) で生成されたセグメントをすべて収集します。

Lambda 関数のトレースには 2 つのモードがあります。

  • パススルー: 関数の実行ロールにトレース用のアクセス権限を追加している場合は、これがすべての Lambda 関数のデフォルト設定になります。この手法では、Lambda 関数は、AWS Elastic Beanstalk などのアップストリームサービスで X-Ray が有効になっている場合にのみトレースされます。

  • アクティブ: Lambda 関数にこの設定がある場合、Lambda は X-Ray によって指定されるサンプリングアルゴリズムに基づいて呼び出しリクエストを自動的にサンプリングします。

    注記

    X-Ray はサンプリングアルゴリズムを適用することで、トレースを効率的にしつつ、アプリケーションが処理するリクエストの代表的なサンプルを提供できるようにします。デフォルトのサンプリングアルゴリズムは 1 分間につき 1 リクエストで、この制限を超えた場合はリクエストの 5 パーセントがサンプリングされます。ただし、関数へのトラフィックのボリュームが低い場合、サンプリングレートが高くなる場合があります。

Lambda 関数のトレースモードは、Lambda マネジメントコンソールを使用するか、Lambda CreateFunction API アクションまたは UpdateFunctionConfiguration API アクションを使用して変更できます。

Lambda コンソールを使用する場合は、次のようになります。

  • 関数のトレースモードをアクティブに変更すると、トレース用のアクセス権限が自動的に関数の実行ロールにアタッチされます。Lambda が [AWSXrayWriteOnlyAccess] ポリシーを関数の実行ロールに追加できなかったというエラーを受け取った場合は、https://console.aws.amazon.com/iam/ の IAM コンソールにサインインして、手動でポリシーを追加してください。

  • アクティブな追跡を有効にするには、関数の [Configuration] タブに移動し、[Enable active tracing] ボックスをオンにします。

Lambda CreateFunction API アクションまたは UpdateFunctionConfiguration API アクションを使用する場合:

  • トレースモードをアクティブにする場合は、TracingConfig パラメータの Mode プロパティを Active. に設定します。繰り返しになりますが、新規関数のトレースモードはデフォルトで PassThrough に設定されます。

  • 新規または更新された Lambda 関数は、指定された値に設定された $LATEST バージョンがあります。

    注記

    関数の実行ロールにトレース用のアクセス権限が追加されていない場合は、エラーが発生します。詳細については、「開始する前に」を参照してください。

このページの内容: