何时在AWS中通过API网关使用Application Load Balancer?

问题描述

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

出于路由流量的目的,为什么要在API网关上使用ALB? 有没有明确的使用案例,其中ALB更可取?

解决方法

ALB与现有的Web服务器基础架构集成。因此,如果您已有代码库,则集成起来会容易得多。

在我看来,配置ApiGateway也是一项繁重的工作,而ALB几乎可以毫不费力地工作。它们只是两种截然不同的产品。 ALB是一个毫无意义的负载平衡器,而ApiGateway是一项与CI / CD管道和无服务器框架很好地集成的服务。

,

通常由您决定,但是如果您要运行完整的API,则建议使用API​​网关如果,您将使用它提供的feature set。 / p>

如果您想对API使用以下任何一项,那么API网关将是最终的选择:

  • Authorization/individual client management(包括基于API密钥的限制)
  • 由Swagger / OpenAPI模式支持的API
  • SDK生成
  • Lambda或部分由Lambda驱动(ALB目标组中的目标也支持Lambda)。
  • 架构验证(用户输入的信息有效吗?)在到达您的应用程序之前

这些只是API网关的部分功能,ALB可以像替换一样进行替换,并且可以支持其中一些功能,例如基于Lambda的目标组或通过按比例分配目标组来进行金丝雀部署。

最终,您将决定如何看待应用程序的未来发展,我认为API Gateway允许您专注于构建应用程序,而API Gateway负责这些其他部分(在配置后)。 / p>