【问题标题】:Existing .NET Core Web API deployment to AWS现有 .NET Core Web API 部署到 AWS
【发布时间】:2022-01-25 08:00:03
【问题描述】:

我们有一个现有的带有 .net 核心的 Angular Web 应用程序,我们刚刚在本地完成了开发。在我们尝试在 AWS 上继续部署 Web 应用程序的所有常规流程之后,我们遇到了问题,尤其是 .net core api。

我们查看了与 .NET Core 5 API 部署相关的现有资源,但它们并没有那么有用,因为它们主要是指 AWS Lambda 项目的部署。我们需要的是使用 CQRS 架构部署已经存在的 .NET Core Web API(我认为架构在这里并不重要)。

还建议我们使用 AWS Toolkit for Visual Studio,但不幸的是,它不适用于 mac,因此该过程到目前为止没有帮助。我们在今年年底前到达项目分配截止日期,想知道是否有任何简化的方法可以在 aws 上进行 .net 核心 API 部署?

非常感谢任何帮助!

【问题讨论】:

标签: angular amazon-web-services .net-core asp.net-core-webapi .net-5


【解决方案1】:

我假设您的 WebApp 与您的 WebAPI 是分开的。如果这是真的,并且如果您不进行服务器端渲染,我建议您在 S3 中使用您的 WebApp 并为您的 S3 存储桶创建 CloudFront 分配。

以下是您的 WebAPI 的一些可用选项:

  1. Elastic Beanstalk 应该是最简单的选择。

  2. AWS ECS:创建一个 docker 镜像并将其推送到 ECR。在 ECS 中创建任务定义并使用 AWS Fargate,它是 AWS 在运行容器时提供的无服务器产品。我建议在您的容器前面放置一个 ALB,以便您可以更轻松地进行扩展。您可以使用 ALB 端点访问您的容器。

  3. AWS Lambda:我在how to run existing .NET Core WebAPIs inside AWS Lambda 上写了一篇文章。总而言之,此解决方案使用 API Gateway,它将您的所有请求代理到 AWS Lambda。

我必须说,需要一些 AWS 的背景知识。如果您之前从未使用过 AWS,我建议您从 AWS IAM 开始,因为默认情况下所有资源都无权访问任何内容。

【讨论】:

    猜你喜欢
    • 2018-03-26
    • 2019-05-23
    • 2021-03-22
    • 2021-12-23
    • 2019-11-05
    • 1970-01-01
    • 2019-12-17
    • 2017-02-13
    • 2021-11-03
    相关资源
    最近更新 更多