【发布时间】:2018-11-19 19:25:30
【问题描述】:
我的任务是配置 API Gateway 以将流量路由到 Lambda 或负载均衡器(内部,在 VPC 下)。我认为可以使用简单的 HTTP 集成或 AWS 服务为 ALB 创建简单的集成。但经过一段时间的谷歌搜索后,我发现只有一种解决方案——配置 NLB,然后使用VPC_Link integration。在这种情况下,一切看起来都正常。
但我还是发现了一些像 this one 这样的文章,人们在其中描述了如何在没有 VPC_links 的情况下集成 Api Gateway 和 LB。在我的情况下,将我的内部 ALB 与我的 apigateway 集成时,我总是看到 invalid endpoint address 错误。我想这仅适用于公共资源(面向互联网的 LB)?
问题的第二部分。当我配置 VPC_link 时,我仍然需要为证书检查和其他东西提供一些集成端点。但看起来这个端点仍然必须是可公开访问的?问题是我在 ALB 下的服务有多个端点,我需要在这个 Endpoint URL 中提供到这个端点的路径,并且这个端点应该是公共的,正如我现在看到的那样。因此,出于测试原因,我提供了我们需要执行的公共资源的 url 和端点路径。这可行,但对我来说看起来太丑了。可能有什么漂亮的解决方案。
【问题讨论】:
-
您可以从 API Gateway 调用 Lambda,后者又可以调用内部 VPC 资源(需要一些额外配置)。
-
@aleksei-bulgak 你找到解决办法了吗?
-
嗨@gis_wild。很不幸的是,不行。结果,我创建了 NLB 并将其连接到同一个自动缩放组。但是我听说现在 AWS 提供了在私有 VPC 中创建 API 网关的能力,所以他们可能也提供了连接到私有 ALB 的能力
-
“所以可能它们也提供连接到私有 ALB 的能力”,遗憾的是它们没有
标签: amazon-web-services aws-api-gateway amazon-vpc aws-load-balancer