推論レコメンダージョブに Amazon VPC 内のリソースへのアクセス許可を付与する - Amazon SageMaker AI

推論レコメンダージョブに Amazon VPC 内のリソースへのアクセス許可を付与する

注記

推論レコメンダーでは、モデルを Model Registry に登録する必要があります。Model Registry では、モデルアーティファクトや Amazon ECR イメージを VPC には制限できないことに注意してください。

推論レコメンダーには、サンプルペイロードの Amazon S3 オブジェクトが VPC に制限されないという要件もあります。推論のレコメンデーションジョブでは、プライベート VPC からのリクエストのみが Amazon S3 バケットにアクセスできるようにするカスタムポリシーを作成することはできません。

プライベート VPC 内のサブネットとセキュリティグループを指定するには、CreateInferenceRecommendationsJob API の RecommendationJobVpcConfig リクエストパラメータを使用するか、SageMaker AI コンソールでレコメンデーションジョブを作成する際に、この情報を指定します。

推論レコメンダーはこの情報を使用してエンドポイントを作成します。エンドポイントをプロビジョンする際、SageMaker AI はネットワークインターフェイスを作成し、それをエンドポイントに接続します。ネットワークインターフェイスは、エンドポイントに VPC へのネットワーク接続を提供します。次に、CreateInferenceRecommendationsJob へのコールに含める VpcConfig パラメータの例を示します。

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

Amazon VPC を推論レコメンダージョブで使用するように設定する方法の詳細については、以下のトピックを参照してください。

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

VPC サブネットには、推論のレコメンデーションジョブの各インスタンスにプライベート IP アドレスが少なくとも 2 つ必要です。サブネットとプライベート IP アドレスの詳細については、「Amazon VPC ユーザーガイド」の「Amazon VPC の仕組み」を参照してください。

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

インターネットへのアクセスをブロックするように VPC を設定した場合、アクセスを許可する VPC エンドポイントを作成しない限り、推論レコメンダーはモデルを含む Amazon S3 バケットに接続できません。VPC エンドポイントを作成することで、データとモデルのアーティファクトを保存するバケットに SageMaker AI 推論レコメンデーションがアクセスできるようにします。

次の手順に従って Amazon S3 VPC エンドポイントを作成します。

  1. [Amazon VPC コンソール] を開きます。

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

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

  4. [ゲートウェイタイプ] を選択します。

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

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

  7. [Policy] (ポリシー) で、[Full Access] (フルアクセス) を選択して、VPC 内の任意のユーザーまたはサービスによる Amazon S3 サービスへのフルアクセスを許可します。

Amazon VPC で実行される推論レコメンダージョブのアクセス許可をカスタム IAM ポリシーに追加する

AmazonSageMakerFullAccess 管理ポリシーには、エンドポイントでの Amazon VPC アクセス用に設定されたモデルを使うのに必要なアクセス許可が含まれます。これらのアクセス許可により、推論レコメンダーは Elastic Network Interface を作成し、それを Amazon VPC で実行されている推論のレコメンデーションジョブにアタッチできます。独自の IAM ポリシーを使う場合、次のアクセス許可をそのポリシーに追加して、Amazon 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", "ec2:ModifyNetworkInterfaceAttribute" ], "Resource": "*" } ] }

ルートテーブルを設定する

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

VPC セキュリティグループを設定する

推論のレコメンデーションジョブのセキュリティグループで、Amazon S3 VPC エンドポイントおよび推論のレコメンデーションジョブに使用されるサブネット CIDR 範囲へのアウトバウンド通信を許可する必要があります。詳細については、Amazon VPC ユーザーガイドの「セキュリティグループのルール」と「エンドポイントポリシーを使用して VPC エンドポイントへのアクセスを制御する」を参照してください。