ドメインへのカスタムファイルシステムの追加 - Amazon SageMaker AI

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

ドメインへのカスタムファイルシステムの追加

ドメインを作成すると、Amazon SageMaker AI はドメインにデフォルト Amazon Elastic File System (Amazon EFS) ボリュームを追加します。SageMaker AI によってこのボリュームが作成されます。作成したカスタム Amazon EFS またはカスタム Amazon FSx for Lustre ファイルシステムを追加することもできます。追加したファイルシステムは、ドメインに属するユーザーが使用できるようになります。ユーザーは、Amazon SageMaker Studio を使用する際に、追加したファイルシステムにアクセスできます。ファイルシステムは、以下のサポートされているアプリケーション用に作成するスペースにアタッチできます。

  • JupyterLab

  • コードエディタ

スペースを実行してアプリケーションを起動すると、ユーザーはファイルシステムに含まれるデータ、コード、またはその他のアーティファクトにアクセスできます。

ユーザーは、以下の方法でファイルシステムにアクセスできます。

  • 共有スペース経由 – 共有スペースは、ドメインに属するすべてのユーザーが作成できます。作成された共有スペースは、ドメインに属するすべてのユーザーが利用できます。

  • プライベートスペース経由 – プライベートスペースは、ドメインに属するすべてのユーザーが作成できます。作成されたプライベートスペースは、作成したユーザーのみが使用できます。

  • 個別のユーザー専用 – すべてのユーザーがファイルシステムにアクセスできるようにする必要がない場合は、特定のユーザーのみがファイルシステムにアクセスできるように指定できます。このように指定すると、ファイルシステムは、特定のユーザーが作成したプライベートスペースでのみ使用できます。

Amazon SageMaker API、 AWS SDKs、または を使用して、カスタムファイルシステムを追加できます AWS CLI。SageMaker AI コンソールを使用してカスタムファイルシステムを追加することはできません。

前提条件

ドメインにカスタムファイルシステムを追加する前に、次の要件を満たす必要があります。

  • SageMaker AI にドメインがある。ファイルシステムを追加する前に、ドメイン ID が必要です。SageMaker AI コンソールを使用して ID を検索できます。 AWS CLIで list-domains コマンドを実行することもできます。

  • に Amazon EFS または FSx for Lustre ファイルシステムがあります AWS アカウント。

    For Amazon EFS
    • Amazon EFS を作成する手順については、「Amazon Elastic File System ユーザーガイド」の「Amazon EFS ファイルシステムの作成」を参照してください。 Amazon Elastic File System

    • Studio がファイルシステムにアクセスできるようにするには、ドメインに関連付ける各サブネットにマウントターゲットが必要となります。サブネットへのマウントターゲットの割り当ての詳細については、「Amazon Elastic File System ユーザーガイド」の「Creating and managing mount targets and security groups」を参照してください。

    • マウントターゲットごとに、ドメインの作成 AWS アカウント 時に Amazon SageMaker AI が で作成したセキュリティグループを追加する必要があります。セキュリティグループ名は security-group-for-inbound-nfs-domain-id の形式をとります。ドメイン ID を取得する方法については、「」を参照してくださいドメインを表示する

    • IAM 許可で elasticfilesystem:DescribeMountTargets アクションの使用が許可されている必要があります。このアクションの詳細については、「サービス認可リファレンス」の「Actions, resources, and condition keys for Amazon Elastic File System」を参照してください。

    For FSx for Lustre
    • FSx for Lustre ファイルシステムを作成する手順については、「Amazon FSx for Lustre ユーザーガイド」の「Amazon FSx for Lustre の開始方法」を参照してください。FSx for Lustre ファイルシステムが次の場所に存在することを確認します。

      • ドメインと同じ Amazon VPC。

      • ドメインに存在するサブネットの 1 つ。

    • Studio が FSx for Lustre ファイルシステムにアクセスする前に、FSx for Lustre ファイルシステム内のすべての Elastic Network Interface (ENIs) にドメインのセキュリティグループを追加する必要があります。このステップを行わないと、アプリケーションの作成はエラーで失敗します。次の手順に従って、FSx for Lustre ファイルシステム ENIs にドメインセキュリティグループを追加します。

      FSx for Lustre ファイルシステム ENIs にドメインセキュリティグループを追加する (コンソール)
      1. Amazon FSx コンソールに移動します。

      2. [File Systems (ファイルシステム)] を選択します。

      3. ファイルシステム ID の対応するリンクを使用して、FSx for Lustre ファイルシステムを選択します。

      4. まだ選択されていない場合は、ネットワークとセキュリティタブを選択します。

      5. Subnet で すべての ENIs を表示するには、Amazon EC2 コンソールを参照してください。これにより、Amazon EC2 コンソールに移動し、FSx for Lustre ファイルシステムにリンクされているすべての ENIs が表示されます。

      6. 各 ENI について:

        1. ネットワークインターフェイス ID の対応するリンクを選択して、ENI を選択します。

        2. 概要ページの右上にあるアクションを選択して、ドロップダウンメニューを展開します。

        3. ドロップダウンメニューで、セキュリティグループの選択を選択します。

        4. ドメインセキュリティグループを検索します。

          セキュリティグループ名は security-group-for-inbound-nfs-domain-id の形式をとります。ドメイン ID を取得する方法については、「」を参照してくださいドメインを表示する

        5. セキュリティグループの追加を選択します。

を使用してドメインにカスタムファイルシステムを追加する AWS CLI

を使用してドメインまたはユーザープロファイルにカスタムファイルシステムを追加するには AWS CLI、次のいずれかのコマンドを使用するときにCustomFileSystemConfigs定義を渡します。

次の例は、既存のドメインまたはユーザープロファイルにファイルシステムを追加する方法について説明しています。

共有スペースでアクセスできるファイルシステムを追加するには
  • ドメインのデフォルトのスペース設定を更新します。次の例では、ファイルシステム設定をデフォルトのスペース設定に追加します。

    aws sagemaker update-domain --domain-id domain-id \ --default-space-settings file://file-system-settings.json

    この例では、ファイルシステム設定を JSON ファイルとして渡します。このファイルについては、後の例で説明します。

プライベートスペースでアクセスできるファイルシステムを追加するには
  • ドメインのデフォルトのユーザー設定を更新します。次の例では、ファイルシステム設定をデフォルトのユーザー設定に追加します。

    aws sagemaker update-domain --domain-id domain-id \ --default-user-settings file://file-system-settings.json

    この例では、ファイルシステム設定を JSON ファイルとして渡します。このファイルについては、後の例で説明します。

個別のユーザーのみがアクセスできるファイルシステムを追加するには
  • 該当するユーザーのユーザープロファイルを更新します。次の例では、ファイルシステム設定をユーザープロファイルに追加します。

    aws sagemaker update-user-profile --domain-id domain-id \ --user-profile-name user-profile-name \ --user-settings file://file-system-settings.json

    この例では、ファイルシステム設定を JSON ファイルとして渡します。このファイルについては、次の例で説明します。

例 ファイルシステム設定ファイル

上記の例のファイルである file-system-settings.json には、次の設定があります。

For your FSx for Lustre file systems
{ "CustomFileSystemConfigs": [ { "FSxLustreFileSystemConfig": { "FileSystemId": "file-system-id", "FileSystemPath": "/" } } ] }

この例の設定では、以下のキーを使用しています。

CustomFileSystemConfigs

カスタムファイルシステムの設定です (Amazon EFS ファイルシステムのみをサポートします)。

FSxLustreFileSystemConfig

カスタム FSx for Lustre ファイルシステムの設定。

FileSystemId

Amazon EFS ファイルシステムの ID です。

FileSystemPath

Studio のスペース内でドメインユーザーがアクセスできるファイルシステムディレクトリへのパスです。許可済みのユーザーは、このディレクトリとディレクトリ内にのみアクセスできます。デフォルトのパスは、ファイルシステムのルートである / です。

For your Amazon EFS file systems
{ "CustomFileSystemConfigs": [ { "EFSFileSystemConfig": { "FileSystemId": "file-system-id", "FileSystemPath": "/" } } ] }

この例の設定では、以下のキーを使用しています。

CustomFileSystemConfigs

カスタムファイルシステムの設定です (Amazon EFS ファイルシステムのみをサポートします)。

EFSFileSystemConfig

カスタム Amazon EFS ファイルシステムの設定です。

FileSystemId

Amazon EFS ファイルシステムの ID です。

FileSystemPath

Studio のスペース内でドメインユーザーがアクセスできるファイルシステムディレクトリへのパスです。許可済みのユーザーは、このディレクトリとディレクトリ内にのみアクセスできます。デフォルトのパスは、ファイルシステムのルートである / です。

ファイルシステムをドメインのデフォルトスペース設定に割り当てる場合は、設定に実行ロールも含める必要があります。

{ "ExecutionRole": "execution-role-arn" }

この例の設定では、以下のキーを使用しています。

ExecutionRole

ドメインのユーザーのデフォルトの実行ロールです。

ファイルシステムに POSIX アクセス許可を適用する場合は、以下の設定を create-domain コマンドまたは create-user-profile コマンドに渡すこともできます。

{ "CustomPosixUserConfig": { "Uid": UID, "Gid": GID } }

この例の設定では、以下のキーを使用しています。

CustomPosixUserConfig

ファイルシステムのオペレーションに使用されるデフォルトの POSIX ID です。このような設定を使用して、カスタムファイルシステムにアクセスするユーザープロファイルに既存の POSIX アクセス許可構造を適用できます。POSIX アクセス許可レベルでは、ファイルシステムにアクセスできるユーザーや、ユーザーがアクセスできるファイルまたはデータを制御できます。

create-user-profile コマンドを使用してユーザープロファイルを作成する際に、CustomPosixUserConfig 設定を適用することもできます。ユーザープロファイルに適用する設定は、関連付けられたドメインに適用される設定よりも優先されます。

注記

create-domain コマンドや create-user-profile コマンドを使用する際に、CustomPosixUserConfig 設定を適用できます。ただし、以下を実行する場合は、このような設定を適用できません。

  • 既に任意のユーザープロファイルに関連付けられているドメインに対して update-domain コマンドを使用する場合。これらの設定は、ユーザープロファイルがないドメインにのみ適用できます。

  • update-user-profile コマンドを使用します。これらの設定を既に作成したプロファイルに適用するには、プロファイルを削除して、更新した設定を持つ新しいプロファイルを作成します。

Uid

POSIX ユーザー ID です。デフォルトは 200001 です。

Gid

POSIX グループ ID です。デフォルトは 1001 です。

AWS CLIを使用したスペースへのカスタムファイルシステムのアタッチ

ドメインにカスタムファイルシステムを追加すると、ドメインユーザーは作成したスペースにファイルシステムをアタッチできます。例えば、Studio または AWS CLIの create-space コマンドを使用する際にファイルシステムをアタッチできます。

カスタムファイルシステムをスペースにアタッチするには
  • ファイルシステム設定をスペース設定に追加します。次のコマンド例では、ファイルシステムを新しいスペースにアタッチします。

    aws sagemaker create-space \ --space-name space-name \ --domain-id domain-id \ --ownership-settings "OwnerUserProfileName=user-profile-name" \ --space-sharing-settings "SharingType=Private" \ --space-settings file://space-settings.json

    この例のファイル space-settings.json には、FileSystemId キーを使用した CustomFileSystems 設定など、次のとおりの設定があります。

    For your FSx for Lustre file systems
    { "AppType": "JupyterLab", "JupyterLabAppSettings": { "DefaultResourceSpec": { "InstanceType": "instance-type" } }, "CustomFileSystems": [ { "FSxLustreFileSystem": { "FileSystemId": "file-system-id" } } ] }
    For your Amazon EFS file systems
    { "AppType": "JupyterLab", "JupyterLabAppSettings": { "DefaultResourceSpec": { "InstanceType": "instance-type" } }, "CustomFileSystems": [ { "EFSFileSystem": { "FileSystemId": "file-system-id" } } ] }

    SageMaker AI は、次のパスにシンボリックリンクを作成します: /home/sagemaker-user/custom-file-systems/file-system-type/file-system-id。これにより、ドメインユーザーはホームディレクトリの /home/sagemaker-user 内からカスタムファイルシステムに移動できます。