Multi Environment deployment for AWS Serverless Application with .Net Core


Hi, I have created a ASP.NET Core Web API project using below option from Visual Studio. Actually I needed to install AWS Toolkit for Visual Studio to use this template.


I have deployed this ASP.NET Core Web API to AWS Lambda using the option of right clicking the project and using the option Lambda_Deploy

When I try to deploy below popup appears but it doesn't give options to deploy in multiple environments. cloud_formation

Now I want same Web API to deploy for different environment like test environment so how can I deploy the same.

1 Answer
Accepted Answer

So for starters, you don't need to use the AWS Toolkit to create or deploy the AWS Serverless Application for .NET. You can also do this from the command line. To get the project templates for the command line, install the Amazon.Lambda.Templates tool using:
dotnet new -i Amazon.Lambda.Templates

After that, you can create a new serverless ASP.NET Core Web API with: dotnet new serverless.AspNetCoreWebAPI or dotnet new serverless.AspNetCoreMinimalAPI

You can deploy these serverless applications to Lambda the Amazon.Lambda.Tools global tool. You can install that tool using this command: dotnet tool install -g Amazon.Lambda.Tools

After that, you can deploy your serverless application to Lambda using: dotnet lambda deploy-serverless

To answer your other question, about environments: the AWS Toolkit is meant for deploying to test or dev environments, and not for production deployments. If you want to deploy to a different AWS account, choose a different profile. In your screenshot, you are using your "default" profile. You can create multiple profiles that have credentials for multiple AWS accounts, or even for the same account but associated with different IAM users. To deploy to another account, just re-deploy the Lambda, selecting a profile that is associated with another AWS account.

See the AWS docs for the .NET Core CLI for more details.

profile pictureAWS
answered a year ago
profile picture
reviewed 18 days ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions