

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

# 让 Amazon SageMaker Clarify Jobs 访问您的亚马逊 VPC 中的资源
<a name="clarify-vpc"></a>

为了控制对您的数据和 SageMaker Clarify 任务的访问，我们建议您创建一个私有 Amazon VPC 并对其进行配置，使其无法通过公共互联网访问您的任务。有关创建和配置用于处理任务的 Amazon VPC 的信息，请参阅[授予 SageMaker 处理任务访问您的 Amazon VPC 中资源的](https://docs.amazonaws.cn/sagemaker/latest/dg/process-vpc)权限。

本文档介绍如何添加符合 Clarify 任务要求的其他 Amazon VPC 配置。 SageMaker 

**Topics**
+ [为亚马逊 VPC 访问配置 Clarify Job SageMaker](#clarify-vpc-config)
+ [为 SageMaker 澄清任务配置您的私有 Amazon VPC](#clarify-vpc-vpc)

## 为亚马逊 VPC 访问配置 Clarify Job SageMaker
<a name="clarify-vpc-config"></a>

在为 Clarify 任务配置私有 Amazon VPC 时，您需要指定子网和安全组，并使任务能够在计算训练后偏差指标和有助于解释模型预测的功能贡献时从 SageMaker AI 模型中获取 AI 模型的推论。 SageMaker 

**Topics**
+ [SageMaker 澄清 Job Amazon VPC 子网和安全组](#clarify-vpc-job)
+ [配置用于推理的 Amazon VPC 模型](#clarify-vpc-model)

### SageMaker 澄清 Job Amazon VPC 子网和安全组
<a name="clarify-vpc-job"></a>

根据您创建任务的方式，可以通过多种方式将私有 Amazon VPC 中的子网和安全组分配给 Clarify 任务。 SageMaker 
+ **SageMaker AI 控制台**：在 A **SageMaker I 控制面板**中创建任务时提供此信息。从**处理**菜单中选择**处理作业**，然后选择**创建处理作业**。在**网络**面板中选择 **VPC** 选项，然后使用下拉列表提供子网和安全组。确保此面板中提供的网络隔离选项已关闭。
+ **SageMaker API**：使用 [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateProcessingJob](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateProcessingJob)API 的`NetworkConfig.VpcConfig`请求参数，如以下示例所示：

  ```
  "NetworkConfig": {
      "VpcConfig": {
          "Subnets": [
              "subnet-0123456789abcdef0",
              "subnet-0123456789abcdef1",
              "subnet-0123456789abcdef2"
          ],
          "SecurityGroupIds": [
              "sg-0123456789abcdef0"
          ]
      }
  }
  ```
+ **SageMaker Python SDK**：使用 [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.SageMakerClarifyProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.SageMakerClarifyProcessor)API 或 [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.processing.Processor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.processing.Processor)API 的`NetworkConfig`参数，如以下示例所示：

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

SageMaker AI 使用这些信息来创建网络接口，并将它们连接到 Clarif SageMaker y 作业。网络接口提供了 Clari SageMaker fy 任务，其网络连接位于您的 Amazon VPC 中，但未连接到公共互联网。它们还允许 Clar SageMaker ify 任务连接到您的私有 Amazon VPC 中的资源。

**注意**  
必须关闭 Clarify 作业的网络隔离选项（默认情况下，该选项处于关闭状态），这样 Clarify 作业才能与影子端点通信。 SageMaker SageMaker 

### 配置用于推理的 Amazon VPC 模型
<a name="clarify-vpc-model"></a>

为了计算训练后的偏差指标和可解释性，Clarify 作业需要从 Clarify 处理作业的[分析配置`model_name`](https://docs.amazonaws.cn/sagemaker/latest/dg/clarify-configure-processing-jobs.html#clarify-processing-job-configure-analysis)参数指定的 SageMaker AI 模型中获取推论。 SageMaker SageMaker 或者，如果您在 SageMaker AI Python SDK 中使用 `SageMakerClarifyProcessor` API，则作业需要获得[ModelConfig](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.ModelConfig)类`model_name`指定的值。为此，Clarify 任务使用模型创建一个临时终端节点，称为*影子终端节点*，然后将模型的 Amazon VPC 配置应用于影子终端节点。 SageMaker 

要将私有 Amazon VPC 中的子网和安全组指定给 SageMaker AI 模型，请使用 [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateModel](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateModel)API 的`VpcConfig`请求参数，或者在使用控制台中的 SageMaker AI 控制面板创建模型时提供此信息。以下是您在调用 `CreateModel` 时将包含的 `VpcConfig` 参数的示例：

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

您可以使用 Clarify 处理任务的[分析配置`initial_instance_count`](https://docs.amazonaws.cn/sagemaker/latest/dg/clarify-configure-processing-jobs.html#clarify-processing-job-configure-analysis)参数来指定要启动的影子端点 SageMaker 的实例数量。或者，如果您在 SageMaker AI Python SDK 中使用 `SageMakerClarifyProcessor` API，则作业需要获得[ModelConfig](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.ModelConfig)类`instance_count`指定的值。

**注意**  
即使您在创建影子终端节点时只请求一个实例，也需要模型中至少有两个子网[ModelConfig](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.ModelConfig)位于不同的可用区。否则无法创建影子端点并会显示以下错误：  
ClientError: 托管端点时出错 sagemaker-clarify-endpoint-XXX：失败。原因：找不到至少 2 个与 SageMaker AI 子网重叠的请求实例类型为 YYY 的可用区。

如果您的模型需要 Amazon S3 中的模型文件，则模型 Amazon VPC 需要有一个 Amazon S3 VPC 端点。有关为 A SageMaker I 模型创建和配置 Amazon VPC 的更多信息，请参阅[让 SageMaker AI 托管的终端节点访问您的 Amazon VPC 中的资源](host-vpc.md)。

## 为 SageMaker 澄清任务配置您的私有 Amazon VPC
<a name="clarify-vpc-vpc"></a>

通常，您可以按照[配置您的私有 VPC 进行 SageMaker 处理中的步骤为](https://docs.amazonaws.cn/sagemaker/latest/dg/process-vpc.html#process-vpc-vpc) SageMaker 澄清任务配置您的私有 Amazon VPC。以下是 Clarify 职位的一些亮点和特殊要求。 SageMaker 

**Topics**
+ [连接到 Amazon VPC 之外的资源](#clarify-vpc-nat)
+ [配置 Amazon VPC 安全组](#clarify-vpc-security-group)

### 连接到 Amazon VPC 之外的资源
<a name="clarify-vpc-nat"></a>

如果您将 Amazon VPC 配置为不允许 SageMaker 公共互联网访问，则需要进行一些额外的设置才能让 Clarify 任务访问您的 Amazon VPC 之外的资源和服务。例如，需要一个 Amazon S3 VPC 终端节点，因为 Clarify 任务需要从 S3 存储桶加载数据集并将分析结果保存到 S3 存储桶。 SageMaker 有关更多信息，请参阅创建指南中的[创建 Amazon S3 VPC 端点](https://docs.amazonaws.cn/sagemaker/latest/dg/process-vpc.html#process-vpc-s3)。此外，如果 Cl SageMaker arify 作业需要从影子端点获取推论，则它需要再调用多个 Amazon 服务。
+ **创建亚马逊 SageMaker API 服务 VPC 终端节点**：Clarify 任务需要调用亚马逊 SageMaker API 服务来操作影子终端节点，或者描述用于亚马逊 VPC 验证的 A SageMaker I 模型。 SageMaker 您可以按照使用[保护所有 Amazon SageMaker API 调用 Amazon PrivateLink](https://www.amazonaws.cn/blogs/machine-learning/securing-all-amazon-sagemaker-api-calls-with-aws-privatelink/)博客中提供的指导创建允许 Clarify 任务进行服务调用的 Amazon SageMaker API VPC 终端节点。 SageMaker 请注意，亚马逊 SageMaker API 服务的服务名称是`com.amazonaws.region.sagemaker.api`，其中*region*是您的亚马逊 VPC 所在地区的名称。
+ **创建 Amazon SageMaker AI 运行时 VPC 终端节点**：Clarify 任务需要调用 Amazon SageMaker AI 运行时服务，该服务将调用路由到影子终端节点。 SageMaker 设置步骤与亚马逊 SageMaker API 服务的设置步骤类似。请注意，Amazon A SageMaker I 运行时服务的服务名称是`com.amazonaws.region.sagemaker.runtime`，其中*region*是您的 Amazon VPC 所在地区的名称。

### 配置 Amazon VPC 安全组
<a name="clarify-vpc-security-group"></a>

SageMaker 当通过以下方式之一指定两个或多个处理实例时，Clarify 作业支持分布式处理：
+ **SageMaker AI 控制台**：**实例计数**是在**创建处理作业****页面上任务设置**面板的**资源配置**部分中指定的。
+ **SageMaker API**：`InstanceCount`是在您使用 API 创建任务时指定[https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateProcessingJob](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateProcessingJob)的。
+ **SageMaker Python 开发工具包**：`instance_count`是在使用 [SageMakerClarifyProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.SageMakerClarifyProcessor)API 或[处理器](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.processing.Processor) API 时指定的。

在分布式处理中，您必须允许在同一处理作业中的不同实例之间进行通信。为此，请为您的安全组配置规则，以允许同一安全组的成员之间实现入站连接。有关信息，请参阅[安全组规则](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#SecurityGroupRules)。