批量计算节点间的东西向流量,正是安全、性能和成本三块短板重合的地方,多数团队把监控重心放在出入公网的南北向流量,内网节点之间的高速数据交换反而没人看,等发现时通常已经是任务变慢、账单异常或者横向渗透完成之后。
东西向流量和南北向流量区别:批量计算节点为什么总被漏掉
南北向流量好理解,就是客户端到服务器的流量,经过公网入口、负载均衡、NAT网关,有明确边界,监控面板上天然突出,东西向流量指VPC内部、子网内部、节点与节点之间的流量,批量计算节点之间的参数同步、数据分发、Shuffle通信,基本都属于东西向流量。
流量模型里的盲区
行业共识认为,数据中心内部东西向流量在总流量中占相当大比例,但多数监控体系对它的可见性远低于南北向流量。
- 云监控默认面板通常突出公网入/出带宽、NAT网关、负载均衡,内网网卡流量藏在二级菜单里。
- VPC内部流量不经过公网网关,很多团队默认“内网不会出事”。
- 安全组为了任务启动方便,大量放行同子网甚至同VPC的全部流量,规则越宽松,东西向流量越不可见。
批量计算场景的放大效应
批量计算不是普通Web服务,节点间通信有很强的突发性和周期性。
- 分布式训练任务启动时,所有节点同时拉取镜像和数据集,东西向流量瞬时冲高,容易触发限速。
- 参数服务器与训练节点之间的梯度同步,不是大文件传输,而是大量小报文,网络设备连接表压力远高于带宽压力。
- 大数据任务的Shuffle阶段,节点两两通信,连接数接近节点数量的平方,安全组和ACL规则会被快速放大。
| 对比项 | 南北向流量 | 东西向流量 |
|---|---|---|
| 经过路径 | 公网、NAT、负载均衡 | VPC内部、子网内、节点间 |
| 默认可见性 | 较高 | 较低 |
| 常见风险 | 外部攻击、DDoS | 横向渗透、数据泄露、性能争抢 |
| 典型瓶颈 | 公网带宽 | 内网网卡、交换机、存储IO |
| 适合工具 | 防火墙、WAF | VPC流日志、主机连接追踪、微分段 |
批量计算节点间流量分析工具:先看清再动手
看东西向流量,不能只靠云监控的带宽曲线,带宽曲线只能告诉你网卡忙,不能告诉你谁在和谁通信、为什么通信,批量计算场景需要三类工具配合。
云厂商VPC流日志
简米云、酷番云、AWS等主流云厂商都提供VPC流日志,这是最直接的东西向流量记录手段。
- 开启后记录五元组、字节数、包数、接受或拒绝状态,不抓取载荷,性能影响很小。
- 操作路径示例:VPC控制台 -> 流日志 -> 创建流日志 -> 资源类型选择弹性网卡或子网 -> 投递到日志服务。
- 查询时重点过滤
action=REJECT记录,可以快速发现安全组拦截的异常东西向请求。 - 建议保留7天,只记录内网互访,不收集公网出入向,减少日志量和存储费用。
主机侧命令与连接追踪
云厂商流日志有延迟,排查实时问题时需要直接登录节点看连接状态。
ss -tnp看当前TCP连接和进程名,适合快速确认哪个PID在向哪个节点发数据。watch -n 1 'ss -tnp | sort -k4 -nr | head'按发送队列排序,看哪些连接在堆积。conntrack -L -o extended查看连接跟踪表,能看到内网会话的字节数和状态。nethogs按进程显示实时带宽,适合迅速找到抢内网带宽的进程。tcpdump -i eth0 'not port 22' -s 96 -c 50000 -w eastwest.pcap抓内网流量包,但限制快照长度和包数,避免影响任务。
通信拓扑可视化
批量计算节点有明确角色,例如参数服务器、训练节点、数据加载节点,把角色和连接关系叠加,异常更容易暴露。
- 从任务调度器导出节点角色标签,Kubernetes中可以用
kubectl get nodes --show-labels。 - 把流日志按源IP和目标IP聚合,生成热力图。
- 正常训练时,热力图应集中在对角线附近的角色组之间,出现孤立点到多点连接,要优先排查。
云服务器东西向流量监控方法:三条可落地路径
东西向流量监控不需要一开始就上重型方案,三条路径按投入从低到高排列,可以分阶段落地。
VPC流日志开起来
- 不要一开始全网开启,先选批量计算所在的
/24或/26子网。 - 日志服务主题按环境分开:训练环境、推理环境、大数据环境。
- 设置告警:当REJECT记录数量在5分钟内明显超过平时基线,触发通知。
- 流日志字段里
bytes和packets都值得看,扫描类行为往往包量异常但带宽不高。
节点级监控和eBPF
- 在计算节点部署基于eBPF的采集器,可以拿到PID或POD级别的内网收发速率。
- 使用
tcptop这类工具,快速显示TCP连接吞吐排行。 - 对RoCE/RDMA网络,查看网卡计数器:
ethtool -S eth0 | grep -E 'drop|error|overflow'。 - 很多训练性能下降,根因不是算力,而是内网丢包和重传。
安全组与ACL命中计数
安全组规则的命中次数是现成的监控信号,控制台直接可见,而且通常不额外收费。
- 若某条放行规则命中量在任务启动阶段激增,属于正常。
- 任务停止后命中量仍然维持高位,说明对应端口的东西向流量还在持续,需要排查。
- 网络ACL放在子网边界,入方向和出方向分开计数,适合统计子网间粗粒度流量。
内网东西向流量怎么排查:一个AI训练集群的实操顺序
排查东西向流量,最怕一上来就抓全量包,那样既慢又容易影响业务,按下面三步走,能快速缩小范围。
第一步:确认流量基线
- 先记录正常训练时的内网带宽曲线,知道梯度同步的周期性峰值大概什么时间出现。
- 使用
sar -n DEV 5连续采集网卡统计,导出CSV后用脚本找突变点。 - 基线不仅看带宽,还要看包量,因为广播、扫描类行为包量特征更明显。
第二步:定位异常会话
- 优先查长连接和异常端口,而不是只看总量。
- 执行
ss -tanp | awk 'NR>1 {print $1, $5, $6}' | sort | uniq -c | sort -nr | head -20,列出连接最多的远端地址。 - 关注源端口随机但目标端口固定且非业务端口的连接。
- 对Kubernetes节点,结合
kubectl get pods -o wide把IP映射到工作负载。
第三步:对比安全组规则
- 将流日志中
action=ACCEPT的异常会话列出来,看是否命中过于宽松的入方向规则。 - 临时收紧规则时,先克隆一个安全组,修改后替换节点组,不要直接改原规则。
- 对反复出现的异常源IP,可在节点上临时隔离,但先确认它不是参数服务器或存储节点。
东西向流量安全防护方案:从看见到管住
能看见之后,下一步是把东西向流量管起来,批量计算节点的安全组如果还是“内网全放行”,看见也白看。
微分段策略
业内专家指出,边界防御不可能覆盖内网横向移动,东西向防护必须前移到节点和网卡层面。
- 按节点角色划分安全组:参数服务器组、训练节点组、数据加载组、管理节点组。
- 只允许训练节点访问参数服务器的特定端口,数据加载组只访问存储端口。
- 管理平面与数据平面分离,控制面端口不向计算节点开放。
- 微分段不是把每个节点单独分组,而是按角色分,粒度太细运维成本会很高。
批量计算专用安全组模板
- 入方向:仅允许管理跳板机的SSH或RDP,以及任务调度器端口。
- 出方向:允许访问内部镜像仓库、DNS、日志服务、参数服务器端口,其余拒绝。
- 使用Terraform或云厂商资源编排服务管理安全组模板,每次变更可审计。
- 每新增一批节点,复制模板并加入对应角色组,不要手动逐条创建。
常见问题QA
东西向流量监控收费吗?
多数云厂商对VPC流日志按采集和存储量计费,开启后会增加日志服务费用,部分基础监控指标免费,但详细流记录通常收费,先对批量计算子网开启,设置较短保留期,例如7天,可以控制成本,安全组命中计数一般免费,适合做第一层观察。
东西向流量和南北向流量区别会影响安全策略吗?
会,南北向流量经过边界设备,可在防火墙、WAF、NAT层做统一拦截,东西向流量在VPC内部直接通信,不经过这些设备,安全策略必须落到节点安全组、子网ACL和主机防火墙,忽略这种区别,等于给横向渗透留了一条没有安检的内部通道。
批量计算节点间的东西向流量异常怎么快速定位?
先开启子网级VPC流日志,查看拒绝记录和突增会话数,在可疑节点上用ss -tnp和conntrack -L确认进程与远端地址,最后把异常连接同安全组规则比对,多数情况下,非任务端口的批量连接往往来自错误配置或横向扫描。
批量计算节点间的东西向流量不是没有风险,只是没有被看见,把流日志、节点连接追踪、安全组计数三件事串起来,至少能让东西向流量从盲区变成可测量、可告警、可处置的对象。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/638360.html





