【发布时间】:2021-10-13 23:34:24
【问题描述】:
好的,这是我的要求。我想为我的客户提供这样的端点:
https://customer-a.mydomain.com
https://customer-b.mydomain.com
现在,当我们访问上面的 customer-a 端点时,我希望 AWS 将请求路由到客户 A 的 ECS Fargate 服务,该服务由 https://customer-a-elb.mydomain.com 进行负载平衡
同样,当我们访问上面的 customer-b 端点时,我希望 AWS 将请求路由到客户 B 的 ECS Fargate 服务,该服务由 https://customer-b-elb.mydomain.com 进行负载平衡
计划是,通过我的 DNS,我会将所有访问 *.mydomain.com(通配符 DNS 条目)的人路由到 AWS 中的同一个 API 网关。并让 API 网关根据基本 URL 确定路由到哪个负载均衡器。
我希望这可以使用 AWS API Gateway 轻松实现,但到目前为止我还没有找到解决方案来实现它。据我了解,只能进行基于路径的路由(与在这种情况下我真正需要的基于 URL 的路由相反)。
任何提示将不胜感激。
澄清: 根据我的要求,两个客户都需要访问相同的路径 /myservice 但在不同的 ELB 上。例如
https://customer-a.mydomain.com/service1 -> https://customer-a-elb.mydomain.com/service1
https://customer-b.mydomain.com/service1 -> https://customer-b-elb.mydomain.com/service1
不知何故,我认为基于路径的路由无法处理这种情况 - 因为我们只能为路径定义一个路由。
【问题讨论】:
-
为什么不在 route53 上这样做?
-
因为我的所有 DNS 记录都在其他地方维护,我不想仅仅为了这个要求而迁移到 Route53。你是说这是实现这一目标的唯一方法吗?
标签: amazon-web-services aws-api-gateway