Meh*_*ran 5 amazon-web-services aws-api-gateway aws-load-balancer
AWS附带有一项称为的服务Application Load Balancer
,它可能会触发lambda函数。调用此类lambda函数的方法是通过向ALB发送HTTP / HTTPS请求。
现在我的问题是,这与使用API网关有何不同?以及什么时候应该在API网关上使用ALB?
小智 12
我们在 lambda 函数前面使用 API 网关而不是使用 ALB 的最大原因之一是 API GW 具有的本机 IAM(身份和访问管理)集成。我们不必自己做任何身份工作,一切都委托给 IAM,除此之外,API GW 还内置了请求验证,包括对查询字符串参数和标头的验证。简而言之,API GW 提供了许多开箱即用的集成,如果您选择使用 ALB,您最终不得不做更多的工作。
看来使用 ALB 时请求/响应限制较低,并且不支持 WebSockets:
您可以发送到 Lambda 函数的请求正文的最大大小为 1 MB。有关相关大小限制,请参阅 HTTP 标头限制。
Lambda 函数可以发送的响应 JSON 的最大大小为 1 MB。
不支持 WebSocket。升级请求被拒绝,并显示 HTTP 400 代码。
请参阅:https ://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html
此处讨论 API Gateway 的有效负载限制:使用 AWS API Gateway 请求有效负载限制
此外,@matesio 已经提到的文章提供了有关在 ALB 和 API Gateway 之间进行选择时需要考虑的其他事项的信息。
上述文章中引用的值得注意的推文:
如果您正在构建 API 并希望利用 AuthN/Z、请求验证、速率限制、SDK 生成、直接 AWS 服务后端,请使用 #APIGateway。如果您想将 Lambda 添加到 ALB 后面的现有 Web 应用程序中,您现在只需将其添加到所需的路由即可。
(来自:Dougal Ballantyne,Amazon API Gateway 产品主管)
归档时间: |
|
查看次数: |
1559 次 |
最近记录: |