ネットワーク管理 - SageMaker Studio 管理のベストプラクティス

ネットワーク管理

SageMaker Studio ドメインを設定するには、VPC ネットワーク、サブネット、セキュリティグループを指定する必要があります。VPC とサブネットを指定するときは、以下のセクションで説明する使用量と予想される増加率を考慮して IP を割り当ててください。

VPC ネットワークの計画

SageMaker Studio ドメインに関連するお客様の VPC サブネットは、以下の要因に応じて、適切な Classless Inter-Domain Routing (CIDR) 範囲を使用して作成する必要があります。

  • ユーザー数。

  • ユーザーごとのアプリの数。

  • ユーザーごとの一意なインスタンスタイプの数。

  • ユーザーごとのトレーニングインスタンスの平均数。

  • 予想される増加率。

以下のユースケースにおいて、SageMaker および AWS の参加サービスは、Elastic Network Interface (ENI) をお客様の VPC サブネット内に挿入します。

  • Amazon EFS は SageMaker ドメインの EFS マウントターゲットに ENI を挿入します (SageMaker ドメインにアタッチされたサブネット/アベイラビリティーゾーンごとに 1 つの IP)。

  • SageMaker Studio は、ユーザープロファイルまたは共有スペースで使用する一意のインスタンスごとに ENI を挿入します。次に例を示します。

    • ユーザープロファイルがデフォルトの Jupyter サーバーアプリ (1 つの「システム」インスタンス)、データサイエンスアプリと Base Python アプリ (両方とも ml.t3.medium インスタンス上で実行) を実行する場合、Studio は 2 つの IP アドレスを挿入します。

    • ユーザープロファイルがデフォルトの Jupyter サーバーアプリ (1 つの「システム」インスタンス)、Tensorflow GPU アプリ (ml.g4dn.xlarge インスタンス上)、データラングラーアプリ (ml.m5.4xlarge インスタンス上) を実行する場合、Studio は 3 つの IP アドレスを挿入します。

  • ドメインの VPC サブネット/アベイラビリティーゾーンにわたって VPC エンドポイントごとに ENI が挿入されます (SageMaker VPC エンドポイントには 4 つの IP が挿入され、S3、ECR、CloudWatch などの参加サービスには最大 6 つの IP が挿入されます)。

  • SageMaker のトレーニングジョブと処理ジョブを同じ VPC 設定で起動する場合、各ジョブにはインスタンスごとに 2 つの IP アドレスが必要です。

注記

サブネットや VPC 専用トラフィックなどの SageMaker Studio の VPC 設定は、SageMaker Studio で作成したトレーニング/処理ジョブには自動的に渡されません。ユーザーは Create*Job API を呼び出すときに、状況に応じて VPC 設定とネットワーク分離を設定する必要があります。詳細については、「トレーニングおよび推論コンテナをインターネット無料モードで実行する」を参照してください。

シナリオ: データサイエンティストが 2 つの異なるインスタンスタイプで実験を行う

このシナリオでは、SageMaker ドメインが VPC 専用トラフィックモードで設定されていると仮定します。SageMaker API、SageMaker ランタイム、Amazon S3、Amazon ECR などの VPC エンドポイントが設定されています。

データサイエンティストが Studio ノートブックで実験を行い、 2 つの異なるインスタンスタイプ (ml.t3.medium と ml.m5.large など) で実行し、インスタンスタイプごとに 2 つのアプリを起動します。

データサイエンティストが ml.m5.4xlarge インスタンスでも同じ VPC 設定で同時にトレーニングジョブを実行していると仮定します。

このシナリオの場合、SageMaker Studio サービスは次のように ENI を挿入します。

表 1 — 実験シナリオでお客様の VPC に挿入された ENI

エンティティ ターゲット ENI の挿入数 メモ レベル
EFS マウントターゲット VPC サブネット 3 3 つの AZ/サブネット ドメイン
VPC エンドポイント VPC サブネット 30 3 つの AZ/サブネット (それぞれに 10 個の VPCE) ドメイン
Jupyter Server VPC サブネット 1 インスタンスごとに 1 つの IP ユーザー
KernelGateway アプリ VPC サブネット 2 インスタンスタイプごとに 1 つの IP ユーザー
トレーニング VPC サブネット 2

トレーニングインスタンスごとに 2 つの IP

EFA を使用する場合は、トレーニングインスタンスごとに 5 つの IP

ユーザー

このシナリオでは、お客様の VPC で合計 38 個の IP を消費します。そのうち、33 個の IP はドメインレベルでユーザー間で共有し、5 個の IP はユーザーレベルで消費します。このドメインで同様のユーザープロファイルを持つ 100 人のユーザーがこれらのアクティビティを同時に実行する場合、ユーザーレベルでは 5×100 = 500 個の IP を消費することになります。これとは別に、ドメインレベルではサブネットごとに 11 個の IP を消費するため、合計で 511 個の IP になります。このシナリオの場合、VPC サブネット CIDR を /22 で作成する必要があります。これにより、1024 個の IP アドレスが割り当てられ、拡張の余地が残ります。

VPC ネットワークのオプション

SageMaker Studio ドメインは、以下のオプションのいずれかを使用した VPC ネットワークの設定をサポートしています。

  • パブリックインターネット専用

  • VPC 専用

パブリックインターネット専用オプションを使用すると、次の図に示すように、SageMaker API サービスは、SageMaker サービスアカウントが管理する VPC でプロビジョニングされたインターネットゲートウェイ経由でパブリックインターネットを使用できます。

デフォルトモード: SageMaker サービスアカウント経由のインターネットアクセス。

デフォルトモード: SageMaker サービスアカウント経由のインターネットアクセス

VPC 専用オプションを使用すると、次の図に示すように、SageMaker サービスアカウントが管理する VPC からのインターネットルーティングが無効になり、お客様は VPC エンドポイント経由のトラフィックルーティングを設定できます。

VPC 専用モード: SageMaker サービスアカウント経由のインターネットアクセスなし。

VPC 専用モード: SageMaker サービスアカウント経由のインターネットアクセスなし

VPC 専用モードで設定したドメインの場合は、ユーザープロファイルごとにセキュリティグループを設定して、基盤となるインスタンスを完全に分離します。AWS アカウント内のドメインごとに独自の VPC 設定とインターネットモードを使用できます。VPC ネットワーク設定の構成の詳細については、「VPC 内の SageMaker Studio ノートブックを外部リソースに接続する」を参照してください。

制限事項

  • SageMaker Studio ドメインの作成後に、新しいサブネットを関連付けることはできません。

  • VPC ネットワークタイプ (パブリックインターネット専用または VPC 専用) を変更することはできません。