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

在Amazon SageMaker中为分布式训练作业配置安全组:XGBoost脚本模式下的最小入站/出站端口规则问询

SageMaker XGBoost脚本模式分布式训练:最小安全组规则配置

嘿,这个问题我之前帮团队排查过——SageMaker脚本模式下的XGBoost分布式训练,确实会因为安全组限制导致容器间通信失败,核心是要搞清楚它依赖的通信通道,然后配置最小必要的规则:

首先得明确,SageMaker的分布式XGBoost训练靠两个关键通信机制:节点间的SSH控制,以及XGBoost参数服务器(PS)和Worker之间的梯度/参数同步。下面是你需要配置的最小规则:

入站规则(Inbound)

只需要允许同一安全组内的节点访问以下端口:

  • TCP 22:SageMaker用SSH来管理整个训练集群的节点,比如启动进程、同步训练状态,这是分布式训练的基础控制通道,绝对不能少。
  • TCP 9090-9094:这是XGBoost默认的参数服务器与Worker节点之间的通信端口段,用来传递梯度、同步模型参数。如果你的训练脚本自定义了XGBoost的通信端口,就对应调整这个区间,但默认用这个范围完全足够。

规则的「源」直接设为当前安全组的ID(比如sg-1234abcd),这样只有训练集群内部的容器能访问,避免外部无关流量进来。

出站规则(Outbound)

同样针对同一安全组内的节点,允许访问:

  • TCP 22:节点需要主动发起SSH连接到集群内的其他节点。
  • TCP 9090-9094:Worker节点要主动和参数服务器通信,参数服务器之间也需要同步数据。

另外,必须加一条出站规则:允许TCP 443(HTTPS)访问——因为训练作业需要和SageMaker控制平面交互(比如拉取训练数据、上报训练状态、保存模型到S3)。如果要更严格,可以限制到AWS SageMaker和S3的服务IP范围,但如果追求简便又安全,允许到0.0.0.0/0也没问题(毕竟HTTPS本身是加密的)。

关键提醒

绝对不要把这些端口开放到公网!所有节点间的通信规则都要限制在同一安全组内,这样既能保证分布式训练正常跑,又不会暴露不必要的端口给外部。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 13:57:34