为 Amazon SageMaker 授予您 Amazon VPC 中的资源的访问权限 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

为 Amazon SageMaker 授予您 Amazon VPC 中的资源的访问权限

要控制对数据和 SageMaker Clity 作业的访问,建议您创建一个私有 Amazon VPC,并将其配置为不可通过公有 Internet 访问。有关创建和配置 Amazon VPC 以处理作业的信息,请参阅为 SageMaker 处理作业授予您 Amazon VPC 中的资源的访问权限.

本文档介绍了如何添加符合 SageMaker 澄清作业要求的其他 Amazon VPC 配置。

为亚马逊 VPC 访问配置 SageMaker 澄清 Job

在为 SageMaker Classic 作业配置您的私有 Amazon VPC 时,您需要指定子网和安全组,并在计算训练后偏差指标和功能贡献时,使作业能够从 SageMaker 模型中获取推断,以帮助解释模型预测。

SageMaker 澄清 Job 亚马逊 VPC 子网和安全组

您的私有 Amazon VPC 中的子网和安全组可以通过各种方式分配给 SageMaker 澄清作业,具体取决于您创建作业的方式。

  • SageMaker 控制台:在创建任务时需要提供此信息。SageMaker 控制面板. 从处理菜单中,选择处理作业,然后选择创建处理作业. 选择VPC选项网络面板并使用下拉列表提供子网和安全组。确保此面板中提供的网络隔离选项设置为禁用。

  • SageMaker API:使用NetworkConfig.VpcConfig请求参数CreateProcessingJobAPI,如以下示例所示:

    "NetworkConfig": { "VpcConfig": { "Subnets": [ "subnet-0123456789abcdef0", "subnet-0123456789abcdef1", "subnet-0123456789abcdef2" ], "SecurityGroupIds": [ "sg-0123456789abcdef0" ] } }
  • SageMaker Python 开发工具包:使用NetworkConfigParameterSageMakerClarifyProcessorAPI 或ProcessorAPI,如以下示例所示:

    from sagemaker.network import NetworkConfig network_config = NetworkConfig( subnets=[ "subnet-0123456789abcdef0", "subnet-0123456789abcdef1", "subnet-0123456789abcdef2", ], security_group_ids=[ "sg-0123456789abcdef0", ], )

SageMaker 使用信息创建网络接口,并将其连接到 SageMaker 澄清作业。这些网络接口在未连接到公有 Internet 的 Amazon VPC 中为 SageMaker Clity 作业提供网络连接。它们还允许 SageMaker Clarity 作业连接到私有 Amazon VPC 中的资源。

配置模型亚马逊 VPC 进行推断

为了计算训练后偏差量度量和解释性,SageMaker Clelity 作业需要从 SageMaker 模型中获取推断,该模型由model_nameParameter分析配置查看 SageMaker 澄清处理作业。或者,如果您使用SageMakerClarifyProcessorAPI,工作需要获取model_name指定的模型配置类。为了实现这一点,SageMaker 澄清作业会创建一个带有模型的临时端点,称为影子终端节点,然后将模型的 Amazon VPC 配置应用于影子终端节点。

注意

必须禁用 SageMaker Clelity 作业和模型的网络隔离选项(默认情况下该选项处于禁用状态),以便 SageMaker Clelity 作业可以与阴影端点进行通信。

要将私有 Amazon VPC 中的子网和安全组指定到 SageMaker 模型,请使用VpcConfig请求参数CreateModelAPI 或在您使用控制台中的 SageMaker 仪表板创建模型时提供此信息。以下是您在调用 CreateModel 时将包含的 VpcConfig 参数的示例:

"VpcConfig": { "Subnets": [ "subnet-0123456789abcdef0", "subnet-0123456789abcdef1", "subnet-0123456789abcdef2" ], "SecurityGroupIds": [ "sg-0123456789abcdef0" ] }

您可以指定要使用initial_instance_countParameter分析配置查看 SageMaker 澄清处理作业。或者,如果您使用SageMakerClarifyProcessorAPI,工作需要获取instance_count指定的模型配置类。

注意

即使在创建影子端点时仅请求一个实例,也需要模型的模型配置在不同的可用区域中。否则,阴影终端节点创建失败,并显示如下错误:

ClientError 名称:托管端点萨格制造商-克拉菲-端点-XXX 时出错:失败。原因:无法找到至少 2 个具有请求实例类型 YYY 且与 SageMaker 子网重叠的可用区。

如果您的模型需要 Amazon S3 中的模型文件,则模型 Amazon VPC 需要具有 Amazon S3 VPC 终端节点。有关为 SageMaker 模型创建和配置 Amazon VPC 的更多信息,请参阅为 SageMaker 托管终端节点授予您 Amazon VPC 中的资源的访问权限.

为 SageMaker 澄清作业配置您的私有亚马逊 VPC

通常,您可以按照配置私有 VPC 以进行 SageMaker 处理为 SageMaker 澄清作业配置您的私有亚马逊 VPC。以下是 SageMaker 澄清工作的一些亮点和特殊要求。

Connect 到 Amazon VPC 之外的资源

如果您将 Amazon VPC 配置为不具有公共互联网访问权限,则需要进行一些额外的设置,才能授予 SageMaker Clearle 作业访问 Amazon VPC 以外的资源和服务的权限。例如,需要 Amazon S3 VPC 终端节点,因为 SageMaker Clarity 任务需要从 S3 存储桶加载数据集并将分析结果保存到 S3 存储桶中。有关更多信息,请参阅 。创建 Amazon S3 VPC 终端节点了解创建指南。此外,如果 SageMaker Clelity 作业需要从阴影端点获取推断,那么它需要调用多个Amazon服务。

  • 创建亚 Amazon SageMaker API 服务 VPC 终端节点:SageMaker 澄清作业需要调用 Amazon SageMaker API 服务来操作影子终端节点,或者描述 SageMaker 模型以进行亚马逊 VPC 验证。您可以遵循保护所有 Amazon SageMaker API 调用安全AmazonPrivateLink博客创建 Amazon SageMaker API VPC 终端节点,该终端节点允许 SageMaker 澄清作业进行服务调用。请注意,亚 Amazon SageMaker API 服务的服务名称为com.amazonaws.region.sagemaker.api其中,区域是您的 Amazon VPC 所在地区的名称。

  • 创建 Amazon SageMaker 运行时 VPC 终端节点:SageMaker 澄清作业需要调用 Amazon SageMaker 运行时服务,该服务将调用路由到影子终端节点。设置步骤与 Amazon SageMaker API 服务的步骤类似。请注意,亚 Amazon SageMaker 运行时服务的服务名称为com.amazonaws.region.sagemaker.runtime其中,区域是您的 Amazon VPC 所在地区的名称。

配置 Amazon VPC 安全组

当以下列方式之一指定两个或多个处理实例时,SageMaker 澄清作业支持分布式处理:

  • SageMaker 控制台:这些区域有:实例计数中指定的资源配置的一部分Job 设置面板上创建处理作业页.

  • SageMaker API:这些区域有:InstanceCount创建作业时指定CreateProcessingJobAPI。

  • SageMaker Python 开发工具包:这些区域有:instance_count在使用萨格制造商澄清处理器API 或处理器API。

在分布式处理中,您必须允许同一处理作业中的不同实例之间进行通信。为此,请为您的安全组配置规则,以允许同一安全组的成员之间实现入站连接。想要了解有关信息,请参阅安全组规则.