AWS ELB请求10秒后返回504状态码问题咨询
负载均衡器转发Fargate请求出现504超时的排查与解决
这不是正常现象
你已将ALB的空闲超时设为60秒,但请求仍在10秒后超时,说明存在其他环节的超时控制逻辑覆盖了你的设置,需要逐一排查。
核心排查与解决步骤
1. 检查目标组的连接超时设置
ALB的全局空闲超时和目标组的连接超时是两个独立配置,目标组默认连接超时为10秒,这大概率是你遇到问题的原因:
- 控制台操作:进入目标组详情页,在「属性」标签下找到「连接超时」,修改为60秒(和ALB空闲超时保持一致)。
- CLI操作:
aws elbv2 modify-target-group --target-group-arn <你的目标组ARN> --connection-timeout-seconds 60
2. 确认Fargate应用侧的超时配置
检查你的容器应用本身的超时设置:
- 比如Nginx的
proxy_read_timeout、Spring Boot的server.connection-timeout等参数,是否被设为10秒,需要调整到不低于ALB/目标组的超时值。 - 如果应用处理请求本身需要较长时间,确保应用内部没有硬编码的超时限制。
3. 排查并发场景下的资源瓶颈
并发时部分请求超时,可能是Fargate容器资源不足导致:
- 查看CloudWatch中的Fargate指标:
CPUUtilization、MemoryUtilization,如果指标持续超过70%,说明资源不够,需要调整容器的CPU/内存配额。 - 同时检查目标组的
UnHealthyHostCount指标,看是否有容器被标记为不健康,导致请求转发失败。
4. 排除VPC网络层面的限制
虽然概率较低,但可以确认:
- VPC安全组是否允许ALB和Fargate之间的长连接。
- 网络ACL是否有设置超时相关的规则,确保没有截断长连接。
内容的提问来源于stack exchange,提问作者JulienChamp
相关产品推荐
相关产品推荐

