將自訂檔案系統連接至網域或使用者設定檔 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將自訂檔案系統連接至網域或使用者設定檔

當您建立網域時,Amazon SageMaker 會自動將其與為您 SageMaker 建立的 Amazon Elastic File System (Amazon EFS) 磁碟區建立關聯。您也可以選擇將網域與您在 中建立的自訂 Amazon EFS 檔案系統建立關聯 AWS 帳戶。當任何使用者使用 Amazon SageMaker Studio 時,屬於網域的使用者都可以使用此檔案系統。使用者可以將檔案系統連接到他們為支援的應用程式: JupyterLab 和程式碼編輯器建立的任何空間。然後,在執行空間並啟動應用程式後,他們可以存取檔案系統包含的任何資料、程式碼或其他成品。

如果您不想允許網域的所有使用者存取檔案系統,您可以改為將其連接至特定的使用者設定檔。如果您這樣做,則檔案系統只能在相關聯使用者建立的空格中使用。

您可以使用 Amazon SageMaker API、 AWS SDKs或 連接自訂檔案系統 AWS CLI。您無法使用 SageMaker 主控台連接自訂檔案系統。

必要條件

您必須先符合下列需求,才能將自訂 Amazon EFS 檔案系統連接至網域:

使用 連接自訂檔案系統 AWS CLI

若要使用 將自訂檔案系統連接至網域或使用者設定檔 AWS CLI,當您使用下列任何命令時,會傳遞CustomFileSystemConfigs定義:

範例 create-domain 命令搭配自訂檔案系統

下列範例會將檔案系統連接至新網域。

aws sagemaker create-domain --domain-name domain-name \ --vpc-id vpc-id --subnet-ids subnet-ids --auth-mode IAM \ --default-user-settings file://default-user-settings.json \ --default-space-settings "ExecutionRole=execution-role-arn"

在此範例中,檔案default-user-settings.json具有下列設定,其中包含 CustomPosixUserConfigCustomFileSystemConfigs金鑰。

{ "ExecutionRole": "execution-role-arn", "CustomPosixUserConfig": { "Uid": UID, "Gid": GID }, "CustomFileSystemConfigs": [ { "EFSFileSystemConfig": { "FileSystemId": "file-system-id", "FileSystemPath": "/" } } ] }

此範例組態具有下列金鑰:

ExecutionRole

網域使用者的預設執行角色。

CustomPosixUserConfig

用於檔案系統操作的預設POSIX身分。您可以使用這些設定,將現有的POSIX許可結構套用至存取自訂檔案系統的使用者設定檔。在POSIX許可層級,您可以控制哪些使用者可以存取檔案系統,以及他們可以存取哪些檔案或資料。

您也可以使用 create-user-profile命令在建立使用者設定檔時套用CustomPosixUserConfig設定。您套用至使用者設定檔的設定會覆寫您套用至關聯網域的設定。

注意

您可以在使用 create-domaincreate-user-profile命令時套用CustomPosixUserConfig設定。不過,當您執行下列動作時,無法套用這些設定:

  • 針對已與任何使用者設定檔建立關聯的網域使用 update-domain命令。您只能將這些設定套用至沒有使用者設定檔的網域。

  • 使用 update-user-profile 命令。若要將這些設定套用到您已建立的設定檔,請刪除設定檔,然後建立新的具有更新設定的設定檔。

Uid

POSIX 使用者 ID。預設值為 200001。

Gid

POSIX 群組 ID。預設值為 1001。

CustomFileSystemConfigs

自訂檔案系統的設定 (僅支援 Amazon EFS 檔案系統)。

您也可以在使用 create-user-profileupdate-user-profile命令時,將CustomFileSystemConfigs設定套用至使用者設定檔。使用者設定檔將可存取這些檔案系統,以及您連接至其網域的任何檔案系統。

EFSFileSystemConfig

自訂 Amazon EFS 檔案系統的設定。

FileSystemId

Amazon EFS 檔案系統的 ID。

FileSystemPath

Studio 中網域使用者可存取的檔案系統目錄路徑。允許的使用者只能存取此目錄和以下版本。預設路徑是檔案系統根目錄:/

SageMaker 在下列路徑建立符號連結:/home/sagemaker-user/custom-file-systems/file-system-type/file-system-id。如此一來,網域使用者可以從其主目錄 導覽至自訂檔案系統/home/sagemaker-user

將自訂檔案系統連接至網域後,網域使用者可以在使用 create-space 命令時將檔案系統連接至空間。

範例 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組態。

{ "AppType": "JupyterLab", "JupyterLabAppSettings": { "DefaultResourceSpec": { "InstanceType": "ml.t3.xlarge" } }, "CustomFileSystems": [ { "EFSFileSystem": { "FileSystemId": "file-system-id" } } ] }