我尝试设置侦听端口443的ALB,在随机端口上对ECS Docker容器进行负载均衡,假设我有2个相同任务定义的容器实例,侦听端口30000和30001。 / p>
当我尝试在AWS EC2管理控制台中创建目标组时,有一个"端口"输入字段,范围为1-65535。 我应该在那里放几个号码?
当我尝试在AWS EC2容器服务控制台中创建新服务以及连接到现有ALB的新目标组时,目标组没有输入字段" port& #34 ;. 创建后,导航到EC2控制台,新目标组有端口" 80"。 我必须在80端口听吗? 但健康检查是针对"流量端口",即集装箱端口,30000和30001,那么重点是什么?
答案 0 :(得分:23)
事实证明,当与ECS结合使用时,目标组的端口并不意味着什么。你不需要听那个端口。
答案 1 :(得分:0)
目标组中的端口与自动扩展组一起使用,如果您打算使用那些从一开始就使用正确端口的端口。为什么?因为在创建目标组后无法更改它,如果将端口设置错误,则无法自动缩放。
答案 2 :(得分:0)
我认为他指的是健康检查。如果ELB在端口443上侦听,但目标组设置为端口80,则对目标组的每次运行状况检查都将尝试在端口80上发出请求,并由负载均衡器重定向到端口443。这将导致301代码被认为是不健康的。应该认为只有200个代码是健康的。到那时,您要么一直拥有所有不健康的目标,要么在健康代码列表中添加301,这在健康状况检查中不胜一筹,因为它始终会为端口80返回301。您也可以仅匹配端口。
答案 3 :(得分:0)
我上班时遇到了这种情况。我注意到目标组端口和注册实例的端口不同。我通常将它们设置为相同的东西,因此想知道所有这些是什么导致我进入此线程的。我在AWS文档上找不到很好的答案,但在Terraform文档中的aws_lb_target_group资源中找到了这个答案:
端口-(可选,强制使用新资源)目标上接收流量的端口,除非在注册特定目标时被覆盖。
因此,我想除非您将其覆盖,否则它只是默认端口。有道理。