--- title: ".NET APM with AWS Fargate" slug: "net-core-apm-with-aws-fargate" updated: 2020-07-13T18:55:43Z published: 2020-07-13T18:55:43Z canonical: "docs.stackify.com/net-core-apm-with-aws-fargate" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.stackify.com/llms.txt > Use this file to discover all available pages before exploring further. # .NET APM with AWS Fargate This document details how to install the **.NET Core APM Profiler** in your **.NET Core** application running on **AWS Fargate**. **Stackify** supports **AWS Fargate** by adding our **Retrace Container** to your **AWS Fargate** tasks. ![aws-fargage-diagram](https://cdn.document360.io/3fcaf473-a1ef-4778-aa2c-fd28411c2b01/Images/Documentation/aws-fargage-diagram.png) The configuration is in two parts; adjusting your **Dockerfile** config to include the appropriate Stackify profiler and then adjusting task/container definition configuration in **AWS Fargate**. The configuration details are provided below in JSON samples. ## .NET Core Application Setup #### Dockerfile Configuration Adjust your **Dockerfile** to include the .Net Core Profiler: ``` RUN mkdir -m 0755 -p /stackify-dotnet-apm && \ cd /stackify-dotnet-apm && \ wget http://download.stackify.com/stackify-dotnet-apm/stackify-dotnet-apm-install-linux-latest.tar.gz && \ tar -zxvf stackify-dotnet-apm-install-linux-latest.tar.gz && \ cd stackify-dotnet-apm-install-linux && \ ./install.sh --docker && \ cd .. && \ rm -rf stackify-dotnet-apm-install-linux && \ rm stackify-dotnet-apm-install-linux-latest.tar.gz ENV CORECLR_PROFILER={cf0d821e-299b-5307-a3d8-b283c03916da} ENV CORECLR_ENABLE_PROFILING=1 ENV CORECLR_PROFILER_PATH="/stackify-dotnet-apm/StackifyProfiler.so" ``` #### Configure Application Create a file named Stackify.json and copy it to your container in the same folder as your application. ``` { "AppName": "MyApp", "Environment": "Production" } ``` **Environment** is optional, **STACKIFY_ENV** value will be used if not present. ## Task Configuration 1. Add the **stackify** volume to the **task definition**: ``` { "volumes": [ { "name": "stackify" } ] } ``` 1. Add the **stackify-retrace** container to the **task definition**: ``` { "containerDefinitions": [ { "name": "stackify-retrace", "image": "stackify/retrace:latest", "memoryReservation": "512", "essential": true, "environment": [ { "name": "STACKIFY_KEY", "value": "[YOUR_ACTIVATION_KEY]" }, { "name": "STACKIFY_ENV", "value": "[YOUR_ENVIRONMENT_NAME]" }, { "name": "STACKIFY_DEVICE_ALIAS", "value": "AWS Fargate" } ], "mountPoints": [ { "sourceVolume": "stackify", "containerPath": "/var/stackify" } ] } ] } ``` **Note:** Replace `[YOUR_ACTIVATION_KEY]` and `[YOUR_ENVIRONMENT_NAME]`. Use Image `stackify/retrace-arm64` if running on an ARM processor. 1. Add **stackify mount points** to your application **container definition**: ``` { "containerDefinitions": [ { "mountPoints": [ { "sourceVolume": "stackify", "containerPath": "/usr/local/stackify" } ] } ] } ``` ## Verify Start up your **.NET Core** application task and make requests. You can then verify results in the Retrace dashboard. Server Metrics Notice Server metrics are not provided with AWS Fargate. A server named **AWS Fargate** will be created but will not contain metrics.