.NET または.NET Core をベースとする AWS Lambda 関数に対するネイティブトレースの設定
.NET または.NET Core で記述された AWS Lambda 関数に対して、 Instana ( AutoTrace )を設定できます。
詳細については、 Instana および AutoTrace をご覧ください。
.NET ベースの AWS Lambda 関数でネイティブトレースを設定するには、Lambda関数に Instana のLambdaレイヤーを追加する必要があります。 トレースを有効にすると、 Instana のUIでLambda関数のトレースデータを表示できるようになります。
サポートされるランタイム
Instana .NET 8以降で動作する監視アプリケーションに対応しています。
前提条件
Lambdaの監視用に AWS エージェントを設定し、 Instana が AWS Lambda ランタイム内部からは収集できないバージョン情報やランタイムメトリクスを収集できるようにします。
AWS Lambda のトレース機能の設定
環境に応じて、以下の設定オプションのいずれかを使用して、.NET または.NET Core をベースとする AWS Lambda 関数のトレースを有効にできます
Instana のLambdaレイヤーの使用: AWS のWebコンソール、または以下のいずれかの AWS 管理ツールを使用して、Lambda関数のトレース機能を有効にできます:
パッケージ
instana/aws-lambdaの手動インストール : FedRAMP-compliant 環境では、 Instana Lambdaパッケージを手動でインストールする必要があります。
AWS Webコンソールでのトレース機能を有効にする
.NET または.NET Core のLambda関数のトレースを有効にするには、 AWS Lambda のUIで以下の手順を実行してください:
以下の手順に従って、 Instana のLambdaレイヤーを関数に追加してください:
Lambda 関数の 「構成」 タブで、 「層」 > 「層の追加」をクリックします。

「層の追加」ウィンドウで、 「ARN の指定」を選択します。
「ARNの指定 」フィールドに、お使いのリージョンに対応する Instana LambdaレイヤーのAmazonリソース名(ARN)をコピーして貼り付けてください。 Instana のLambdaレイヤーに対応するARNは、 「 Instana のLambdaレイヤー 」セクションで確認できます。 次に、 「検証」をクリックします。
追加 をクリックします。
Instana バックエンドに接続するには、以下の環境変数を設定してください:
環境変数 値 CORECLR_ENABLE_PROFILING1CORECLR_PROFILER{cf0d821e-299b-5307-a3d8-b283c03916dd}CORECLR_PROFILER_PATH/opt/instana_tracing/CoreProfiler.soDOTNET_STARTUP_HOOKS/opt/Instana.Tracing.Core.dllINSTANA_AGENT_KEY<your_instana_agent_key>INSTANA_ENDPOINT_URL<serverless_instana_endpoint>INSTANA_AWS_ACCOUNT_ID<your_aws_account_id>LAMBDA_HANDLER<Assembly::Namespace.ClassName::MethodName>お使いのリージョンに対応した、. で始まる正しい Instana エンドポイント( URL
https://serverless-)を使用していることを確認してください。 詳細については、 「サーバーレス監視のエンドポイント」 を参照してください。注: デフォルトのハンドラーが 形式Assembly::Namespace.ClassName::MethodNameを使用していない場合は、デフォルトのハンドラーを 形式LAMBDA_HANDLERで設定してください。 それ以外の場合は、変数を設定したり、変数を空のままにしたりしないでください。 トレースとインフラストラクチャ・エンティティの関連性を示す相関データが Instana のUIに表示されない場合は、 を使用してLAMBDA_HANDLER正しい形式を設定してください。これらの環境変数の正しい値は、 Instana のUIからも確認できます。 これらの環境変数の正しい値を取得するには、 Instana のUIで、 [More] > [Agents] > [Install Agents ] > [Platform: AWS ] > [Technology: AWS Lambda ] の順にクリックしてください。
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 \
--environment "Variables={CORECLR_ENABLE_PROFILING=1, CORECLR_PROFILER=\"{cf0d821e-299b-5307-a3d8-b283c03916dd}\", CORECLR_PROFILER_PATH=/opt/instana_tracing/CoreProfiler.so, DOTNET_STARTUP_HOOKS=/opt/Instana.Tracing.Core.dll, INSTANA_ENDPOINT_URL=... , INSTANA_AGENT_KEY=... , ...}"
Instana Lambda レイヤー
.NET 向け AWS Lambda レイヤーの最新バージョンのARNは、リージョンごとに以下の通りです:
| リージョン | ARN |
|---|---|
af-south-1 |
arn:aws:lambda:af-south-1:410797082306:layer:instana-dotnetcore:41 |
ap-east-1 |
arn:aws:lambda:ap-east-1:410797082306:layer:instana-dotnetcore:41 |
ap-northeast-1 |
arn:aws:lambda:ap-northeast-1:410797082306:layer:instana-dotnetcore:41 |
ap-northeast-2 |
arn:aws:lambda:ap-northeast-2:410797082306:layer:instana-dotnetcore:41 |
ap-northeast-3 |
arn:aws:lambda:ap-northeast-3:410797082306:layer:instana-dotnetcore:41 |
ap-south-1 |
arn:aws:lambda:ap-south-1:410797082306:layer:instana-dotnetcore:41 |
ap-south-2 |
arn:aws:lambda:ap-south-2:410797082306:layer:instana-dotnetcore:41 |
ap-southeast-1 |
arn:aws:lambda:ap-southeast-1:410797082306:layer:instana-dotnetcore:41 |
ap-southeast-2 |
arn:aws:lambda:ap-southeast-2:410797082306:layer:instana-dotnetcore:41 |
ap-southeast-3 |
arn:aws:lambda:ap-southeast-3:410797082306:layer:instana-dotnetcore:41 |
ap-southeast-4 |
arn:aws:lambda:ap-southeast-4:410797082306:layer:instana-dotnetcore:41 |
ca-central-1 |
arn:aws:lambda:ca-central-1:410797082306:layer:instana-dotnetcore:41 |
cn-north-1 |
arn:aws-cn:lambda:cn-north-1:107998019096:layer:instana-dotnetcore:37 |
cn-northwest-1 |
arn:aws-cn:lambda:cn-northwest-1:107998019096:layer:instana-dotnetcore:38 |
eu-central-1 |
arn:aws:lambda:eu-central-1:410797082306:layer:instana-dotnetcore:40 |
eu-central-2 |
arn:aws:lambda:eu-central-2:410797082306:layer:instana-dotnetcore:41 |
eu-north-1 |
arn:aws:lambda:eu-north-1:410797082306:layer:instana-dotnetcore:41 |
eu-south-1 |
arn:aws:lambda:eu-south-1:410797082306:layer:instana-dotnetcore:41 |
eu-south-2 |
arn:aws:lambda:eu-south-2:410797082306:layer:instana-dotnetcore:41 |
eu-west-1 |
arn:aws:lambda:eu-west-1:410797082306:layer:instana-dotnetcore:40 |
eu-west-2 |
arn:aws:lambda:eu-west-2:410797082306:layer:instana-dotnetcore:41 |
eu-west-3 |
arn:aws:lambda:eu-west-3:410797082306:layer:instana-dotnetcore:40 |
il-central-1 |
arn:aws:lambda:il-central-1:410797082306:layer:instana-dotnetcore:41 |
me-central-1 |
arn:aws:lambda:me-central-1:410797082306:layer:instana-dotnetcore:40 |
me-south-1 |
arn:aws:lambda:me-south-1:410797082306:layer:instana-dotnetcore:null |
sa-east-1 |
arn:aws:lambda:sa-east-1:410797082306:layer:instana-dotnetcore:40 |
us-east-1 |
arn:aws:lambda:us-east-1:410797082306:layer:instana-dotnetcore:41 |
us-east-2 |
arn:aws:lambda:us-east-2:410797082306:layer:instana-dotnetcore:41 |
us-west-1 |
arn:aws:lambda:us-west-1:410797082306:layer:instana-dotnetcore:40 |
us-west-2 |
arn:aws:lambda:us-west-2:410797082306:layer:instana-dotnetcore:40 |
例えば、ARN パターンは arn:aws:lambda:${region}:410797082306:layer:instana-dotnetcore:${layer-version}です。 中国の AWS 地域の場合、ARN パターンは arn:aws-cn:lambda:${region}:107998019096:layer:instana-dotnetcore:${layer-version}です。
既知の問題
AWS Lambda 関数の実行中に、ログに以下のエラーが表示されることがあります。 このエラーは Instana の内部エラーであり、Lambda関数が動作を停止した、あるいはエラーが発生したことを意味するものではありません。 Instana のUI上でトレースが見つかる場合は、このメッセージを無視して構いません。
Error sending traces. Exception: System.Threading.Tasks.TaskCanceledException, Message:The request was canceled due to the configured HttpClient.Timeout of 2 seconds elapsing. (calling https://serverless.instana.io/bundle), Original exception: A task was canceled., CallStack: at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
パッケージを手動 instana/aws-lambda でインストールする
Instana のLambdaレイヤーを使用する代わりに、 FedRAMP-complaint@instana/aws-lambda 環境では手動でインストールする必要があります。
.NET または .NET Core の Lambda 関数のトレースを有効にするには、以下の手順を実行してください:
Visual Studio の関数プロジェクトに、 Instana と NuGet のパッケージを追加します:
- プロジェクトに「 Instana.Tracing.Core 」パッケージ( NuGet )を追加してください。
- Lambdaを Alpine Linux にデプロイする場合は、プロジェクトに Instana.Tracing.Core.Rewriter.AlpineNuGet パッケージを追加してください。 それ以外の場合は、プロジェクトに ` Instana.Tracing.Core.Rewriter.Linux ` および ` NuGet ` パッケージを追加してください。
AWS Lambda のUIで、 Instana バックエンドに接続するために、以下の環境変数を設定します:
環境変数 値 CORECLR_ENABLE_PROFILING1CORECLR_PROFILER{cf0d821e-299b-5307-a3d8-b283c03916dd}CORECLR_PROFILER_PATH<path to /instana_tracing/CoreProfiler.so file accessible from Lambda>DOTNET_STARTUP_HOOKS<path to /Instana.Tracing.Core.dll file accessible from Lambda>INSTANA_AGENT_KEY<your_instana_agent_key>INSTANA_ENDPOINT_URL<serverless_instana_endpoint>INSTANA_AWS_ACCOUNT_ID<your_aws_account_id>LAMBDA_HANDLER<Assembly::Namespace.ClassName::MethodName>お使いのリージョンに対応した、. で始まる正しい Instana エンドポイント( URL
https://serverless-)を使用していることを確認してください。 詳細については、 「サーバーレス監視のエンドポイント」 を参照してください。注: デフォルトのハンドラーが 形式Assembly::Namespace.ClassName::MethodNameを使用していない場合は、デフォルトのハンドラーを 形式LAMBDA_HANDLERで設定してください。 それ以外の場合は、変数を設定したり、変数を空のままにしたりしないでください。 トレースとインフラストラクチャ・エンティティの関連性を示す相関データが Instana のUIに表示されない場合は、 を使用してLAMBDA_HANDLER正しい形式を設定してください。これらの環境変数の正しい値は、 Instana のUIからも確認できます。 これらの環境変数の正しい値を取得するには、 Instana のUIで、 [More] > [Agents] > [Install Agents ] > [Platform: AWS ] > [Technology: AWS Lambda ] の順にクリックしてください。