Python 用の AWS Lambda ネイティブ・トレース
Instana AWS Lambda トレースは、 Python で記述された AWS Lambda 関数に対して設定できます。
詳細については、 AWS ラムダのトレースを参照してください。
サポートされるランタイム
Python 3.13Python 3.12Python 3.11Python 3.10Python 3.9
前提条件
AWS Lambda ランタイム内部から Instana が収集できないバージョンとランタイムメトリクスを収集するために、 Lambda 監視用の AWS エージェントを設定します。
AWS ラムダ関数の設定
ラムダ関数のトレースを有効にするには、以下の設定オプションのいずれかを使用します:
- Instana Lambdaレイヤーの使用 :Lambda関数のゼロコードインスツルメンテーションは、純粋に設定によって行われます。 トレースを可能にするには、この方法が望ましい。
-
instanaパッケージを手動でインストールする : FedRAMP-compliant などの制限された環境では、Instana Python Tracer パッケージを手動でインストールできます。
Instanaラムダ層の使用
AWS ウェブコンソールから Python Lambda 関数のトレースを有効にするには、以下の手順を実行します:
ステップ 1. Instanaラムダレイヤーを関数に追加する
- ラムダ関数の設定ページで、 レイヤーボックスをクリックします。
図 1. ラムダ・レイヤー 
- レイヤーボックスの レイヤーを追加をクリックします。
図 2. 層の追加 
- 新しいページが開いたら、レイヤーのソースとして ARN オプションを選択します。 地域と一致する Instana Lambda Layer の ARN をコピーして [Specify an ARN] フィールドに貼り付け、[ Add ] をクリックします。 Instana Lambda Layer の正しい ARN は、 Instana Lambda Layers セクションで見つけることができます。

ステップ 2. ラムダ・ハンドラを設定する
ラムダ・ハンドラを instana.lambda_handler に設定する。 ファンクション設定ページで、 ランタイム設定セクションに移動し、 編集をクリックします。

ハンドラ・ フィールドに、 instana.lambda_handler を挿入し、 Save をクリックする。

カスタムハンドラ値(ランタイムのデフォルトハンドラではなく、前述の詳細を参照)を使用する場合は、環境変数 LAMBDA_HANDLER でハンドラを指定し、Instana ラムダレイヤーに通知します。 例えば、ハンドラーが myModule.myHandler の場合、環境変数 LAMBDA_HANDLER を myModule.myHandler に設定する。 設定が必要なその他の環境変数については、次のセクションを参照のこと。
Lambda can't find the file
instana.lambda_handler. のような警告が表示される場合があります。 このメッセージは、後で設定ページに戻ったときに表示することもできます。 ハンドラはInstana Lambdaレイヤーに含まれているため、この警告を無視することができますが、 AWS Lambda設定ページでは考慮されません。ステップ 3. 環境変数の構成
以下の環境変数を追加します。
INSTANA_ENDPOINT_URL: サーバーレス監視のエンドポイント。 該当するリージョン用の、https://serverless-で始まる適切な値を使用していることを確認してください。INSTANA_AGENT_KEY: エージェント・キー。LAMBDA_HANDLER:カスタムハンドラ(デフォルトハンドラを使用していない場合)lambda_function.lambda_handler.
これらの環境変数の正しい値は、Instana のインストールでも確認できます。 データソース > エージェントのインストール > AWS ラムダ.
ステップ 4. AWS コマンドラインインターフェイス(CLI)の使用
以下の AWS 管理ツールのいずれかを使用して、ラムダ関数のトレースを有効にすることもできます:
次の例は、 AWS Lambda関数のInstana統合を自動化したい場合の出発点となる、 aws CLIコマンドを示しています:
# Do not copy and paste this verbatim!
# It will overwrite any previously defined collection of layers and environment variables.
aws --region $YOUR_REGION lambda update-function-configuration \
--function-name $YOUR_LAMBDA_FUNCTION_NAME \
--layers $INSTANA_LAYER_ARN \
--handler instana.lambda_handler \
--environment ""Variables={INSTANA_ENDPOINT_URL=... , INSTANA_AGENT_KEY=... , ...}""
instana パッケージを手動でインストールする
Instana Lambda レイヤーを使用する代わりに、Instana Python Tracer パッケージを手動でインストールすることもできます。 このオプションは、 FedRAMP-compliant 環境のような制限された環境に適している。
Python ラムダ関数のトレースを有効にするには、以下の手順を実行します:
- Instana Python Tracer パッケージを依存関係として関数プロジェクトに追加します。 [1]
- ラムダ・ ハンドラの設定 」セクションの説明に従って、ラムダ・ハンドラを
instana.lambda_handlerに設定します。 - ラムダ関数用に以下の環境変数を設定する:
-
INSTANA_ENDPOINT_URL: サーバーレス監視のエンドポイント。 該当するリージョン用の、https://serverless-で始まる適切な値を使用していることを確認してください。 -
INSTANA_AGENT_KEY: エージェントキー -
LAMBDA_HANDLER:カスタムハンドラ(デフォルトハンドラを使用していない場合)lambda_function.lambda_handler.
-
Instana Lambda レイヤー
Python 用の最新バージョンの AWS Lambda レイヤーの ARN は、リージョンごとに以下のとおりです。
| リージョン | ARN |
|---|---|
af-south-1 |
arn:aws:lambda:af-south-1:410797082306:layer:instana-python:82 |
ap-east-1 |
arn:aws:lambda:ap-east-1:410797082306:layer:instana-python:82 |
ap-northeast-1 |
arn:aws:lambda:ap-northeast-1:410797082306:layer:instana-python:82 |
ap-northeast-2 |
arn:aws:lambda:ap-northeast-2:410797082306:layer:instana-python:82 |
ap-northeast-3 |
arn:aws:lambda:ap-northeast-3:410797082306:layer:instana-python:82 |
ap-south-1 |
arn:aws:lambda:ap-south-1:410797082306:layer:instana-python:82 |
ap-south-2 |
arn:aws:lambda:ap-south-2:410797082306:layer:instana-python:82 |
ap-southeast-1 |
arn:aws:lambda:ap-southeast-1:410797082306:layer:instana-python:82 |
ap-southeast-2 |
arn:aws:lambda:ap-southeast-2:410797082306:layer:instana-python:82 |
ap-southeast-3 |
arn:aws:lambda:ap-southeast-3:410797082306:layer:instana-python:82 |
ap-southeast-4 |
arn:aws:lambda:ap-southeast-4:410797082306:layer:instana-python:82 |
ap-southeast-5 |
arn:aws:lambda:ap-southeast-5:410797082306:layer:instana-python:82 |
ap-southeast-7 |
arn:aws:lambda:ap-southeast-7:410797082306:layer:instana-python:82 |
ca-central-1 |
arn:aws:lambda:ca-central-1:410797082306:layer:instana-python:82 |
ca-west-1 |
arn:aws:lambda:ca-west-1:410797082306:layer:instana-python:82 |
cn-north-1 |
arn:aws-cn:lambda:cn-north-1:107998019096:layer:instana-python:82 |
cn-northwest-1 |
arn:aws-cn:lambda:cn-northwest-1:107998019096:layer:instana-python:82 |
eu-central-1 |
arn:aws:lambda:eu-central-1:410797082306:layer:instana-python:82 |
eu-central-2 |
arn:aws:lambda:eu-central-2:410797082306:layer:instana-python:82 |
eu-north-1 |
arn:aws:lambda:eu-north-1:410797082306:layer:instana-python:82 |
eu-south-1 |
arn:aws:lambda:eu-south-1:410797082306:layer:instana-python:82 |
eu-south-2 |
arn:aws:lambda:eu-south-2:410797082306:layer:instana-python:82 |
eu-west-1 |
arn:aws:lambda:eu-west-1:410797082306:layer:instana-python:82 |
eu-west-2 |
arn:aws:lambda:eu-west-2:410797082306:layer:instana-python:82 |
eu-west-3 |
arn:aws:lambda:eu-west-3:410797082306:layer:instana-python:82 |
il-central-1 |
arn:aws:lambda:il-central-1:410797082306:layer:instana-python:82 |
me-central-1 |
arn:aws:lambda:me-central-1:410797082306:layer:instana-python:82 |
me-south-1 |
arn:aws:lambda:me-south-1:410797082306:layer:instana-python:82 |
sa-east-1 |
arn:aws:lambda:sa-east-1:410797082306:layer:instana-python:82 |
us-east-1 |
arn:aws:lambda:us-east-1:410797082306:layer:instana-python:82 |
us-east-2 |
arn:aws:lambda:us-east-2:410797082306:layer:instana-python:82 |
us-west-1 |
arn:aws:lambda:us-west-1:410797082306:layer:instana-python:82 |
us-west-2 |
arn:aws:lambda:us-west-2:410797082306:layer:instana-python:82 |
中国語地域のパターンは arn:aws-cn:lambda:${region}:107998019096:layer:instana-python:${layer-version} で、残りの地域のパターンは arn:aws:lambda:${region}:410797082306:layer:instana-python:${layer-version}です。
常に最新バージョンを使用し、使用しているレイヤー・バージョンを定期的に更新してください。これにより、レイヤーの新規バージョンを公開する際に提供される新機能とフィックスのメリットが得られます。
トラブルシューティング
レイヤーの順番がInstanaレイヤーのパフォーマンスに影響する可能性がある
Python Lambda関数に複数のレイヤーを追加する場合、追加の順序がInstanaレイヤーのパフォーマンスに影響します。 Instanaレイヤーが正しくトレースされるように、レイヤーのマージ順の最後の位置(一番大きい番号)に配置します。

AWS Lambdaの公式ドキュメントに従って、 依存関係を含む.zipデプロイパッケージを作成してください。 ︎