难道我们不应该从 API 网关 + Lambda 堆栈迁移到 Lambda@Edge 以提供 API 服务吗?

che*_*hen 5 amazon-web-services amazon-cloudfront aws-lambda aws-api-gateway aws-lambda-edge

如果我的理解正确的话,从堆栈中提供 APILambda@Edge比从堆栈中提供 API 提供更多的延迟优势API-Gateway + Lambda

另外,API-Gateway 的成本(3.5 美元/百万次调用)+ Lambda(0.2 美元/百万次调用)== 3.7 美元/百万次调用似乎比Lambda@Edge(0.6 美元/百万次调用)更昂贵。

如果上述两个观察结果都是正确的,那么我们不应该将我们的 API-Gateway + Lambda (对于那些使用此堆栈的人)迁移到 lambda@edge 堆栈吗?

Chr*_*ams 2

Lambda@Edge 主要是事件驱动的请求,是的,延迟减少了,但它被设计为与源一起使用。即使您有 Lambda@Edge 函数,您的 CloudFront 发行版仍然需要连接到源。

当源端是 API 网关(带或不带 Lambda)时,它会带来很多好处,例如:

  • 内置对 OpenAPI 规范的支持
  • 内置路由
  • 支持金丝雀部署
  • 内置身份验证和授权,支持对每个 API 用户进行限制
  • 内置对模型架构验证的支持
  • 支持将 API 作为基础设施即代码进行管理:CloudFormationTerraformSAM
  • 每个请求都可以单独开发,每个事件只能有 1 个 Lambda@Edge 函数,因此您可能会在团队中看到冲突(更不用说非常大的函数)。

如果这一切都需要由 Lambda@Edge 完成,那么您将需要设计、开发和维护这些功能。

您参考的价格是 REST API 的价格,请记住,有 3 种 API,最便宜的是 HTTP API,$1.00每百万个请求的费用。