AWS ECS 前端和后端通信

AWS ECS Frontend & Backend Communication

基于AWS ECS architecture

@Marcin 提出了一个有趣的想法,但我无法理解 ALB 如何知道要转发到哪个目标组,因为我尝试使用 2 个侦听器(HTTP 80 → 前端和 HTTP 5000 → 后端)没有奏效.

假设我有以下内容(正如@Marcin 的目的)

                                   |---> Target Group 1 ---> ECS Services for Frontend (private subnet)
Client ---> ALB (public subnet) ---|
                                   |---> Target Group 2 ---> ECS Service for Backend (private subnet)

假设:

上述设置的原因是,如果客户端需要前端资源,则访问 http://www.example.com(端口 80),但如果前端向后端发出 API 请求,它会这样做通过 http://www.example.com:5000/<end_point>(注意 :5000)。

但是,由于超时而挂起

POST http://www.example.com:5000/check net::ERR_CONNECTION_TIMED_OUT

我可以看到两个目标组都在 AWS 控制台中通过了各自的健康检查

我的上述推理有误吗,还是设置问题?

根据评论。

问题是 ALB 的安全组 中的规则允许端口 5000。因此,解决方案是添加所需的规则。