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

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

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

注記

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

Amazon VPC Access のトレーニングジョブを設定する

トレーニングジョブへのアクセスを制御するには、インターネットにアクセスできないプライベートサブネットVPCを持つ Amazon でそれらを実行します。

で実行するトレーニングジョブを設定するには、サブネットとセキュリティグループ VPCを指定しますIDs。トレーニングジョブのコンテナのサブネットを指定する必要はありません。Amazon は、Amazon からトレーニングコンテナイメージ SageMaker を自動的にプルしますECR。

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

を使用するにはAPI、 CreateTrainingJobオペレーションの VpcConfigパラメータIDsでサブネットとセキュリティグループを指定します。 SageMaker は、サブネットとセキュリティグループの詳細を使用してネットワークインターフェイスを作成し、トレーニングコンテナにアタッチします。ネットワークインターフェイスは、トレーニングコンテナに 内のネットワーク接続を提供しますVPC。これにより、トレーニングジョブは に存在するリソースに接続できますVPC。

以下は、 CreateTrainingJobオペレーションの呼び出しに含める VpcConfigパラメータの例です。

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

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

VPC SageMaker トレーニングジョブにプライベートを設定するときは、次のガイドラインを使用します。のセットアップの詳細についてはVPC、「Amazon VPCユーザーガイド」の「 VPCsおよびサブネットの使用」を参照してください。

サブネットに十分な IP アドレスを確保する

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

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

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

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

S3 VPCエンドポイントを作成するには
  1. で Amazon VPCコンソールを開きますhttps://console.aws.amazon.com/vpc/

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

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

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

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

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

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

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

デフォルトのエンドポイントポリシーでは、 内の任意のユーザーまたはサービスに対して S3 へのフルアクセスを許可しますVPC。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 URLs ( などhttp://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket) が解決されるようにします。DNS デフォルト設定を使用しない場合は、トレーニングジョブ内のデータの場所を指定するために使用する URLsが、エンドポイントルートテーブルを設定して解決されることを確認します。VPC エンドポイントルートテーブルの詳細については、「Amazon VPCユーザーガイド」の「ゲートウェイエンドポイントのルーティング」を参照してください。

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

分散型トレーニングでは、同じトレーニングジョブ内の異なるコンテナ間の通信を許可する必要があります。そのためには、同じセキュリティグループのメンバー間のインバウンド接続を許可するセキュリティグループのルールを設定します。EFAが有効なインスタンスの場合、インバウンド接続とアウトバウンド接続の両方で、同じセキュリティグループからのすべてのトラフィックが許可されていることを確認します。詳細については、「Amazon Virtual Private Cloud ユーザーガイド」の「セキュリティグループのルール」を参照してください。

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

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

CloudWatch ログとメトリクスによる Amazon SageMaker トレーニングジョブのモニタリング

Amazon SageMaker は、トレーニングジョブをモニタリングするための Amazon CloudWatch ログとメトリクスを提供します。 CloudWatch はCPU、、GPU、メモリ、GPUメモリ、ディスクのメトリクス、およびイベントログ記録を提供します。Amazon SageMaker トレーニングジョブのモニタリングの詳細については、Amazon SageMaker で Amazon をモニタリングする CloudWatch「」および「」を参照してくださいSageMaker ジョブとエンドポイントメトリクス