You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过内部NLB从本地访问EKS集群应用超时问题求助

排查内部NLB访问EKS应用超时问题的步骤

1. 验证NLB源IP透传行为

  • 检查NLB目标组配置:确认是否开启源IP保留(AWS NLB默认对TCP/UDP流量开启该特性)。可通过AWS CLI查看目标组属性:
    aws elbv2 describe-target-groups --target-group-arn <你的目标组ARN> --query 'TargetGroups[0].PreserveClientIp'
    
  • 若开启源IP保留,EKS节点所在的10.0.0.0/16网段必须能路由回本地10.2.0.0/16,否则后端无法回包会导致超时。

2. 检查EKS节点子网的路由配置

  • 查看EKS节点所在子网的路由表,确认是否存在指向本地10.2.0.0/16的路由条目,下一跳为Direct Connect的虚拟网关(VGW)。
  • 若缺少该路由,需手动添加:将10.2.0.0/16的流量指向VGW,确保EKS节点能将回包发送到本地网络。

3. 核查安全组与网络ACL规则

  • NLB安全组:确认是否允许本地10.2.0.0/16网段的流量访问NLB监听端口(如80/443)。
  • Istio Ingress Gateway节点安全组:检查是否允许10.2.0.0/16的流量访问Gateway端口,同时允许回包流向10.2.0.0/16。
  • EKS子网网络ACL:确认是否双向允许10.2.0.0/16与10.0.0.0/16之间的入站、出站流量。

4. 验证Istio流量控制策略

  • 检查Istio Ingress Gateway的AuthorizationPolicy等规则,确认是否存在限制10.2.0.0/16网段的配置。
  • 查看Istio网关的访问日志,确认请求是否到达Gateway:
    kubectl logs -n istio-system <istio-ingressgateway-pod-name> -c istio-proxy | grep <本地客户端IP>
    
    若日志无本地IP请求记录,说明流量未到达Gateway,问题出在VPC网络层;若有记录但无回包,检查Gateway到后端的路由或后端安全策略。

5. 对比NLB与ALB的转发差异测试

  • ALB默认终止连接并使用自身IP作为源IP转发,因此后端仅需允许ALB子网IP;而NLB透传客户端源IP,后端需允许本地10.2.0.0/16网段。
  • 可临时将NLB目标组的preserve_client_ip设为false(仅支持IP模式目标组),测试是否能正常访问。若访问正常,即可确认是源IP透传导致的回路由或权限问题。

6. 抓包定位流量断点

  • 在本地客户端抓包,确认请求已发送至NLB IP。
  • 在NLB所在子网的节点抓包,确认是否接收来自本地的请求。
  • 在运行Istio Gateway的EKS节点抓包,确认是否收到请求及是否发送回包。
  • 若EKS节点发送了回包但本地未收到,检查Direct Connect的路由和VGW配置,确认回包路径是否正确。

内容的提问来源于stack exchange,提问作者Morariu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 14:45:56