

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon VPC のリソースへのアクセス権を Amazon SageMaker Clarify ジョブに付与する
<a name="clarify-vpc"></a>

データおよび SageMaker Clarify ジョブへのアクセスを制御するには、プライベート Amazon VPC を作成して設定し、パブリックインターネット経由でジョブにアクセスできないようにすることをお勧めします。処理ジョブ用の Amazon VPC の作成および設定については、「[Amazon VPC のリソースへのアクセス権を SageMaker 処理ジョブに付与する](https://docs.aws.amazon.com/sagemaker/latest/dg/process-vpc)」を参照してください。

このドキュメントでは、SageMaker Clarify ジョブの要件を満たす追加の Amazon VPC 設定を追加する方法を説明します。

**Topics**
+ [Amazon VPC アクセス用に SageMaker Clarify ジョブを設定する](#clarify-vpc-config)
+ [SageMaker Clarify ジョブ用にプライベート Amazon VPC を設定する](#clarify-vpc-vpc)

## Amazon VPC アクセス用に SageMaker Clarify ジョブを設定する
<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 ダッシュボード]** でジョブを作成する際に、この情報を指定します。**[Processing]** (処理) メニューで **[Processing jobs]** (処理ジョブ) を選択し、**[Create processing job]** (処理ジョブを作成) を選択します。**[ネットワーク]** パネルで **[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 または [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 は、この情報を使用してネットワークインターフェイスを作成し、SageMaker Clarify ジョブにアタッチします。ネットワークインターフェイスは、パブリックインターネットに接続されていない Amazon VPC 内のネットワーク接続を SageMaker Clarify ジョブに提供します。また、プライベート Amazon VPC 内のリソースへの接続を SageMaker Clarify ジョブに許可します。

**注記**  
SageMaker Clarify ジョブがシャドウエンドポイントと通信できるように、SageMaker Clarify ジョブのネットワーク分離オプションをオフにする必要があります (デフォルトではこのオプションはオフになっています)。

### 推論用にモデル Amazon VPC を設定する
<a name="clarify-vpc-model"></a>

トレーニング後のバイアスメトリクスと説明可能性を計算するには、SageMaker Clarify ジョブは、SageMaker Clarify 処理ジョブの[分析設定](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-configure-processing-jobs.html#clarify-processing-job-configure-analysis)の `model_name` パラメータで指定された SageMaker AI モデルから推論を取得する必要があります。また、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 設定をシャドウエンドポイントに適用します。

SageMaker AI モデルに、プライベート Amazon VPC 内のサブネットとセキュリティグループを指定するには、[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` をジョブで取得する必要があります。

**注記**  
シャドウエンドポイントの作成時にインスタンスを 1 つだけリクエストする場合でも、個別のアベイラビリティーゾーン内のモデルの [ModelConfig](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.ModelConfig) には少なくとも 2 つのサブネットが必要です。2 つ以上のサブネットがない場合は、シャドウエンドポイントの作成に失敗し、次のエラーが表示されます。  
ClientError: Error hosting endpoint sagemaker-clarify-endpoint-XXX: Failed. Reason: Unable to locate at least 2 availability zone(s) with the requested instance type YYY that overlap with SageMaker AI subnets.

モデルで Amazon S3 のモデルファイルが必要な場合、モデル Amazon VPC には Amazon S3 VPC エンドポイントが必要です。SageMaker AI モデル用の Amazon VPC の作成と設定については、「[Amazon VPC のリソースへのアクセス権を SageMaker AI のホストされたエンドポイントに付与する](host-vpc.md)」を参照してください。

## SageMaker Clarify ジョブ用にプライベート Amazon VPC を設定する
<a name="clarify-vpc-vpc"></a>

SageMaker Clarify ジョブ用にプライベート Amazon VPC を設定する場合は、通常、「[Configure Your Private VPC for SageMaker Processing](https://docs.aws.amazon.com/sagemaker/latest/dg/process-vpc.html#process-vpc-vpc)」(SageMaker Processing 用のプライベート 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 外部のリソースやサービスへのアクセス権を付与するための、追加設定が必要になります。例えば、SageMaker Clarify ジョブは S3 バケットからデータセットをロードし、分析結果を S3 バケットに保存しなければならないため、Amazon S3 VPC エンドポイントが必要です。詳細については、作成ガイドの「[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 VPC 検証用の SageMaker AI モデルを記述したりするには、Amazon SageMaker API サービスを呼び出す必要があります。「[すべての Amazon SageMaker API コールを AWS PrivateLink で保護する](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 ジョブは、以下のいずれかの方法で 2 つ以上の処理インスタンスが指定されている場合、分散処理をサポートします。
+ **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 または [Processor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.processing.Processor) API を使用して `instance_count` を指定する場合。

分散型処理では、同じ処理ジョブ内の異なるインスタンス間の通信を許可する必要があります。そのためには、同じセキュリティグループのメンバー間のインバウンド接続を許可するセキュリティグループのルールを設定します。詳細については、「[セキュリティグループルール](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#SecurityGroupRules)」を参照してください。