从部分EC2实例访问AWS Network Load Balancer请求超时问题排查
AWS NLB 跨实例/本地访问超时排查要点
- 目标组健康检查是否正常:哪怕你能直接连目标实例,要是目标组健康检查失败,NLB会停发流量。检查健康检查的端口、协议和服务一致不,HTTP/HTTPS的话看路径是不是返回200。另外看看健康检查阈值设置,别因为几次偶发失败就把实例踢出去。
- NLB子网的路由表配置:NLB在公有子网,但得确认子网路由表绑了Internet Gateway(IGW),而且有0.0.0.0/0的路由。本地访问超时的话,大概率是NLB公网IP没通过IGW暴露出去。其他EC2如果在私有子网,得确保子网路由表有指向NAT网关的路由,这样才能访问NLB公网IP。
- NLB监听规则是否匹配:核对NLB监听的端口和你访问用的端口一致不(比如JDBC常用的3306、1433),协议是TCP还是TLS也得对应上。要是TLS监听,证书配置错了也会导致握手失败超时。
- 目标实例的回包路由:NLB默认会把源IP换成自己的,目标实例安全组虽然允许你访问,但要是实例路由表没配置正确的回包路径(比如没指向IGW或NAT网关),流量发出去回不来就会超时。可以在目标实例上抓包,看看有没有收到NLB的请求,以及有没有回包。
- VPC网络ACL限制:安全组是实例级的,网络ACL是子网级的。确认NLB所在公有子网的ACL允许对应端口的入站流量(比如ICMP用于PING,TCP对应JDBC端口),同时允许出站回包。目标实例所在子网的ACL也要允许NLB的IP段访问,以及回包流量。
- 本地网络限制:本地机器访问超时,可能是本地防火墙禁了对应端口的出站流量,或者ISP屏蔽了端口。用
telnet <NLB公网IP> <端口>或nc -zv <NLB公网IP> <端口>测下连通性,看看能不能建立连接。
内容的提问来源于stack exchange,提问作者LakeMichigan
相关产品推荐
相关产品推荐

