asp.net - AWS 上的 ASP.NET Core 前端和 REST 与 Fargate 和 API Gateway
问题描述
大家好,
设想:
- 我正在构建一个基于 ASP.NET Core 零框架的 Web 应用程序。此 Web 应用程序将利用前端组件(例如登录页面、报告等)以及公开的 RESTFUL 服务。此应用程序需要托管在 AWS 中。
要求:
- ASP.NET 核心应用程序。
- MVC 作为前端
- Restful API 作为后端
- 授权与 API (AWS Cognito) 分离
问题:
- 我不确定是否应该对所有事情都使用 AWS Fargate 或 AWS Lambda。
- 如果我使用 AWS Fargate,我将如何使用 AWS API Gateway 向我的 API 添加授权。Fargate 任务在 VPC 中运行,API 网关无法访问它们。
问题:
- 什么是最好的解决方案,Fargate 或 Lambda 或完全不同的东西。
亲切的问候西蒙伊拉斯谟
解决方案
AWS 容器服务团队成员在这里。这是一个非常开放的问题,其答案很可能基于意见和偏好。这些问题通常不适合 Stackoverflow。一般来说,我们看到 Fargate 被用于实现与标准计算资源(例如 EC2 或容器)相关的非常传统的服务模型的部署,您可以在其中启动一个进程并且该进程长期存在以接受连接。当您可以重构代码以使用特定的编程模型(函数)时,使用 Lambda。许多客户对“Lambda 支持容器”这一事实感到困惑,但这仅限于包装格式(相对于 Lambda 传统包装,即 zip)。换句话说,Lambda 支持容器并不意味着你可以在 Lambda 上运行任何容器镜像。了解更多背景信息。
有趣的是,我们更常看到 API GW 与 Lambda 一起使用,而 ALB/NLB 与 Fargate 一起使用,但实际上也可以将 API GW 与 Fargate 一起使用(参见此处的示例)。
推荐阅读
- node.js - 如何从订阅表中获取最新的一条记录以及来自用户表中的所有记录,并在 sequelize 和 PostgreSQL 中使用左连接
- iframe - 在 MS Teams 会议阶段应用程序中使用 MediaRecorder
- python - 有没有办法使用 python 在 Twitter 上自动发布视频?
- python - 尝试使用 PyQt 创建 QScrollArea 时不出现滚动条
- android - 找不到 Andriod studio 设备管理器
- javascript - 跟踪数组 JS 中的变化
- python - Python:合并数据框的列
- python - 如何将列表中的列表中的元组转换为列表?
- kubernetes - Helm 将图表标签多行字符串转换为逗号分隔的字符串
- opticalflow - 计算的光流是否真实