繁体   English   中英

ELB 健康检查失败 AWS

[英]ELB health check fail AWS

我的 ELB 健康检查一直失败,但无法弄清楚原因(502 错误网关)。

我有一个集群 (ECS),其服务至少运行一个任务 (Fargate),该任务是一个节点 API,监听端口 3000 和 3001(3000 用于 http 和 3001 用于 https,因为我不能使用低于 1024 的端口)。

我有一个 Elastic Load Balancer(应用程序)正在侦听端口 80。它使用协议端口 3000 转发目标组上的流量。

此目标组的目标类型为:ip 地址,因为我使用 fargate 而不是 EC2 来完成我的任务。 因此,当任务打开时,我正确地看到任务的私有 IP 注册到目标组中。

我的健康路线是 server_ip_address/health ,它返回一个经典的 200 状态代码。 这条路线运作良好,因为我直接从任务的公共 ip 地址尝试了它(在它因为健康检查失败而停止之前很快)并且它返回了 200。我还通过 ELB dns 名称尝试了它(所以 my-elb. eu-west-1.elb.amazonaws.com/health),它运行良好,所以我不明白为什么健康检查失败。

有人知道我错过了什么吗?

在目标组中目标的屏幕截图中,端口显示为 80,这意味着负载均衡器(和运行状况检查)将尝试连接到端口 80 上的 Fargate 容器。

您提到它应该从端口 3000 提供服务,因此您需要确保目标组正在侦听端口 3000。 一旦到位,假设主机的安全组允许入站访问,502 错误应该 go 消失。

需要明确的是,侦听器端口是客户端连接到的端口,而目标端口是负载均衡器连接到目标的端口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM