AWS ALB 路由到其他 ALB
AWS ALB routes to other ALBs
是否可以使用 ALB 实现这样的架构?
我想要ALB提供的公开域名然后
在不同的路线下有一个单独的集群(有自己的服务)"mounted"(例如/cluster1
、/cluster2
、cluster3
)
是否有任何其他解决方案来实现此类设置?
不,这不可能,但也没有理由这样做。您只需要在单个 Application Load Balancer 中设置路由规则即可路由到不同的 Target Groups。
将其视为琐碎问题而不是最佳设计问题,技术上可以做到,但有点烦人。
- 使用 3 个基于 IP 的目标组和基于路径的侦听器规则创建您的顶级 ALB,以路由到正确的组。
- 创建每个子 ALB 并将其配置为正确路由到您的服务。
- 将父目标组连接到子 IP。每个子 ALB 将在您分配给它的每个子网中都有一个节点。每个 ALB 节点都将拥有动态 IP。您可以从 ALB 中获取每个节点的 IP,并将其添加到父 ALB 中的正确目标组。您想要对其进行设置,以便父级中的每个目标组都具有您希望它路由到的所有 ALB 节点的 IP。
- ALB 节点 IP 是动态的,因此您需要处理它们在没有警告的情况下对您的更改。创建一个 Cloudwatch 事件,该事件在子 ALB 节点的 IP 更改时触发,并使用它来触发 Lambda。让 Lambda 使用新 IP 更新父 ALB 中的正确目标组。
有一点 Rube-Goldberg 正在发生,设置起来很烦人,但它会在实践中起作用。
是否可以使用 ALB 实现这样的架构?
我想要ALB提供的公开域名然后
在不同的路线下有一个单独的集群(有自己的服务)"mounted"(例如/cluster1
、/cluster2
、cluster3
)
是否有任何其他解决方案来实现此类设置?
不,这不可能,但也没有理由这样做。您只需要在单个 Application Load Balancer 中设置路由规则即可路由到不同的 Target Groups。
将其视为琐碎问题而不是最佳设计问题,技术上可以做到,但有点烦人。
- 使用 3 个基于 IP 的目标组和基于路径的侦听器规则创建您的顶级 ALB,以路由到正确的组。
- 创建每个子 ALB 并将其配置为正确路由到您的服务。
- 将父目标组连接到子 IP。每个子 ALB 将在您分配给它的每个子网中都有一个节点。每个 ALB 节点都将拥有动态 IP。您可以从 ALB 中获取每个节点的 IP,并将其添加到父 ALB 中的正确目标组。您想要对其进行设置,以便父级中的每个目标组都具有您希望它路由到的所有 ALB 节点的 IP。
- ALB 节点 IP 是动态的,因此您需要处理它们在没有警告的情况下对您的更改。创建一个 Cloudwatch 事件,该事件在子 ALB 节点的 IP 更改时触发,并使用它来触发 Lambda。让 Lambda 使用新 IP 更新父 ALB 中的正确目标组。
有一点 Rube-Goldberg 正在发生,设置起来很烦人,但它会在实践中起作用。