我有两个处理一系列 HTTP 端点的服务。 Service1 的端点均以 /someValue 开头 Service2 的端点均以 /anotherValue 开头
每个服务都有不同的 API 网关。 此外,这两个服务必须可以使用相同的域名进行访问。 所以我一直在尝试的想法是: Route53 将域名指向 ALB,该 ALB 反过来会将请求定向到指向正确 API 网关的相应目标组(通过读取路径的开头)。
我的问题是我不知道如何创建指向 API 网关的目标组。 我看到的唯一选项是:
我错过了什么?
我尝试将目标组指向“IP 地址”,希望我可以提供 API 网关 API 的 URL,但这是不允许的。
其他选项显然不是我需要的。
Stack Overflow(以及通常在互联网上)中的许多其他问题都解决了负载均衡器前面有 API 网关的问题;我们需要将 ALB 放在 API 网关前面。
我看到有两个选项:
在 API 网关前面使用简单的 Lambda 函数(然后您可以将 ALB 目标组指向) 然后,您的系统将是 Route53 -> ALB -> Lambda -> API Gateway -> :backing system: ALB 与 Lambda 的连接非常简单(它是您在问题中列出的选项之一)
完全删除 API 网关,并将 ALB 目标组直接指向 API 网关后面的任何内容(EC2 实例、Lambda 函数或 FarGate 容器) 然后,您的系统将是 Route53 -> ALB -> :backing system: 你的问题将被完全消除
请记住负载均衡器 <-> Lambda 的有效负载限制为 1mb!最近遇到这个。
您是否找到了将调用从负载均衡器转发到 API 网关的方法?