我在带有 ALB 和 Route53 的 AWS ECS fargate 中运行了一堆微服务。每个微服务都有一个带有 Route53 的 ALB。
有没有可能我只能为所有微服务使用一个 ALB 并路由到它们各自的 Route53 路径?
在这里,我没有使用 EKS。使用 AWS ECS Fargate。
最佳答案
要从单个 ALB 服务多个 Fargate 服务,您需要创建 不同的目标群体 (TG) 为他们。因此,每个服务都会有自己的 TG,ALB 会根据一些监听器规则将流量转发到相应的 TG。
因为你有 Route53,一个常见的选择是创建子域,例如:service1.example.com
和 service2.example.com
.您将它们关联为具有相同 ALB 的简单别名 A 记录。
在 ALB 上,您将拥有 单个监听器 (例如 HTTP 80),使用 不同的规则 .例如:
Host header
等于 service1.example.com
, 与 Action
的 Forward
到 TG1。 Host header
等于 service2.example.com
, 与 Action
的 Forward
到TG2。 就是这样。来自互联网的任何请求都指向
service1.example.com
将转到您的 TG1,即 Fragete service1。对 service2.example.com
的请求也是如此.
关于amazon-web-services - 我们可以将一个 ALB 与 AWS ECS Fargate 结合使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64096246/