

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

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

データと処理ジョブへのアクセスを制御するには、プライベートサブネットを使用して Amazon VPC を作成します。VPC の作成と設定の詳細については、「*Amazon VPC ユーザーガイド*」の「[Amazon VPC の使用を開始する](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-getting-started.html)」を参照してください。

VPC フローログを使用すると、処理コンテナで送受信するすべてのネットワークトラフィックをモニタリングできます。詳細については、「Amazon VPC ユーザーガイド」の「[VPC フローログを使用した IP トラフィックのログ記録](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html)」を参照してください。

このドキュメントでは、処理ジョブの Amazon VPC 設定を追加する方法を説明します。

## Amazon VPC アクセス用の処理ジョブを設定する
<a name="process-vpc-configure"></a>

処理ジョブを設定を設定するには、VPC 内のサブネットとセキュリティグループ ID を指定します。処理コンテナのサブネットを指定する必要はありません。Amazon AI SageMaker は、Amazon ECR から処理コンテナを自動的にプルします。コンテナの処理の詳細については、「[SageMaker Processing によるデータ変換ワークロード](processing-job.md)」を参照してください。

処理ジョブを作成する際は、SageMaker AI コンソールまたは API を使用して VPC 内のサブネットとセキュリティグループを指定できます。

API を使用するには、[ CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html) オペレーションの `NetworkConfig.VpcConfig` パラメータでサブネットとセキュリティグループ ID を指定します。SageMaker AI は、サブネットとセキュリティグループの詳細を使用してネットワークインターフェイスを作成して処理コンテナにアタッチします。ネットワークインターフェイスは、VPC 内での処理コンテナへのネットワーク接続を提供します。これにより、処理ジョブは VPC に配置されているリソースに接続できます。

`VpcConfig` への呼び出しに含める `CreateProcessingJob` パラメータの例は、以下のとおりです。

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

## SageMaker AI 処理用のプライベート VPC を設定する
<a name="process-vpc-vpc"></a>

プライベート VPC を SageMaker AI 処理ジョブ用に設定する場合、次のガイドラインに従います。VPC のセットアップについては、Amazon VPC ユーザーガイドの「[VPC とサブネットの使用](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/working-with-vpcs.html)」を参照してください。**

**Topics**
+ [サブネットに十分な IP アドレスを確保する](#process-vpc-ip)
+ [Amazon S3 VPC エンドポイントを作成する](#process-vpc-s3)
+ [カスタムエンドポイントポリシーを使用して S3 へのアクセスを制限する](#process-vpc-policy)
+ [ルートテーブルの設定](#process-vpc-route-table)
+ [VPC セキュリティグループを設定する](#process-vpc-groups)
+ [VPC の外部のリソースに接続する](#process-vpc-nat)
+ [CloudWatch のログとメトリクスを使って Amazon SageMaker Processing ジョブをモニタリングする](#process-vpc-cloudwatch)

### サブネットに十分な IP アドレスを確保する
<a name="process-vpc-ip"></a>

VPC サブネットには、処理ジョブの各インスタンス用プライベート IP アドレスが少なくとも 2 つ必要です。詳細については、*Amazon VPC ユーザーガイド*の [IPv4 用の VPC とサブネットのサイズ設定](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#vpc-sizing-ipv4)を参照してください。

### Amazon S3 VPC エンドポイントを作成する
<a name="process-vpc-s3"></a>

処理コンテナがインターネットにアクセスできないように VPC を設定した場合、アクセスを許可する VPC エンドポイントを作成しない限り、処理コンテナはデータを含む Amazon S3 バケットに接続できません。VPC エンドポイントを作成することで、データとモデルのアーティファクトを保存するバケットに処理コンテナがアクセスできるようにします。プライベート VPC からのリクエストのみに S3 バケットへのアクセスを許可するカスタムポリシーも作成することをお勧めします。詳細については、[Amazon S3 のエンドポイント](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-s3.html)を参照してください。

**S3 VPC エンドポイントを作成するには**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ナビゲーションペインで [**エンドポイント**] を選択し、[**エンドポイントの作成**] を選択します。

1. **[Service Name]** (サービス名) で、**com.amazonaws.*region*.s3** を選択します。この場合、*region* は VPC が存在するリージョンの名前になります。

1. **[VPC]**] で、エンドポイントに使用する VPC を選択します。

1. [**Configure route tables**] で、エンドポイントで使用するルートテーブルを選択します。VPC サービスで、選択した各ルートテーブルに、S3 トラフィックを新しいエンドポイントに向けるルートが自動的に追加されます。

1. [**ポリシー**] で、[**フルアクセス**] を選択して、VPC 内の任意のユーザーまたはサービスによる S3 サービスへのフルアクセスを許可します。アクセスを詳細に制限するには、[**カスタム**] を選択します。詳細については、「[カスタムエンドポイントポリシーを使用して S3 へのアクセスを制限する](#process-vpc-policy)」を参照してください。

### カスタムエンドポイントポリシーを使用して S3 へのアクセスを制限する
<a name="process-vpc-policy"></a>

デフォルトのエンドポイントポリシーでは、VPC のすべてのユーザーまたはサービスに対して S3 へのフルアクセスが許可されています。S3 へのアクセスを詳細に制限するには、カスタムエンドポイントポリシーを作成します。詳細については、「[Amazon S3 のエンドポイントポリシー](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)」を参照してください。バケットポリシーを使って、S3 バケットへのアクセスを Amazon VPC からのトラフィックのみに制限することもできます。詳細については、「[Amazon S3 バケットポリシー](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-s3-bucket-policies)」を参照してください。

#### 処理コンテナへのパッケージのインストールの制限
<a name="process-vpc-policy-repos"></a>

デフォルトエンドポイントポリシーでは、ユーザーは、Amazon Linux と Amazon Linux 2 のリポジトリからのパッケージを処理コンテナにインストールできます。ユーザーがそのリポジトリからパッケージをインストールしないようにする場合は、Amazon Linux と Amazon Linux 2 のリポジトリへのアクセスを明示的に拒否するカスタムエンドポイントポリシーを作成します。これらのリポジトリへのアクセスを拒否するポリシーの例を次に示します。

```
{ 
    "Statement": [ 
      { 
        "Sid": "AmazonLinuxAMIRepositoryAccess",
        "Principal": "*",
        "Action": [ 
            "s3:GetObject" 
        ],
        "Effect": "Deny",
        "Resource": [
            "arn:aws:s3:::packages.*.amazonaws.com/*",
            "arn:aws:s3:::repo.*.amazonaws.com/*"
        ] 
      } 
    ] 
} 

{ 
    "Statement": [ 
        { "Sid": "AmazonLinux2AMIRepositoryAccess",
          "Principal": "*",
          "Action": [ 
              "s3:GetObject" 
              ],
          "Effect": "Deny",
          "Resource": [
              "arn:aws:s3:::amazonlinux.*.amazonaws.com/*" 
              ] 
         } 
    ] 
}
```

### ルートテーブルの設定
<a name="process-vpc-route-table"></a>

エンドポイントルートテーブルのデフォルトの DNS 設定を使って、標準 Amazon S3 URL (例えば、`http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket`) が解決されるようにします。デフォルトの DNS 設定を使用しない場合は、エンドポイントルートテーブルを設定することで、処理ジョブのデータの場所の指定に使用する URL が解決されるようにします。VPC エンドポイントルートテーブルについては、Amazon VPC ユーザーガイドの「[ゲートウェイエンドポイントのルーティング](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)」を参照してください。**

### VPC セキュリティグループを設定する
<a name="process-vpc-groups"></a>

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

### VPC の外部のリソースに接続する
<a name="process-vpc-nat"></a>

モデルを実行している VPC 外のリソースに接続する場合は、次のいずれかを実行します。
+ **他の AWS サービスに接続する** – モデルがインターフェイス Amazon VPC エンドポイントをサポートする AWS サービスにアクセスする必要がある場合は、そのサービスに接続するエンドポイントを作成します。インターフェイスエンドポイントをサポートするサービスのリストについては、「 AWS PrivateLink ユーザーガイド」の[AWS 「 と統合されるサービス AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/aws-services-privatelink-support.html)」を参照してください。インターフェイス VPC エンドポイントの作成の詳細については、 AWS PrivateLink 「 ユーザーガイド[」の「インターフェイス VPC エンドポイントを使用して AWS サービスにアクセスする](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)」を参照してください。
+ **インターネット経由でリソースに接続する** — モデルがインターネットにアクセスできるサブネットを持たない Amazon VPC 内のインスタンスで実行されている場合、モデルはインターネット上のリソースにアクセスできません。モデルがインターフェイス VPC エンドポイントをサポートしていない AWS サービス、または 外のリソースにアクセスする必要がある場合は AWS、パブリックサブネットのパブリック NAT ゲートウェイを使用してインターネットにアクセスできるプライベートサブネットでモデルを実行していることを確認してください。プライベートサブネットでモデルを実行したら、プライベートサブネットからパブリックサブネットのパブリック NAT ゲートウェイへのアウトバウンド接続を許可するようにセキュリティグループとネットワークアクセスコントロールリスト (NACL) を設定します。詳細については、「Amazon VPC ユーザーガイ」ドの「[NAT ゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html )」を参照してください。

### CloudWatch のログとメトリクスを使って Amazon SageMaker Processing ジョブをモニタリングする
<a name="process-vpc-cloudwatch"></a>

Amazon SageMaker AI は、トレーニングジョブをモニタリングするための Amazon CloudWatch ログとメトリクスを提供します。CloudWatch は、CPU、GPU、メモリ、GPU メモリ、ディスクメトリクス、イベントログを提供します。SageMaker 処理ジョブの詳細については、「[Amazon CloudWatch における Amazon SageMaker AI メトリクス](monitoring-cloudwatch.md)」と「[SageMaker AI ジョブメトリクス](monitoring-cloudwatch.md#cloudwatch-metrics-jobs)」を参照してください。