当API都是在ECS Fargate中的同一任务中运行的容器时,我如何从我的UI向它们发出请求



我已经建立了一个集群,其中有一个服务包含一个任务。该任务包含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服务中使用的端口相匹配。

最新更新