Amazon VPC 内のリソースへのアクセス権を SageMaker トレーニングジョブに付与する - Amazon SageMaker

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

Amazon VPC 内のリソースへのアクセス権を SageMaker トレーニングジョブに付与する

注記

トレーニングジョブの場合は、デフォルトのテナンシー VPC でのみサブネットを設定できます。このデフォルトでは、インスタンスが共有ハードウェアで実行されます。VPC のテナンシー属性の詳細については、「ハードウェア専有インスタンス」を参照してください。

Amazon VPC Access 用にトレーニングJob を設定する

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

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

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

SageMaker トレーニング用にプライベート VPC を設定する

プライベート VPC を SageMaker トレーニングジョブ用に設定する場合は、以下のガイドラインに従います。VPC を設定する方法の詳細については、「」を参照してください。VPC とサブネットの使用Amazon VPC User Guide

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

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

Amazon S3 VPC エンドポイント

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

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

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

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

  3. を使用する場合サービス名で、検索com.amazonaws.リージョンs3ここで、とします。リージョンは VPC が存在するリージョンの名前です。

  4. [ゲートウェイタイプを作成することができます。

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

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

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

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

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

ルートテーブルの設定

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

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

分散型トレーニングでは、同じトレーニングジョブ内の異なるコンテナ間の通信を許可する必要があります。そのためには、同じセキュリティグループのメンバー間のインバウンド接続を許可するセキュリティグループのルールを設定します。詳細については、「セキュリティグループルール」を参照してください。

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

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

  • トレーニングジョブがインターフェイス VPC エンドポイントをサポートする AWS サービスにアクセスする必要がある場合は、そのサービスに接続するためのエンドポイントを作成します。インターフェイスエンドポイントをサポートするサービスのリストについては、「」を参照してください。VPC エンドポイントAmazon VPC User Guide。インターフェイス VPC エンドポイント作成の詳細については、「」を参照してください。インターフェイス VPC エンドポイント (AWSPrivateLink)Amazon VPC User Guide

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