

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 允許 Amazon SageMaker Clarify 任務存取您 Amazon VPC 中的資源
<a name="clarify-vpc"></a>

為了控制對您的資料和 SageMaker Clarify 任務的存取，建議您建立一個私有 Amazon VPC，並設定為任務無法經由公用網際網路存取。有關建立和配置 Amazon VPC 以處理作業的資訊，請參閱[允許 SageMaker Processing 工作存取您的 Amazon VPC 中的資源](https://docs.aws.amazon.com/sagemaker/latest/dg/process-vpc)。

本文件說明如何新增符合 SageMaker Clarify 任務需求的其他 Amazon VPC 組態。

**Topics**
+ [設定 SageMaker Clarify 任務存取的 Amazon VPC](#clarify-vpc-config)
+ [設定 SageMaker Clarify 任務存取私有 Amazon VPC](#clarify-vpc-vpc)

## 設定 SageMaker Clarify 任務存取的 Amazon VPC
<a name="clarify-vpc-config"></a>

您需要在為 SageMaker Clarify 任務設定您的私有 Amazon VPC 時指定子網路和安全群組，也需要在計算訓練後偏差指標和特徵貢獻時，使任務能夠從 SageMaker AI 模型取得推論，以協助說明模型預測。

**Topics**
+ [SageMaker Clarify 任務 Amazon VPC 子網路和安全群組](#clarify-vpc-job)
+ [設定用於推論的模型 Amazon VPC](#clarify-vpc-model)

### SageMaker Clarify 任務 Amazon VPC 子網路和安全群組
<a name="clarify-vpc-job"></a>

您的私有 Amazon VPC 中的子網路和安全群組可以透過各種方式將指派給 SageMaker Clarify 任務，具體取決於您建立任務的方式。
+ **SageMaker AI 主控台**：在 **SageMaker AI 儀表板**中建立任務時，請提供此資訊。從**處理**功能表中選擇**處理工作**，然後選擇**建立處理工作**。在**網路**面板中選取 **VPC** 選項，然後使用下拉式清單提供子網路和安全群組。確定此面板中提供的網路隔離選項已關閉。
+ **SageMaker API**：使用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob](https://docs.aws.amazon.com/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 的 `NetworkConfig` 參數，或 [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，如下列範例所示：

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

SageMaker AI 會使用這些資訊來建立網路介面，並將其連接至 SageMaker Clarify 任務。網路介面會為 SageMaker Clarify 提供 Amazon VPC 內的網路連線，該連線不會連至公用網際網路。它們也可讓 SageMaker Clarify 任務連線到私有 Amazon VPC 中的資源。

**注意**  
必須關閉 SageMaker Clarify 任務的網路隔離選項 (預設會關閉此選項)，以便 SageMaker Clarify 任務可以與影子端點通訊。

### 設定用於推論的模型 Amazon VPC
<a name="clarify-vpc-model"></a>

為了計算訓練後偏差指標和可解釋性，SageMaker Clarify 任務需要從 SageMaker AI 模型取得推論，而此模型是[分析組態](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-configure-processing-jobs.html#clarify-processing-job-configure-analysis) 的 `model_name` 參數為 SageMaker Clarify 處理任務指定的。或者，如果您在 SageMaker AI Python SDK 中使用 `SageMakerClarifyProcessor` API，則任務需要取得 [ModelConfig](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.ModelConfig) 類別所指定的 `model_name`。為了達成此目的，SageMaker Clarify 任務會使用模型 (稱為*影子端點*) 建立暫時端點，然後將模型的 Amazon VPC 組態套用至影子端點。

若要在私有 Amazon VPC 中將子網路和安全群組指定到 SageMaker AI 模型，請使用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel) API 的 `VpcConfig` 請求參數，或在您使用主控台中的 SageMaker AI 儀表板建立模型時提供此資訊。以下為您包含在對 `VpcConfig` 的呼叫內的 `CreateModel` 參數的範例：

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

您可以使用 SageMaker Clarify 處理任務的[分析組態](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-configure-processing-jobs.html#clarify-processing-job-configure-analysis) `initial_instance_count` 參數，指定要啟動的影子端點執行個體數目。或者，如果您在 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 個可用區域，且要求的執行個體類型 YYY 與 SageMaker AI 子網路重疊。

如果您的模型需要 Amazon S3 中的模型檔案，則該模型的 Amazon VPC 需要具有 Amazon S3 VPC 端點。如需為 SageMaker AI 模型建立和設定 Amazon VPC 的詳細資訊，請參閱[讓 SageMaker AI 託管的端點可以存取 Amazon VPC 中的資源](host-vpc.md)。

## 設定 SageMaker Clarify 任務存取私有 Amazon VPC
<a name="clarify-vpc-vpc"></a>

一般來說，您可以按照[為 SageMaker 處理配置您的私有 VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/process-vpc.html#process-vpc-vpc)為 SageMaker 澄清作業配置您的私有亞馬遜 VPC。以下是 SageMaker Clarify 任務的數個重點與特殊要求。

**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 端點，因為 SageMaker Clarify 任務需要從 S3 儲存貯體載入資料集，並將分析結果儲存到 S3 儲存貯體。如需詳細資訊，請參閱建立指南中的[建立 Amazon S3 VPC 端點](https://docs.aws.amazon.com/sagemaker/latest/dg/process-vpc.html#process-vpc-s3)。此外，如果 SageMaker Clarify 任務需要從影子端點取得推論，則需要呼叫更多 AWS 服務。
+ **建立 Amazon SageMaker API 服務 VPC 端點**：SageMaker Clarify 任務需要呼叫 Amazon SageMaker API 服務來操控影子端點，或描述用於 Amazon VPC 驗證的 SageMaker AI 模型。您可以遵循[使用 AWS PrivateLink 保護所有 Amazon SageMaker API 呼叫](https://aws.amazon.com/blogs/machine-learning/securing-all-amazon-sagemaker-api-calls-with-aws-privatelink/)部落格中提供的指引，建立可讓 SageMaker Clarify 任務進行服務呼叫的 Amazon SageMaker API VPC 端點。請注意，Amazon SageMaker API 服務的服務名稱為 `com.amazonaws.{{region}}.sagemaker.api`，其中 {{region}} 是您的 Amazon VPC 所在區域的名稱。
+ **建立 Amazon SageMaker AI 執行時期 VPC 端點**：SageMaker Clarify 工作需要呼叫 Amazon SageMaker AI 執行時期服務，將調用路由到影子端點。設定步驟與 Amazon SageMaker API 服務的設定步驟類似。請注意，Amazon SageMaker AI 執行時期服務的服務名稱為 `com.amazonaws.{{region}}.sagemaker.runtime`，其中 {{region}} 是 Amazon VPC 所在區域的名稱。

### 設定 Amazon VPC 安全群組
<a name="clarify-vpc-security-group"></a>

當以下列其中一種方式指定兩個或多個處理執行個體時，SageMaker Clarify 任務會支援分散式處理：
+ **SageMaker AI 主控台**：**執行個體計數**是在**建立處理任務**頁面上**任務設定**面板的**資源組態**部分中指定的。
+ **SageMaker API**：在您使用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob) API 建立任務時指定 `InstanceCount`。
+ **SageMaker Python SDK**[：在使用 [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)時指定 `instance_count`。

在分散式處理中，必須允許同一處理任務內不同執行個體之間的通訊。若要執行此操作，請為安全群組設定規則，允許相同安全群組成員彼此間的傳入連線。如需資訊，請參閱[安全群組規則](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#SecurityGroupRules)。