.NETまたは.NET Coreベースの AWS ラムダ関数にネイティブトレースを設定する
.NETまたは.NET Coreで記述された AWS ラムダ関数に対して、Instana AutoTrace を設定できます。
詳しくは、 Instana AutoTrace をご覧ください。
.NET ベースの AWS Lambda 関数にネイティブトレースを設定するには、Instana Lambda レイヤーを Lambda 関数に追加する必要があります。 トレースを有効にすると、Instana UIでLambda関数のトレースデータを確認できます。
サポートされるランタイム
Instana は、.NET 6 以降で動作するアプリケーションのモニタリングをサポートしています。
前提条件
AWS Lambda ランタイム内部から Instana が収集できないバージョンとランタイムメトリクスを収集するために、 Lambda 監視用の AWS エージェントを設定します。
AWS ラムダ関数をトレース用に設定する
環境に応じて、以下の設定オプションのいずれかを使用して、.NET または.NET Core ベースの AWS Lambda 関数のトレースを有効にできます:
Instana Lambda レイヤーを使用する: AWS ウェブコンソールまたは次の AWS 管理ツールのいずれかを使用して、Lambda 関数のトレースを有効にできます:
instana/aws-lambdaパッケージを手動でインストールする : FedRAMP-compliant 環境では、Instana Lambda パッケージを手動でインストールする必要があります。
AWS ウェブコンソールからトレースを有効にする
.NET または.NET Core Lambda 関数のトレースを有効にするには、 AWS Lambda UI で以下の手順を実行します:
次の手順で示すように、Instana Lambdaレイヤーを関数に追加します:
ラムダ関数の Configuration タブで、 Layers > Add a layerをクリックします。

Add layer "ウィンドウで、" Specify an ARN " を選択する。
指定する ARN フィールドに、リージョンに一致する Instana Lambda レイヤーの Amazon Resource Name (ARN) をコピーして貼り付けます。 Instana Lambda レイヤーの正しい ARN は、 Instana Lambda レイヤーのセクションで見つけることができます。 その後、 Verifyをクリックする。
追加 をクリックします。
以下の環境変数を設定して、Instana バックエンドに接続します:
環境変数 値 CORECLR_ENABLE_PROFILING1CORECLR_PROFILER{cf0d821e-299b-5307-a3d8-b283c03916dd}CORECLR_PROFILER_PATH/opt/instana_tracing/CoreProfiler.coDOTNET_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>https://serverless-で始まる、お住まいの地域の正しい Instana エンドポイント URL を使用していることを確認してください。 詳細については、 サーバーレス監視のためのエンドポイントを参照。注: デフォルトのハンドラーがAssembly::Namespace.ClassName::MethodName書式を使用しない場合は、デフォルトのハンドラをLAMBDA_HANDLERの書式を使用してください。 そうでない場合は、変数を設定しないか、空のままにしておく。 トレースとインフラストラクチャ エンティティ間の接続を示す相関データが、Instana UI で欠落している場合は、次のように使用します。LAMBDA_HANDLERを使用して正しい形式を設定します。これらの環境変数の正しい値は、Instana UI から取得することもできます。 これらの環境変数の正しい値を取得するには、Instana UI で [詳細 ] > [エージェント] > [エージェントのインストール] > [プラットフォーム: AWS > [テクノロジー: AWS Lambda] をクリックします。
AWS コマンドラインインターフェイスでトレースを有効にする
AWS Lambdas の 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 レイヤー
AWS Lambda layers for.NETの最新バージョンの地域別ARNは以下の通り:
| リージョン | ARN |
|---|---|
af-south-1 |
arn:aws:lambda:af-south-1:410797082306:layer:instana-dotnetcore:28 |
ap-east-1 |
arn:aws:lambda:ap-east-1:410797082306:layer:instana-dotnetcore:28 |
ap-northeast-1 |
arn:aws:lambda:ap-northeast-1:410797082306:layer:instana-dotnetcore:28 |
ap-northeast-2 |
arn:aws:lambda:ap-northeast-2:410797082306:layer:instana-dotnetcore:28 |
ap-northeast-3 |
arn:aws:lambda:ap-northeast-3:410797082306:layer:instana-dotnetcore:28 |
ap-south-1 |
arn:aws:lambda:ap-south-1:410797082306:layer:instana-dotnetcore:28 |
ap-south-2 |
arn:aws:lambda:ap-south-2:410797082306:layer:instana-dotnetcore:28 |
ap-southeast-1 |
arn:aws:lambda:ap-southeast-1:410797082306:layer:instana-dotnetcore:28 |
ap-southeast-2 |
arn:aws:lambda:ap-southeast-2:410797082306:layer:instana-dotnetcore:28 |
ap-southeast-3 |
arn:aws:lambda:ap-southeast-3:410797082306:layer:instana-dotnetcore:28 |
ap-southeast-4 |
arn:aws:lambda:ap-southeast-4:410797082306:layer:instana-dotnetcore:28 |
ca-central-1 |
arn:aws:lambda:ca-central-1:410797082306:layer:instana-dotnetcore:28 |
cn-north-1 |
arn:aws-cn:lambda:cn-north-1:107998019096:layer:instana-dotnetcore:26 |
cn-northwest-1 |
arn:aws-cn:lambda:cn-northwest-1:107998019096:layer:instana-dotnetcore:26 |
eu-central-1 |
arn:aws:lambda:eu-central-1:410797082306:layer:instana-dotnetcore:27 |
eu-central-2 |
arn:aws:lambda:eu-central-2:410797082306:layer:instana-dotnetcore:28 |
eu-north-1 |
arn:aws:lambda:eu-north-1:410797082306:layer:instana-dotnetcore:28 |
eu-south-1 |
arn:aws:lambda:eu-south-1:410797082306:layer:instana-dotnetcore:28 |
eu-south-2 |
arn:aws:lambda:Eu-south-2:410797082306:layer:instana-dotnetcore:28 |
eu-west-1 |
arn:aws:lambda:eu-west-1:410797082306:layer:instana-dotnetcore:27 |
eu-west-2 |
arn:aws:lambda:eu-west-2:410797082306:layer:instana-dotnetcore:28 |
eu-west-3 |
arn:aws:lambda:eu-west-3:410797082306:layer:instana-dotnetcore:27 |
il-central-1 |
arn:aws:lambda:il-central-1:410797082306:layer:instana-dotnetcore:28 |
me-central-1 |
arn:aws:lambda:me-central-1:410797082306:layer:instana-dotnetcore:28 |
me-south-1 |
arn:aws:lambda:me-south-1:410797082306:layer:instana-dotnetcore:28 |
sa-east-1 |
arn:aws:lambda:sa-east-1:410797082306:layer:instana-dotnetcore:27 |
us-east-1 |
arn:aws:lambda:us-east-1:410797082306:layer:instana-dotnetcore:28 |
us-east-2 |
arn:aws:lambda:us-east-2:410797082306:layer:instana-dotnetcore:28 |
us-west-1 |
arn:aws:lambda:us-west-1:410797082306:layer:instana-dotnetcore:27 |
us-west-2 |
arn:aws:lambda:us-west-2:410797082306:layer:instana-dotnetcore:27 |
例えば、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 ラムダ関数の実行中に、以下のエラーがログに表示されることがあります。 このエラーは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.CoreNuGet パッケージをプロジェクトに追加する。
- ラムダが Alpine Linux にデプロイされている場合は、プロジェクトに Instana.Tracing.Core.Rewriter.AlpineNuGet パッケージを追加してください。 そうでない場合は Instana.Tracing.Core.Rewriter.LinuxNuGet パッケージをプロジェクトに追加する。
AWS Lambda UIで、Instanaバックエンドに接続するために以下の環境変数を設定します:
環境変数 値 CORECLR_ENABLE_PROFILING1CORECLR_PROFILER{cf0d821e-299b-5307-a3d8-b283c03916dd}CORECLR_PROFILER_PATH<path to /instana_tracing/CoreProfiler.co 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>https://serverless-で始まる、お住まいの地域の正しい Instana エンドポイント URL を使用していることを確認してください。 詳細については、 サーバーレス監視のためのエンドポイントを参照。注: デフォルトのハンドラーがAssembly::Namespace.ClassName::MethodName書式を使用しない場合は、デフォルトのハンドラをLAMBDA_HANDLERの書式を使用してください。 そうでない場合は、変数を設定しないか、空のままにしておく。 トレースとインフラストラクチャ エンティティ間の接続を示す相関データが、Instana UI で欠落している場合は、次のように使用します。LAMBDA_HANDLERを使用して正しい形式を設定します。これらの環境変数の正しい値は、Instana UI から取得することもできます。 これらの環境変数の正しい値を取得するには、Instana UI で [詳細 ] > [エージェント] > [エージェントのインストール] > [プラットフォーム: AWS > [テクノロジー: AWS Lambda] をクリックします。