我有一项任务是配置API网关以将流量路由到Lambda或Load Balancer(内部,在VPC下) . 我认为可以使用简单的HTTP集成或AWS服务为ALB创建简单的集成 . 但经过一段时间的谷歌搜索,我发现只有一个解决方案 - 是配置NLB然后使用VPC_Link integration . 在这种情况下,一切看起来像工作 .

但我仍然找到了一些像this one这样的文章,其中人们描述了如何在没有VPC_links的情况下集成Api Gateway和LB.在我的情况下,当我的内部ALB与我的apigateway集成时,我总是会看到 invalid endpoint address 错误 . 我想这只适用于公共资源(面向网络的LB)?

问题的第二部分 . 当我配置VPC_link时,我仍然需要在集成中提供一些 endpoints 以进行证书检查和其他内容 . 但看起来这个 endpoints 仍然必须公开访问?问题是我在ALB下的服务有多个 endpoints ,我需要在这个 Endpoint URL 中提供这个 endpoints 的路径,这个 endpoints 应该是公开的,正如我现在看到的那样 . 因此,出于测试原因,我提供了我需要执行的公共资源和 endpoints 路径的URL . 这有效但对我来说看起来太难看了 . 可能有任何漂亮的解决方案 .