ローカルモードの開始方法 - Amazon SageMaker AI

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

ローカルモードの開始方法

以下のセクションでは、Amazon SageMaker Studio でローカルモードを開始するために必要な、次の手順の概要を示します。

  • 前提条件を満たす

  • EnableDockerAccess の設定

  • Docker のインストール

前提条件

Studio アプリケーションでローカルモードを使用するには、次の前提条件を満たす必要があります。

  • Amazon Elastic Container Registry リポジトリからイメージを取得するために、Amazon ECR イメージをホストするアカウントから、ユーザーの実行ロールにアクセス許可を付与する必要があります。ドメインの実行ロールで Amazon ECR へのアクセスを許可する必要もあります。

  • 次のコマンドを使用して、最新バージョンの Studio Python SDK を使用していることを確認します: 

    pip install -U sagemaker
  • ローカルモードとDocker機能を使用するには、 AWS Command Line Interface () DockerSettingsを使用してドメインの の次のパラメータを設定しますAWS CLI。 

    EnableDockerAccess : ENABLED
  • EnableDockerAccess を使用すると、ドメイン内のユーザーにローカルモードの使用を許可するかどうかも制御できます。デフォルトでは、Studio アプリケーションでのローカルモードと Docker 機能の使用は許可されていません。詳細については、「EnableDockerAccess の設定」を参照してください。

  • Docker のインストール」の手順に従って、Studio アプリケーションに Docker CLI をインストールします。

EnableDockerAccess の設定

以下のセクションでは、ドメインがパブリックインターネットにアクセスできるか、または VPC-only モードである場合に EnableDockerAccess を設定する方法を示します。

注記

EnableDockerAccess の変更は、ドメインの更新後に作成されたアプリケーションにのみ適用されます。ドメインを更新した後で、新しいアプリケーションを作成している必要があります。

パブリックインターネットアクセス

次のコマンド例は、新しいドメインの作成時、または既存のドメインをパブリックインターネットアクセスで更新する場合に EnableDockerAccess を設定する方法を示しています。

# create new domain aws --region region \ sagemaker create-domain --domain-name domain-name \ --vpc-id vpc-id \ --subnet-ids subnet-ids \ --auth-mode IAM \ --default-user-settings "ExecutionRole=execution-role" \ --domain-settings '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}' \ --query DomainArn \ --output text # update domain aws --region region \ sagemaker update-domain --domain-id domain-id \ --domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}'

VPC-only モード

ドメインを VPC-only モードで使用する場合、Docker イメージのプッシュリクエストとプルリクエストは、顧客が設定した VPC ではなく、サービスの VPC を使用してルーティングされます。そのため管理者は、ユーザーに Amazon ECR Docker のプルリクエストとプッシュリクエストの送信を許可する、信頼された AWS アカウント のリストを設定できます。

信頼されたDocker のリストに含まれ AWS アカウント ていない に対してイメージのプッシュまたはプルリクエストが行われた場合 AWS アカウント、リクエストは失敗します。Amazon Elastic Container Registry (Amazon ECR) 外のDockerプルおよびプッシュオペレーションは、 VPC-only モードではサポートされていません。

デフォルトで、以下 AWS アカウント が信頼されています。

  • SageMaker AI ドメインをホストするアカウント。

  • 次の SageMaker AI イメージをホストする SageMaker AI アカウント:

    • DLC フレームワークイメージ

    • イメージを処理する Sklearn、Spark、XGBoost

追加の信頼された のリストを設定するには AWS アカウント、次のようにVpcOnlyTrustedAccounts値を指定します。

aws --region region \ sagemaker update-domain --domain-id domain-id \ --domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED", "VpcOnlyTrustedAccounts": ["account-list"]}}'

Docker のインストール

Docker を使用するには、Studio アプリケーションのターミナルから手動で Docker をインストールする必要があります。ドメインがインターネットにアクセスできるかどうかによって、Docker のインストール手順は異なります。

インターネットアクセス

ドメインがパブリックインターネットアクセスありで作成されている場合、または VPC-only モードで、インターネットアクセスが制限された状態で作成されている場合は、次の手順で Docker をインストールします。

  1. (オプション) ドメインが VPC-only モードで、インターネットアクセスが制限された状態で作成されている場合は、Docker ウェブサイトにアクセス可能なパブリック NAT ゲートウェイを作成します。手順については、「NAT gateways」を参照してください。

  2. Docker をインストールする Studio アプリケーションのターミナルに移動します。

  3. アプリケーションのオペレーティングシステムを返すには、ターミナルから次のコマンドを実行します:

    cat /etc/os-release
  4. Amazon DockerAmazon SageMaker AI Local Mode Examples リポジトリのアプリケーションのオペレーティングシステムに関する指示に従って をインストールします。

    例えば、Docker をUbuntu にインストールする場合は、https://github.com/aws-samples/amazon-sagemaker-local-mode/blob/main/sagemaker_studio_docker_cli_install/sagemaker-ubuntu-focal-docker-cli-install.shのスクリプトに従います。以下の点を考慮してください。

    • 連鎖コマンドが失敗する場合は、コマンドを 1 つずつ実行します。

    • Studio は Docker バージョン 20.10.X. および Docker Engine API バージョン 1.41 のみをサポートします。

    • 以下のパッケージは Studio で Docker CLI を使用する際に必要ないため、インストールをスキップできます。

      • containerd.io

      • docker-ce

      • docker-buildx-plugin

    注記

    アプリケーションで Docker サービスを起動する必要はありません。Studio アプリケーションをホストするインスタンスが、デフォルトで Docker サービスを実行します。すべての Docker API コールは、自動的に Docker サービスを経由してルーティングされます。

  5. Studio アプリケーション内で Docker とやり取りするために、公開された Docker ソケットを使用します。デフォルトでは、次のソケットが公開されます。

    unix:///docker/proxy.sock

    この公開されたソケットを、デフォルトの USER に対する次の Studio アプリケーション環境変数が使用します。

    DOCKER_HOST

インターネットアクセスがない場合

ドメインが VPC-only モードで、インターネットアクセスなしで作成されている場合は、次の手順で Docker をインストールします。

  1. Docker をインストールする Studio アプリケーションのターミナルに移動します。

  2. ターミナルから次のコマンドを実行して、アプリケーションのオペレーティングシステムを返します。

    cat /etc/os-release
  3. Docker の .deb ファイルをローカルマシンにダウンロードします。Studio アプリケーションのオペレーティングシステムごとに必要なファイルをダウンロードする手順については、「Install Docker Engine」を参照してください。

    例えば、Ubuntu のパッケージから Docker をインストールするには、以下の点を考慮しながら、「Install from a package」の手順 1~4 に従います。

    • パッケージから Docker をインストールします。他の方法を使用して Docker をインストールすると失敗します。

    • Docker バージョン 20.10.X に対応する最新のパッケージをインストールします。

    • Studio で Docker CLI を使用するために、次のパッケージは必要ありません。インストールは不要です:

      • containerd.io

      • docker-ce

      • docker-buildx-plugin

    注記

    アプリケーションで Docker サービスを起動する必要はありません。Studio アプリケーションをホストするインスタンスが、デフォルトで Docker サービスを実行します。すべての Docker API コール、自動的に Docker サービスを経由してルーティングされます。

  4. .deb ファイルを Amazon EFS ファイルシステム、またはアプリケーションの Amazon EBS ファイルシステムにアップロードします。

  5. Studio アプリケーションターミナルから docker-ce-cli および docker-compose-plugin .deb パッケージを手動でインストールします。詳細と手順については、Docker のドキュメントウェブサイトの「Install from a package」の手順 5 を参照してください。

  6. Studio アプリケーション内で Docker とやり取りするために、公開された Docker ソケットを使用します。デフォルトでは、次のソケットが公開されます。

    unix:///docker/proxy.sock

    この公開されたソケットを、デフォルトの USER に対する次の Studio アプリケーション環境変数が使用します。

    DOCKER_HOST