

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

# Amazon VPC のリソースへのアクセス権を SageMaker AI のホストされたエンドポイントに付与する
<a name="host-vpc"></a>

## Amazon VPC アクセス用にモデルを設定する
<a name="host-vpc-configure"></a>

プライベート VPC 内のサブネットとセキュリティグループを指定するには、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API の `VpcConfig` リクエストパラメータを使用するか、SageMaker AI コンソールでモデルを作成する際に、この情報を指定します。SageMaker AI は、この情報を使用してネットワークインターフェイスを作成し、モデルコンテナにアタッチします。ネットワークインターフェイスは、インターネットに接続されていない VPC 内のネットワーク接続をモデルコンテナに提供します。また、モデルがプライベート VPC 内のリソースに接続できるようにします。

**注記**  
ホスティングインスタンスが 1 つしかない場合でも、プライベート VPC 内の異なるアベイラビリティーゾーンに 2 つ以上のサブネットを作成する必要があります。

次に、`VpcConfig` への呼び出しに含める `CreateModel` パラメータの例を示します。

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

## SageMaker AI ホスティング用のプライベート VPC を設定する
<a name="host-vpc-vpc"></a>

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

**Topics**
+ [サブネットに十分な IP アドレスを確保する](#host-vpc-ip)
+ [Amazon S3 VPC エンドポイントを作成する](#host-vpc-s3)
+ [カスタムエンドポイントポリシーを使って Amazon S3 へのアクセスを制限する](#host-vpc-policy)
+ [VPC で実行されているコンテナのエンドポイントアクセスに対するアクセス許可をカスタムの IAM ポリシーに追加する](#host-vpc-endpoints)
+ [ルートテーブルの設定](#host-vpc-route-table)
+ [VPC の外部のリソースに接続する](#model-vpc-nat)

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

Elastic Fabric Adapter (EFA) を使用しないトレーニングインスタンスには、少なくとも 2 つのプライベート IP アドレスが必要です。EFA を使用するトレーニングインスタンスには、少なくとも 5 つのプライベート IP アドレスが必要です。詳細については、「Amazon EC2 ユーザーガイド」の 「[複数の IP アドレス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/MultipleIP.html)」を参照してください。

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

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

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

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

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

1. **サービス名** で、**com.amazonaws.*region*.s3** を選択します。*region* は VPC が存在する AWS リージョンの名前です。

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

1. **[Configure route tables]** (ルートテーブルの設定) で、エンドポイントで使うルートテーブルを選択します。VPC サービスは、選択した各ルートテーブルに自動的にルートを追加し、その Amazon S3 トラフィックが新しいエンドポイントを指すようにします。

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

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

デフォルトのエンドポイントポリシーでは、VPC のすべてのユーザーまたはサービスに対して Amazon Simple Storage Service (Amazon S3) へのフルアクセスが許可されています。Amazon 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="host-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/*" 
              ] 
         } 
    ] 
}
```

### VPC で実行されているコンテナのエンドポイントアクセスに対するアクセス許可をカスタムの IAM ポリシーに追加する
<a name="host-vpc-endpoints"></a>

`SageMakerFullAccess` 管理ポリシーには、エンドポイントでの Amazon VPC アクセス用に設定されたモデルを使うのに必要なアクセス許可が含まれます。これらのアクセス許可により、SageMaker AI は Elastic Network Interface を作成し、それを VPC で実行されているモデルコンテナにアタッチできます。独自の IAM ポリシーを使う場合、次のアクセス許可をそのポリシーに追加して、VPC アクセス用に設定されたモデルを使う必要があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:CreateNetworkInterface"
            ],
            "Resource": "*"
        }
    ]
}
```

------

`SageMakerFullAccess` 管理ポリシーの詳細については、「[AWS マネージドポリシー: AmazonSageMakerFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonSageMakerFullAccess)」を参照してください。

### ルートテーブルの設定
<a name="host-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="model-vpc-nat"></a>

インターネットにアクセスできないように VPC を設定する場合、その VPC を使用するモデルは、VPC の外部のリソースにアクセスできません。モデルが VPC の外部のリソースにアクセスする必要がある場合は、次のいずれかのオプションを使用してアクセスを可能にします。
+ モデルがインターフェイス VPC エンドポイントをサポートする AWS サービスにアクセスする必要がある場合は、そのサービスに接続するエンドポイントを作成します。インターフェイスエンドポイントをサポートするサービスのリストについては、Amazon VPC ユーザーガイドの「[VPC エンドポイント](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html)」を参照してください。**インターフェイス VPC エンドポイントの作成については、*「Amazon* [VPC ユーザーガイド」の「インターフェイス VPC エンドポイント (AWS PrivateLink)](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-interface.html)」を参照してください。
+ モデルがインターフェイス VPC エンドポイントをサポートしていない AWS サービスまたは 外のリソースにアクセスする必要がある場合は AWS、NAT ゲートウェイを作成し、アウトバウンド接続を許可するようにセキュリティグループを設定します。VPC 用の NAT ゲートウェイのセットアップについては、*Amazon Virtual Private Cloud ユーザーガイド*の「[シナリオ 2: パブリックサブネットとプライベートサブネットを持つ VPC (NAT)](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html)」を参照してください。