Amazon web services 在AWS中何时通过API网关使用应用程序负载平衡器?

Amazon web services 在AWS中何时通过API网关使用应用程序负载平衡器?,amazon-web-services,aws-api-gateway,Amazon Web Services,Aws Api Gateway,假设您的Api/服务需要一个入口点,ALB和Api网关都可以。但是Api网关在路由流量之外有更多的功能 为了路由流量,为什么要使用ALB over API网关? 是否有一个明确的用例,其中ALB更可取?ALB与现有的web服务器基础架构集成。因此,如果您有一个现有的代码库,那么集成起来就容易多了 另外,在我看来,配置ApiGateway需要大量的工作,而ALB几乎不费吹灰之力。它们只是两种截然不同的产品。ALB是一个毫无意义的负载均衡器,而ApiGateway是一个与CI/CD管道和无服务器框架

假设您的Api/服务需要一个入口点,ALB和Api网关都可以。但是Api网关在路由流量之外有更多的功能

为了路由流量,为什么要使用ALB over API网关?
是否有一个明确的用例,其中ALB更可取?

ALB与现有的web服务器基础架构集成。因此,如果您有一个现有的代码库,那么集成起来就容易多了


另外,在我看来,配置ApiGateway需要大量的工作,而ALB几乎不费吹灰之力。它们只是两种截然不同的产品。ALB是一个毫无意义的负载均衡器,而ApiGateway是一个与CI/CD管道和无服务器框架很好地集成的服务。

通常选择由您决定,但如果您试图运行完整的API,那么我建议使用API Gateway,如果您将使用它提供的

如果您想在API中使用以下任何一项,那么API网关将是一个确定的选择:

  • (包括基于API密钥的节流)
  • 由招摇过市/OpenAPI模式支持的API
  • SDK生成
  • Lambda或部分Lambda驱动(Lambda也支持作为ALB目标组中的目标)
  • 在模式验证(用户输入有效吗?)到达应用程序之前进行验证
这些只是API网关的一些功能,ALB将逐个替换,并且可以支持其中一些功能,例如基于Lambda的目标组或通过比例目标组分布的canary部署


最终,您可以选择如何看待未来驱动的应用程序,我认为API Gateway允许您专注于构建应用程序,而API Gateway负责这些其他部分(在您配置之后)。

API Gateway也可以这样做,对吗?比如,如果您在ECS中有多台web服务器,您可以使用API网关路由流量。是的,但是如果您只是在EC2实例上运行您的东西,因为您使用的是Apache,并且您的代码库已经有12年的历史,ALB只需集成很少的开销。ALB支持Lambda,它还与Cognito或其他OIDC投诉认证提供商集成。感谢您的评论,我们更新了答案,使这些要点更加清晰:)