如何解决我们可以将一个ALB与AWS ECS Fargate一起使用吗?
我在AWS ECS网关中使用ALB和Route53运行了许多微服务,每个微服务都在Route53中使用了ALB。
是否有可能我仅对所有微服务使用一个ALB并路由至它们各自的Route53路径?
在这里,我不使用EKS。使用AWS ECS Fargate。
解决方法
要从单个ALB服务器提供多个Fargate服务,您需要为其创建不同的目标组(TG)。因此,每个服务都有自己的TG,ALB会根据一些侦听器规则将流量转发到各个TG。
由于拥有Route53,因此常见的选择是创建子域,例如:service1.example.com
和service2.example.com
。您可以将它们作为具有相同ALB的简单Alias A记录关联。
在ALB上,您将具有单个监听器(例如HTTP 80)以及不同的规则。例如:
- 第一个规则将基于
Host header
等于service1.example.com
,其中Action
的{{1}}属于TG1。 - 第二条规则将基于
Forward
等于Host header
,其中service2.example.com
中的Action
为TG2。 - 某些默认规则是强制性的(或使用2作为默认规则)。
就是这样。来自互联网的任何指向Forward
的请求都将转到您的TG1(即Fragete service1)。对service1.example.com
的请求也是如此。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。