我已经建立了一个集群,其中有一个服务包含一个任务。该任务包含2个docker容器。一个用于我的UI(后3000
(,一个用于API(端口8080
(。我可以通过[public-ip]:3000
和[public-ip]:8080
访问这两个端口。
然后,我设置了一个指向该服务的Application Load Balancer
。它指向这些target group
:
https://pasteboard.co/JFQfvD9.png
因此,现在CAN
通过用于负载均衡器的DNS name
到达UI
,但应用程序进行的API调用总是以404
失败。
这是对API 的浏览器网络请求
https://pasteboard.co/JFQjISle.png
值得注意的是目标群体仅进入port 3000
。我想我也需要在这里瞄准port 8080
?它们也不健康,无法重新启动,但这是无法找到我的健康检查终点8080/api/ping
的副作用。
我真的不确定我在哪里出了问题。
任何帮助都将不胜感激。
编辑
安全组https://pasteboard.co/JFRBE80.png
ALBhttps://pasteboard.co/JFRHgKU.png
TG健康检查设置https://pasteboard.co/JFRIkRn.png
ECS上的ALB信息https://pasteboard.co/JFRXYim.png
尝试更新ECS服务https://pasteboard.co/JFRYyjz.png
创建一个新服务,只能添加一个需要负载平衡的容器https://pasteboard.co/JFS0yDW.png
基于注释。
该问题是由负载平衡器的目标组中的端口配置错误引起的。
解决方案是正确设置端口,使其与ecs服务中使用的端口相匹配。