1

是否可以使用 ALB 实现这样的架构? alb

我想要 ALB 提供的公开可用域名,然后在不同的路由下“安装”一个单独的集群(带有自己的服务)(例如/cluster1,,,/cluster2cluster3

有没有其他解决方案来实现这种设置?

4

2 回答 2

4

不,这是不可能的,但也没有理由这样做。您只需在单个 Application Load Balancer 中设置路由规则即可路由到不同的目标组

于 2019-08-16T12:17:44.500 回答
0

将其视为琐事问题而不是最佳设计问题,在技术上是可行的,但有点烦人。

  1. 使您的顶级 ALB 具有 3 个基于 IP 的目标组和基于路径的侦听器规则,以路由到正确的组。
  2. 制作每个子 ALB 并将其配置为正确路由到您的服务。
  3. 将父目标组连接到子 IP。每个子 ALB 将在您将其分配到的每个子网中都有一个节点。每个 ALB 节点都有动态 IP。您可以从 ALB 获取每个节点的 IP,并将其添加到父 ALB 中的正确目标组。您希望对其进行设置,以便父级中的每个目标组都具有您希望它路由到的所有 ALB 节点的 IP。
  4. ALB 节点 IP 是动态的,因此您需要在没有警告的情况下处理它们的更改。创建一个在子 ALB 节点的 IP 更改时触发的 Cloudwatch 事件,并使用它来触发 Lambda。使 Lambda 使用新 IP 更新父 ALB 中的正确目标组。

有一点 Rube-Goldberg 正在进行,设置起来很烦人,但它会在实践中工作。

于 2020-12-03T17:13:25.223 回答