カスタム SageMaker イメージをアタッチする - Amazon SageMaker

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

カスタム SageMaker イメージをアタッチする

重要

Amazon SageMaker Studio または Amazon SageMaker Studio Classic が Amazon SageMaker リソースを作成できるようにするカスタムIAMポリシーは、それらのリソースにタグを追加するアクセス許可も付与する必要があります。Studio と Studio Classic は、作成したリソースに自動的にタグ付けするため、リソースにタグを追加するアクセス許可が必要です。IAM ポリシーで Studio と Studio Classic がリソースの作成を許可されていてもタグ付けが許可されていない場合、リソースの作成を試みるとAccessDenied「」エラーが発生する可能性があります。詳細については、「リソースにタグ付けするための SageMakerアクセス許可を提供する」を参照してください。

AWS Amazon のマネージドポリシー SageMaker SageMaker リソースを作成するアクセス許可を付与する には、これらのリソースの作成中にタグを追加するアクセス許可が既に含まれています。

重要

2023 年 11 月 30 日現在、以前の Amazon SageMaker Studio エクスペリエンスは Amazon SageMaker Studio Classic と名付けられています。以下のセクションは、Studio Classic アプリケーションの使用に固有のものです。更新された Studio エクスペリエンスの使用については、「」を参照してくださいAmazon SageMaker Studio

カスタム SageMaker イメージを使用するには、イメージのバージョンをドメインまたは共有スペースにアタッチする必要があります。イメージバージョンをアタッチすると、 SageMaker Studio Classic Launcher に表示され、イメージの選択ドロップダウンリストで使用できます。ユーザーはこれを使用してアクティビティを起動したり、ノートブックで使用されるイメージを変更したりできます。

ドメイン内のすべてのユーザーがカスタム SageMaker イメージを使用できるようにするには、そのイメージをドメインにアタッチします。共有スペース内のすべてのユーザーがイメージを利用できるようにするには、イメージを共有スペースにアタッチします。単一のユーザーがイメージを使用できるようにするには、そのユーザーのプロファイルにイメージをアタッチします。イメージをアタッチすると、 はデフォルトで最新バージョンのイメージ SageMaker を使用します。特定のイメージバージョンをアタッチすることもできます。バージョンをアタッチしたら、ノートブックの起動時に SageMaker Launcher またはイメージセレクタからバージョンを選択できます。

所定の時間にアタッチできるイメージバージョンの数には制限があります。制限に達した場合、別のイメージバージョンをアタッチするには、バージョンをデタッチする必要があります。

以下のセクションでは、 SageMaker コンソールまたは を使用してカスタム SageMaker イメージをドメインにアタッチする方法を示します AWS CLI。共有スペースへのカスタムイメージのアタッチは、 AWS CLIからのみ行えます。

SageMaker イメージをドメインにアタッチする

コンソールを使用して SageMaker イメージをアタッチする

このトピックでは、 SageMaker コントロールパネルを使用して既存のカスタム SageMaker イメージバージョンをドメインにアタッチする方法について説明します。また、カスタム SageMaker イメージとイメージバージョンを作成し、そのバージョンをドメインにアタッチすることもできます。イメージおよびイメージバージョンを作成する手順については、「カスタム SageMaker イメージを作成する」を参照してください。

既存のイメージをアタッチするには
  1. で Amazon SageMaker コンソールを開きますhttps://console.aws.amazon.com/sagemaker/

  2. 左のナビゲーションペインで、[管理設定‭] を選択します。

  3. 管理設定 で、ドメイン を選択します。

  4. ドメインページから、イメージをアタッチするドメインを選択します。

  5. [ドメインの詳細] ページで、[環境] タブを選択します。

  6. 環境タブで、ドメイン にアタッチされた Custom SageMaker Studio Classic イメージで、イメージ をアタッチを選択します。

  7. [イメージソース] で、[既存のイメージ] を選択します。

  8. リストから既存のイメージを 1 つ選択します。

  9. リストからイメージバージョンを選択します。

  10. [Next (次へ)] を選択します。

  11. [イメージ名][イメージ表示名][説明] の値を確認します。

  12. IAM ロールを選択します。詳細については、「カスタム SageMaker イメージを作成する」を参照してください。

  13. (オプション) イメージにタグを追加します。

  14. EFS マウントパスを指定します。これは、ユーザーの Amazon Elastic File System (EFS) ホームディレクトリをマウントするイメージ内のパスです。

  15. イメージタイプ で Studio SageMaker イメージを選択します。

  16. [カーネル名] にイメージ内の既存のカーネルの名前を入力します。イメージからカーネル情報を取得する方法については、DEVELOPMENT SageMaker Studio Classic Custom Image Samples リポジトリの「」を参照してください。詳細については、「カスタム SageMaker イメージ仕様」の「Kernel discovery」セクションと「User data」セクションを参照してください。

  17. (オプション) [カーネル表示名] にカーネルの表示名を入力します。

  18. [カーネルの追加] を選択します。

  19. [送信] を選択します。

    1. イメージバージョンがドメインにアタッチされるのを待ちます。アタッチが完了すると、そのバージョンは [カスタムイメージ] リストで一時的に強調表示されます。

を使用して SageMaker イメージをアタッチする AWS CLI

以下のセクションでは、 を使用して新しいドメインを作成したり、既存のドメインを更新したりするときに、カスタム SageMaker イメージをアタッチする方法を示します AWS CLI。

SageMaker イメージを新しいドメインにアタッチする

次のセクションでは、バージョンをアタッチした新しいドメインを作成する方法を説明します。これらのステップでは、ドメインの作成に必要な Amazon Virtual Private Cloud (VPC) 情報と実行ロールを指定する必要があります。以下のステップを実行してドメインを作成し、カスタム SageMaker イメージをアタッチします。

  • デフォルトの VPC ID とサブネット を取得しますIDs。

  • イメージを指定するドメインの設定ファイルを作成します。

  • 設定ファイルを使ってドメインを作成します。

カスタム SageMaker イメージをドメインに追加するには
  1. デフォルトの VPC ID を取得します。

    aws ec2 describe-vpcs \ --filters Name=isDefault,Values=true \ --query "Vpcs[0].VpcId" --output text

    レスポンスは次のようになります。

    vpc-xxxxxxxx
  2. 前のステップの VPC ID IDsを使用してデフォルトのサブネットを取得します。

    aws ec2 describe-subnets \ --filters Name=vpc-id,Values=<vpc-id> \ --query "Subnets[*].SubnetId" --output json

    レスポンスは次のようになります。

    [ "subnet-b55171dd", "subnet-8a5f99c6", "subnet-e88d1392" ]
  3. create-domain-input.json という名前の設定ファイルを作成します。前のステップAppImageConfigNameの VPC ID、サブネット ImageName、、および IDsを挿入します。ImageVersionNumber が指定されていないため、イメージの最新バージョンが使用されます (今回は、これが唯一存在するバージョンです)。

    { "DomainName": "domain-with-custom-image", "VpcId": "<vpc-id>", "SubnetIds": [ "<subnet-ids>" ], "DefaultUserSettings": { "ExecutionRole": "<execution-role>", "KernelGatewayAppSettings": { "CustomImages": [ { "ImageName": "custom-image", "AppImageConfigName": "custom-image-config" } ] } }, "AuthMode": "IAM" }
  4. カスタム SageMaker イメージがアタッチされたドメインを作成します。

    aws sagemaker create-domain \ --cli-input-json file://create-domain-input.json

    レスポンスは次のようになります。

    { "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx", "Url": "https://d-xxxxxxxxxxxx.studio.us-east-2.sagemaker.aws/..." }

SageMaker イメージを現在のドメインにアタッチする

SageMaker ドメインにオンボーディングしている場合は、カスタムイメージを現在のドメインにアタッチできます。 SageMaker ドメインへのオンボーディングの詳細については、「」を参照してくださいAmazon SageMaker ドメインの概要。カスタムイメージを現在のドメインにアタッチするときに、VPC情報と実行ロールを指定する必要はありません。バージョンをアタッチしたら、ドメイン内のすべてのアプリケーションを削除し、Studio Classic を再度開く必要があります。アプリケーションの削除については、「Amazon SageMaker ドメインを削除する」を参照してください。

以下の手順を実行して、 SageMaker イメージを現在のドメインに追加します。

  • SageMaker コントロールパネルDomainIDから を取得します。

  • DomainID を使ってドメインの DefaultUserSettings を取得します。

  • ImageNameAppImageConfigCustomImage として DefaultUserSettings に追加します。

  • ドメインを更新して、カスタムイメージを含めます。

カスタム SageMaker イメージをドメインに追加するには
  1. で Amazon SageMaker コンソールを開きますhttps://console.aws.amazon.com/sagemaker/

  2. 左のナビゲーションペインで、[管理設定‭] を選択します。

  3. 管理設定 で、ドメイン を選択します。

  4. ドメインページから、イメージをアタッチするドメインを選択します。

  5. [ドメインの詳細] ページで、[ドメインの設定] タブを選択します。

  6. [ドメインの設定] タブの [全般設定]DomainId を探します。ID の形式は d-xxxxxxxxxxxx です。

  7. このドメイン ID を使って、ドメインの説明を取得します。

    aws sagemaker describe-domain \ --domain-id <d-xxxxxxxxxxxx>

    レスポンスは次のようになります。

    { "DomainId": "d-xxxxxxxxxxxx", "DefaultUserSettings": { "KernelGatewayAppSettings": { "CustomImages": [ ], ... } } }
  8. default-user-settings.json という名前のファイルに、レスポンスのデフォルトのユーザー設定セクションを保存します。

  9. 前の手順で取得した ImageNameAppImageConfigName をカスタムイメージとして挿入します。ImageVersionNumber が指定されていないため、イメージの最新バージョンが使用されます (今回は、これが唯一存在するバージョンです)。

    { "DefaultUserSettings": { "KernelGatewayAppSettings": { "CustomImages": [ { "ImageName": "string", "AppImageConfigName": "string" } ], ... } } }
  10. ドメイン ID とデフォルトのユーザー設定ファイルを使って、ドメインを更新します。

    aws sagemaker update-domain \ --domain-id <d-xxxxxxxxxxxx> \ --cli-input-json file://default-user-settings.json

    レスポンスは次のようになります。

    { "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx" }

共有スペースに SageMaker イメージをアタッチする

SageMaker イメージは、 を使用してのみ共有スペースにアタッチできます AWS CLI。バージョンをアタッチしたら、共有スペース内のすべてのアプリケーションを削除し、Studio Classic を再度開く必要があります。アプリケーションの削除については、「Amazon SageMaker ドメインを削除する」を参照してください。

共有スペースに SageMaker イメージを追加するには、次の手順を実行します。

  • SageMaker コントロールパネルDomainIDから を取得します。

  • DomainID を使ってドメインの DefaultSpaceSettings を取得します。

  • ImageNameAppImageConfigCustomImage として DefaultSpaceSettings に追加します。

  • ドメインを更新して、共有スペースのカスタムイメージを含めます。

カスタム SageMaker イメージを共有スペースに追加するには
  1. で Amazon SageMaker コンソールを開きますhttps://console.aws.amazon.com/sagemaker/

  2. 左のナビゲーションペインで、[管理設定‭] を選択します。

  3. 管理設定 で、ドメイン を選択します。

  4. ドメインページから、イメージをアタッチするドメインを選択します。

  5. [ドメインの詳細] ページで、[ドメインの設定] タブを選択します。

  6. [ドメインの設定] タブの [全般設定]DomainId を探します。ID の形式は d-xxxxxxxxxxxx です。

  7. このドメイン ID を使って、ドメインの説明を取得します。

    aws sagemaker describe-domain \ --domain-id <d-xxxxxxxxxxxx>

    レスポンスは次のようになります。

    { "DomainId": "d-xxxxxxxxxxxx", ... "DefaultSpaceSettings": { "KernelGatewayAppSettings": { "CustomImages": [ ], ... } } }
  8. default-space-settings.json という名前のファイルに、レスポンスのデフォルトのスペース設定セクションを保存します。

  9. 前の手順で取得した ImageNameAppImageConfigName をカスタムイメージとして挿入します。ImageVersionNumber が指定されていないため、イメージの最新バージョンが使用されます (今回は、これが唯一存在するバージョンです)。

    { "DefaultSpaceSettings": { "KernelGatewayAppSettings": { "CustomImages": [ { "ImageName": "string", "AppImageConfigName": "string" } ], ... } } }
  10. ドメイン ID とデフォルトのスペース設定ファイルを使用して、ドメインを更新します。

    aws sagemaker update-domain \ --domain-id <d-xxxxxxxxxxxx> \ --cli-input-json file://default-space-settings.json

    レスポンスは次のようになります。

    { "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx" }

でアタッチされたイメージを表示する SageMaker

カスタム SageMaker イメージを作成してドメインにアタッチすると、そのイメージがドメインの環境タブに表示されます。共有スペースのアタッチされたイメージは、 AWS CLI 次のコマンドを使用してのみ表示できます。

aws sagemaker describe-domain \ --domain-id <d-xxxxxxxxxxxx>