Give SageMaker Amazon VPC のリソースへのアクセス権は、ホストエンドポイント - Amazon SageMaker

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

Give SageMaker Amazon VPC のリソースへのアクセス権は、ホストエンドポイント

Amazon VPC アクセス用にモデルを設定する

プライベート VPC 内のサブネットとセキュリティグループを指定するには、VpcConfigの request パラメーターCreateModelAPI、または、でモデルを作成するときに、この情報を指定します。 SageMaker console. SageMaker この情報を使用してネットワークインターフェイスを作成し、モデルコンテナにアタッチします。ネットワークインターフェイスは、インターネットに接続されていない VPC 内のネットワーク接続をモデルコンテナに提供します。また、モデルがプライベート VPC 内のリソースに接続できるようにします。

注記

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

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

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

用にプライベート VPC を設定する SageMaker ホスティング

プライベート VPC を SageMaker モデルを使用する場合は、以下のガイドラインに従います。VPC のセットアップについては、Amazon VPC ユーザーガイドの「VPC とサブネットの使用」を参照してください。

サブネットに十分な IP アドレスがあることを確認する

VPC サブネットには、各モデルインスタンス用プライベート IP アドレスが少なくとも 2 つ必要です。詳細については、Amazon VPC ユーザーガイドIPv4 用の VPC とサブネットのサイズ設定を参照してください。

Amazon S3 VPC エンドポイントを作成する

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

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

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

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

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

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

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

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

カスタムエンドポイントポリシーを使って Amazon S3 へのアクセスを制限する

デフォルトのエンドポイントポリシーでは、VPC のすべてのユーザーまたはサービスに対して Amazon Simple Storage Service (Amazon S3) へのフルアクセスが許可されています。Amazon S3 へのアクセスを詳細に制限するには、カスタムエンドポイントポリシーを作成します。詳細については、「Amazon S3 のエンドポイントポリシー」を参照してください。

バケットポリシーを使って、S3 バケットへのアクセスを Amazon VPC からのトラフィックのみに制限することもできます。詳細については、「Amazon S3 バケットポリシー」を参照してください。

カスタムのエンドポイントポリシーでモデルコンテナへのパッケージのインストールを制限する

デフォルトエンドポイントポリシーでは、ユーザーは、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 ポリシーに追加する

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

{ "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 管理ポリシーの詳細については、「AmazonSageMakerFullAccess」を参照してください。

ルートテーブルの設定

エンドポイントルートテーブルのデフォルトの DNS 設定を使って、標準 Amazon S3 URL (例えば、http://s3-aws-region.amazonaws.com/MyBucket) が解決されるようにします。デフォルトの DNS 設定を使用しない場合は、エンドポイントルートテーブルを設定することで、モデルのデータの場所の指定に使用する URL が解決されるようにします。VPC エンドポイントルートテーブルについては、Amazon VPC ユーザーガイドの「ゲートウェイエンドポイントのルーティング」を参照してください。

VPC の外部のリソースに接続する

インターネットにアクセスできないように VPC を設定する場合、その VPC を使用するモデルは、VPC の外部のリソースにアクセスできません。モデルが VPC の外部のリソースにアクセスする必要がある場合は、次のいずれかのオプションを使用してアクセスを可能にします。

  • モデルがインターフェイス VPC エンドポイントをサポートする AWS サービスにアクセスする必要がある場合は、そのサービスに接続するためのエンドポイントを作成します。インターフェイスエンドポイントをサポートするサービスのリストについては、Amazon VPC ユーザーガイドの「VPC エンドポイント」を参照してください。インターフェイス VPC エンドポイントの作成については、Amazon VPC ユーザーガイド の「インターフェイス VPC エンドポイント (AWS プライベートリンク)」を参照してください。

  • モデルが、インターフェイス VPC エンドポイントをサポートしない AWS サービスまたは AWS の外部のリソースにアクセスする必要がある場合は、NAT ゲートウェイを作成し、アウトバウンド接続を許可するようにセキュリティグループを設定します。VPC の NAT ゲートウェイを設定する方法の詳細については、「」を参照してください。シナリオ 2: パブリックサブネットとプライベートサブネットを持つ VPC (NAT)Amazon Virtual Private Cloud ユーザーガイド