网络负载均衡器、弹性IP和Fargate服务+任务?

0

【以下的问题经过翻译处理】 你好, 我是AWS的新手,正在尝试将一些本地虚拟机迁移到Fargate。根据我阅读的文档,我需要使用网络负载均衡器,因为我想在NLB上设置弹性IP,可以通过我们的本地DNS(目前不支持Route 53)上的A记录进行委派。

在ECS中,我为我的容器定义了一个任务定义,它运行Nginx,监听TCP 80和443端口。此外,在ECS中,我设置了一个集群和两个服务;一个服务用于TCP 80,另一个服务用于TCP 443。这些服务中的每一个至少有一个任务定义,可以启动Nginx容器。

当我定义NLB时,我创建了两个监听器/目标组。其中一个是TCP 80,另一个是TCP 443。在定义监听器时,我为每个监听器分配了EIP。NLB与其关联的A记录的名称类似于my-net-lb-xxxxxxx.elb.us-east-1.amazonaws.com。此外,A记录还与两个公共IP地址关联,但是这里有一个问题。

如果我在NLB的A记录上进行nslookup,我只看到其中一个EIP与其关联。同样地,我可以将浏览器指向该EIP,然后可以访问Fargate任务。第二个IP似乎被留在某个地方。它被设置为监听器,但除了NLB的另一个AZ之外,它似乎没有出现在任何地方。将浏览器指向该孤立的IP不起作用。

我原本期望在NLB A记录上进行轮询DNS设置,以便如果一个EIP不可路由,因为任务已经停止,客户端有机会刷新并切换到另一个IP地址。

我一定是漏了什么。我尝试查找有关此设置的具体文档,但到目前为止我发现的所有内容要么不完整,要么太旧而无关紧要。

感谢您的任何见解,抱歉这么长

profile picture
专家
已提问 5 个月前30 查看次数
1 回答
0

【以下的回答经过翻译处理】 NLB有两种DNS类型 - 区域性和可用区。您应使用区域性DNS名称,AWS将以轮流方式自动解析为可用区DNS;原因是如果您正在使用可用区DNS,如果存在AZ级别的故障(概率不大但有可能),则不会有任何故障转移,因此建议使用NLB的区域性DNS进行连接。在此主题上查看更多信息here

如果您在多个可用区内部署了单个NLB,则可以在DNS配置中使用NLB提供的可用区专用DNS名称。例如,假设您有一个工作负载,www.example.com,在us-west-2a,us-west-2b和us-west-2c后面运行一个NLB。它具有区域性AWS提供的DNS A记录 my-load-balancer.elb.us-west-2.amazonaws.com,以及每个可用区的分区记录,例如us-west-2a.my-load-balancer.elb.us-west-2.amazonaws.com

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则