AWS Developer Tools Blog

Deploy to ARM-Based Compute with AWS Deploy Tool for .NET

We’re excited to announce that the AWS Deploy Tool for .NET now supports deploying .NET applications to select ARM-based compute platforms on AWS! Whether you’re deploying from Visual Studio or using the .NET CLI, you can now target cost-effective ARM infrastructure like AWS Graviton with the same streamlined experience you’re used to.

Why deploy to ARM?

ARM-based instances, such as AWS Graviton, deliver great price-performance and are energy efficient, making them a smart choice for many .NET workloads. With this update, you can take full advantage of ARM across supported services without changing how you deploy your applications.

If you’re already using the AWS Deploy Tool for .NET, deploying to ARM is as simple as selecting an ARM-based compute option like AWS Elastic Beanstalk or Amazon Elastic Container Service (ECS) using AWS Fargate.

Getting started in Visual Studio

To get started in Visual Studio, install the latest version of the AWS Toolkit for Visual Studio from the Visual Studio Marketplace, where it is also known as AWS Toolkit with Amazon Q. Once you install the toolkit and configure your AWS credentials, right click in Solution Explorer on the project to deploy by selecting the Publish to AWS… menu item.

Publish to AWS... Menu Item in Visual Studio

From there, select one of the following Publish Targets, which have now been updated to support ARM-based architecture:

  • ASP.NET Core App to AWS Elastic Beanstalk on Linux
  • ASP.NET Core App to Amazon ECS using AWS Fargate
  • Scheduled Task on Amazon Elastic Container Service (ECS) using AWS Fargate
  • Service on Amazon Elastic Container Service (ECS) using AWS Fargate

Publish Target In VS Toolkit. The selected target is: ASP.NET Core App to AWS Elastic Beanstalk on Linux

On the right side, under Target Configuration, select Edit settings. On the settings screen, select Project Build in the left pane and then switch the Environment Architecture to Arm64.

Environment Architecture setting under Project Build section In VS Toolkit. The Arm64 option is highlighted.

Finally, click Publish to start your ARM-based application deployment.

Getting started from the .NET CLI

To get started from the .NET CLI, you just need to run the following command to install the tooling from NuGet:

dotnet tool install --global Aws.Deploy.Tools
Bash

Once the tooling is installed, run the following command to start the deployment experience:

dotnet aws deploy
Bash

The CLI guides you to select Deployment Option. Select an option that supports deploying to an ARM-based architecture and then update the Environment Architecture setting to Arm64.

Deployment Settings In CLI. The Environment Architecture setting is highlighted and set to Arm64.

When you’re done updating your deployment settings, press Enter to start the deployment.

Conclusion

With support for ARM-based compute options now available in the AWS Deploy Tool for .NET, it’s easier than ever to deploy .NET applications to Graviton-backed infrastructure. You can benefit from improved price-performance with minimal changes to your existing workflow.

Next steps:

About the author:

Hayden Baker

Philippe El Asmar

Philippe is a software development engineer on the .NET SDK team at AWS.
He is working on projects and tools that aim to improve .NET developer’s experience on AWS.
You can find him on GitHub @philasmar.