Python 用の AWS Lambda ネイティブ・トレース
Python で記述された AWS Lambda 関数に対して、 Instana の AWS Lambda トレースを設定できます。
詳細については、 AWS Lambda tracing を参照してください。
サポートされるランタイム
Python 3.13Python 3.12Python 3.11Python 3.10Python 3.9
前提条件
Lambdaの監視用に AWS エージェントを設定し、 Instana が AWS Lambda ランタイム内部からは収集できないバージョン情報やランタイムメトリクスを収集できるようにします。
AWS Lambda 関数の設定
以下の設定オプションのいずれかを使用することで、Lambda関数のトレースを有効にできます:
- Instana のLambdaレイヤーの使用 :設定のみによってLambda関数のインストルメンテーションをコードを一切書かずに実現します。 トレースを有効にするには、この方法が推奨されます。
- パッケージ
instanaの手動インストール : FedRAMP-compliant 環境などの制限のある環境では、 Instana Python Tracerパッケージを手動でインストールすることができます。
Instana のLambdaレイヤーの使用
AWS のWebコンソールで Python のLambda関数のトレースを有効にするには、以下の手順を実行してください:
ステップ 1. 関数に Instana のLambdaレイヤーを追加する
- Lambda 関数の設定ページで、 「レイヤー 」ボックスをクリックします。
図 1. Lambdaレイヤー 
- 「レイヤー 」ボックス内の「レイヤーを追加」をクリックします。
図 2. 層の追加 
- 開いた新しいページで、レイヤーのソースとして 「ARNを指定」 オプションを選択します。 「ARNの指定」 フィールドに、お使いのリージョンに対応する Instana Lambda LayerのARNをコピーして貼り付け、 [追加 ]をクリックします。 「 Instana 」Lambdaレイヤーに対応するARNは、 「 Instana 」 の「Lambdaレイヤー」セクションで確認できます。

ステップ 2. Lambdaハンドラーを設定する
Lambdaハンドラーを次のように設定します instana.lambda_handler。 機能設定ページで、 「実行時設定 」セクションに移動し、「 編集 」をクリックします。

[ ハンドラー ] フィールドに「,」 instana.lambda_handlerを入力し、[ ] をクリックします Save。

ランタイムのデフォルトハンドラーではなく、カスタムハンドラー値を使用している場合は(詳細は前述を参照)、 Instana のLambdaレイヤーに通知するために、環境 LAMBDA_HANDLER 変数にハンドラーを指定してください。 たとえば、ハンドラーが の場合 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 のインストール先でも、これらの環境変数の正しい値を確認できます。 Go 「データソース 」> 「エージェントのインストール 」>「 AWS Lambda 」へ。
ステップ 4. AWS のコマンドラインインターフェース(CLI)の使用方法
また、以下の AWS 管理ツールのいずれかを使用して、Lambda関数のトレース機能を有効にすることもできます:
- AWS のコマンドラインインターフェース(CLI)
- AWS クラウド開発キット(CDK)
以下の例は、 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 のLambda関数のトレースを有効にするには、以下の手順を実行してください:
- 関数プロジェクトに、 Instana の Python Tracer パッケージを依存関係として追加します。 [1]
- 「Lambdaハンドラーの設定」 のセクションに記載されている手順
instana.lambda_handlerに従って、Lambdaハンドラーを設定してください。 - Lambda関数に対して、以下の環境変数を設定してください:
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:99 |
ap-east-1 |
arn:aws:lambda:ap-east-1:410797082306:layer:instana-python:99 |
ap-northeast-1 |
arn:aws:lambda:ap-northeast-1:410797082306:layer:instana-python:99 |
ap-northeast-2 |
arn:aws:lambda:ap-northeast-2:410797082306:layer:instana-python:99 |
ap-northeast-3 |
arn:aws:lambda:ap-northeast-3:410797082306:layer:instana-python:99 |
ap-south-1 |
arn:aws:lambda:ap-south-1:410797082306:layer:instana-python:99 |
ap-south-2 |
arn:aws:lambda:ap-south-2:410797082306:layer:instana-python:99 |
ap-southeast-1 |
arn:aws:lambda:ap-southeast-1:410797082306:layer:instana-python:99 |
ap-southeast-2 |
arn:aws:lambda:ap-southeast-2:410797082306:layer:instana-python:99 |
ap-southeast-3 |
arn:aws:lambda:ap-southeast-3:410797082306:layer:instana-python:99 |
ap-southeast-4 |
arn:aws:lambda:ap-southeast-4:410797082306:layer:instana-python:99 |
ap-southeast-5 |
arn:aws:lambda:ap-southeast-5:410797082306:layer:instana-python:99 |
ap-southeast-7 |
arn:aws:lambda:ap-southeast-7:410797082306:layer:instana-python:99 |
ca-central-1 |
arn:aws:lambda:ca-central-1:410797082306:layer:instana-python:99 |
ca-west-1 |
arn:aws:lambda:ca-west-1:410797082306:layer:instana-python:99 |
cn-north-1 |
arn:aws-cn:lambda:cn-north-1:107998019096:layer:instana-python:99 |
cn-northwest-1 |
arn:aws-cn:lambda:cn-northwest-1:107998019096:layer:instana-python:99 |
eu-central-1 |
arn:aws:lambda:eu-central-1:410797082306:layer:instana-python:99 |
eu-central-2 |
arn:aws:lambda:eu-central-2:410797082306:layer:instana-python:99 |
eu-north-1 |
arn:aws:lambda:eu-north-1:410797082306:layer:instana-python:99 |
eu-south-1 |
arn:aws:lambda:eu-south-1:410797082306:layer:instana-python:99 |
eu-south-2 |
arn:aws:lambda:eu-south-2:410797082306:layer:instana-python:99 |
eu-west-1 |
arn:aws:lambda:eu-west-1:410797082306:layer:instana-python:99 |
eu-west-2 |
arn:aws:lambda:eu-west-2:410797082306:layer:instana-python:99 |
eu-west-3 |
arn:aws:lambda:eu-west-3:410797082306:layer:instana-python:99 |
il-central-1 |
arn:aws:lambda:il-central-1:410797082306:layer:instana-python:99 |
me-central-1 |
arn:aws:lambda:me-central-1:410797082306:layer:instana-python:99 |
me-south-1 |
arn:aws:lambda:me-south-1:410797082306:layer:instana-python:null |
sa-east-1 |
arn:aws:lambda:sa-east-1:410797082306:layer:instana-python:99 |
us-east-1 |
arn:aws:lambda:us-east-1:410797082306:layer:instana-python:99 |
us-east-2 |
arn:aws:lambda:us-east-2:410797082306:layer:instana-python:99 |
us-west-1 |
arn:aws:lambda:us-west-1:410797082306:layer:instana-python:99 |
us-west-2 |
arn:aws:lambda:us-west-2:410797082306:layer:instana-python:99 |
中国語地域のパターンは 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形式のデプロイメントパッケージを作成してください。↩︎