【问题标题】:Fastest way to invoke one AWS API Gateway from another从另一个 AWS API 网关调用一个 AWS API 网关的最快方法
【发布时间】:2019-10-04 23:11:09
【问题描述】:

我有 2 个 AWS API Gateway 部署如下:

API1 --> api1.mydomain.com(后端集成 Lambda1)

API2 --> api2.mydomain.com(后端集成 Lambda2)

虽然 API1 和 API2 可以从不同的服务调用,但在某些用例中 API1 也调用 API2。

但是,到目前为止,调用是通过简单的 HTTP 客户端进行的。 意思是; Lambda1 使用 Aapche HTTP 客户端调用“api1.mydomain.com”。

问题 有没有更快的方法从 Lambda1 调用 API2 而不会影响通过 Internet 调用 API1 或 API2 的客户端? 我的理解是当Lambda1调用“api1.mydomain.com”时,它是通过跟踪公共互联网来实现的。

我的工件 API1、API2、Lambda1 和 Lambda2 都在同一个 AWS 账户和同一个 VPC\AWS 区域中。 我正在尝试查看是否可以减少调用的网络时间,其中同一区域中的工件不必进行公共互联网往返。

【问题讨论】:

  • 因为听起来您的决策逻辑在 lambda 中,所以您无能为力。我建议确定强制 API1 调用 API2 的路径,然后创建 API Gateway Endpoint w/集成类型 HTTP。如果您需要对数据进行一些转换,请查看带有 api 网关的映射模板。

标签: amazon-web-services aws-lambda aws-api-gateway


【解决方案1】:

听起来你想要的是一个私有端点

https://aws.amazon.com/blogs/compute/introducing-amazon-api-gateway-private-endpoints/

为您的 API2 设置其中一个,所有到它的流量都将通过您的 VPC 中的私有接口端点进行路由,从而为您提供所需的通信效率

【讨论】:

  • 谢谢@AndyK 但我的要求也是 API2 也应该可以通过 IG 访问。问题是,私有 apigateway 不允许公共访问。本质上,我需要双重行为。我之前看过私有 api 网关。它现在支持这种行为吗?
猜你喜欢
  • 2019-05-31
  • 1970-01-01
  • 1970-01-01
  • 2015-12-04
  • 2016-03-31
  • 2018-09-05
  • 1970-01-01
  • 2018-07-24
  • 2020-10-12
相关资源
最近更新 更多