当它们都是 ECS Fargate 中同一任务中的容器 运行 时,如何从我的 UI 向我的 API 发出请求
How can I make a request to my API from my UI when they are both containers running in the same task in ECS Fargate
我已经建立了一个集群,其中有 1 个服务包含 1 个任务。该任务包含 2 个 docker 个容器。一个用于我的 UI(post 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
ALB
https://pasteboard.co/JFRHgKU.png
TG 健康检查设置
https://pasteboard.co/JFRIkRn.png
ECS 服务的 ALB 信息
https://pasteboard.co/JFRXYim.png
正在尝试更新 ECS 服务
https://pasteboard.co/JFRYyjz.png
新建服务,只能添加1个容器做负载均衡
https://pasteboard.co/JFS0yDW.png
根据评论。
问题是由负载均衡器目标组中的端口配置错误引起的。
解决方案是正确设置端口,使其与 ecs 服务中使用的端口相匹配。
我已经建立了一个集群,其中有 1 个服务包含 1 个任务。该任务包含 2 个 docker 个容器。一个用于我的 UI(post 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
ALB https://pasteboard.co/JFRHgKU.png
TG 健康检查设置 https://pasteboard.co/JFRIkRn.png
ECS 服务的 ALB 信息 https://pasteboard.co/JFRXYim.png
正在尝试更新 ECS 服务 https://pasteboard.co/JFRYyjz.png
新建服务,只能添加1个容器做负载均衡 https://pasteboard.co/JFS0yDW.png
根据评论。
问题是由负载均衡器目标组中的端口配置错误引起的。
解决方案是正确设置端口,使其与 ecs 服务中使用的端口相匹配。