保护分布式训练作业中机器学习计算实例之间的通信 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

保护分布式训练作业中机器学习计算实例之间的通信

默认情况下,亚马逊 SageMaker 运行训练工作在 Amazon Virtual Private Cloud (Amazon VPC) 中,以帮助保护您的数据安全。您可以通过配置一个私有 VPC 添加另一层安全性来保护您的训练容器和数据。分布式 ML 框架和算法通常传输与模型直接相关的信息(如权重),而不是传输训练数据集。当执行分布式训练时,您可以进一步保护在实例之间传输的数据。这可以帮助您遵守法规要求。为此,请使用容器间流量加密。

启用容器间流量加密可能会增加训练时间,在您使用分布式深度学习算法时尤其如此。启用容器间流量加密不会影响具有单个计算实例的训练作业。但是,对于具有多个计算实例的训练作业,对训练时间的影响取决于计算实例之间的通信量。对于受影响的算法,添加此另一层安全性还会增加成本。大多数人的训练时间 SageMaker 内置算法(如 XGBoost、DeepAR 和线性学习器)通常不受影响。

您可以为训练作业或超级参数优化作业启用容器间流量加密。您可以使用 SageMaker 启用容器间流量加密的 API 或控制台。

有关在私有 VPC 中运行训练作业的信息,请参阅。授予权 SageMaker 训练作业对 Amazon VPC 中的资源的访问权限.

启用容器间流量加密 (API)

使用 API 在训练或超参数优化作业上启用容器间流量加密之前,您需要将入站和出站规则添加到私有 VPC 的安全组中。

启用容器间流量加密 (API)

  1. 在安全组中为您的私有 VPC 添加以下入站和出站规则:

    协议 端口范围

    UDP

    500

    本身安全组 ID

    ESP 50

    N/A

    本身安全组 ID

  2. 当您将请求发送到CreateTrainingJob要么CreateHyperParameterTuningJobAPI,请指定True(对于 )EnableInterContainerTrafficEncryption参数r。

注意

对于ESP 50协议,Amazon安全组控制台可能会将端口范围显示为 “全部”。但是,Amazon EC2 会忽略指定的端口范围,因为它不适用于 ESP 50 IP 协议。

启用容器间流量加密(控制台)

在训练作业中启用容器间流量加密

在训练作业中启用容器间流量加密

  1. 打开 Amazon SageMaker 控制台https://console.aws.amazon.com/sagemaker/.

  2. 在导航窗格中,选择 Training (训练),然后选择 Training jobs (训练作业)

  3. 选择 Create training job (创建训练作业)

  4. UNDER网络,选择VPC. 可以使用默认 VPC 或您创建的 VPC。

  5. 选择启用容器间流量加密.

启用容器间流量加密后,完成训练作业的创建。有关更多信息,请参阅 第 4 步:训练模型

在超级参数优化作业中启用容器间流量加密

在超级参数优化作业中启用容器间流量加密

  1. 打开 Amazon SageMaker 控制台https://console.aws.amazon.com/sagemaker/.

  2. 在导航窗格中,选择训练,然后选择超参数调整作业.

  3. 选择 Create hyperparameter tuning job (创建超参数优化作业)

  4. UNDER网络,选择VPC. 可以使用默认 VPC 或您创建的 VPC。

  5. 选择 Enable inter-container traffic encryption (启用容器间流量加密)

启用容器间流量加密后,完成超级参数优化作业的创建。有关更多信息,请参阅 配置并启动超参数优化作业