Reputation: 1
We have an existing angular web app with .net core that we've just completed development on locally. After all the usual processes when we tried to go ahead with the web app deployment on AWS we're having issues with it, in particular with .net core api.
We looked at existing resources related to .NET Core 5 API deployment but they are not that useful since they are mostly referencing to the Deployment of an AWS Lambda project. What we need is to deploy the already existing .NET Core Web API with a CQRS architecture (I don’t think that architecture matters here).
We were also suggested to use AWS Toolkit for Visual Studio but unfortunately, it's not available for mac so the process isn't helping so far. We're on project assignment deadline by the end of the year and were wondering if there's any streamlined way to do the .net core API deployment on aws?
Any help is greatly appreciated!
Upvotes: 0
Views: 1048
Reputation: 21
I assume your WebApp is separate from you WebAPI. If this is true and if you don't do server side rendering I would sugest to have your WebApp in S3 and create a CloudFront distribution for your S3 bucket.
Here are some available options for your WebAPI:
Elastic Beanstalk should be the easiest option.
AWS ECS: Create a docker image and push it to ECR. Create a task definition in ECS and use AWS Fargate which is the serverless offering from AWS when it comes to running containers. I would recommend to have in front of your containers an ALB so you can scale out more easily. You can access your container using the ALB endpoint.
AWS Lambda: I wrote an article on how to run existing .NET Core WebAPIs inside AWS Lambda. As a summary this solution uses API Gateway which will proxy all your requests to AWS Lambda.
I must say that a bit of background with AWS is needed. If you have never worked with AWS before I suggest starting with AWS IAM as all resources doesn't have access to anything by default.
Upvotes: 1