本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將自訂檔案系統新增至網域
當您建立網域時,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。您也可以使用 執行
list-domains
命令 AWS CLI。 -
您的 中有 Amazon EFS 或 FSx for Lustre 檔案系統 AWS 帳戶。
對於 Amazon EFS:
-
如需建立 Amazon EFS 的步驟,請參閱《Amazon Elastic File System 使用者指南》中的建立 Amazon EFS 檔案系統。 Amazon Elastic File System
-
在 Studio 可以存取您的檔案系統之前,它必須在與網域相關聯的每個子網路中具有掛載目標。如需將掛載目標指派給子網路的詳細資訊,請參閱《Amazon Elastic File System 使用者指南》中的建立和管理掛載目標和安全群組。
-
對於每個掛載目標,您必須新增建立網域 AWS 帳戶 時在 中建立的 Amazon SageMaker AI 安全群組。安全群組名稱的格式為
security-group-for-inbound-nfs-
。domain-id
-
您的 IAM 許可必須允許您使用
elasticfilesystem:DescribeMountTargets
動作。如需此動作的詳細資訊,請參閱 服務授權參考中的 Amazon Elastic File System 的動作、資源和條件索引鍵。
對於 FSx for Lustre:
-
如需建立 FSx for Lustre 的步驟,請參閱《Amazon FSx for Lustre 使用者指南》中的 Amazon FSx for Lustre 入門。
-
確保 FSx for Lustre 檔案系統與您的網域位於相同的 VPC 中,且位於網域中存在的其中一個子網路中。
-
在 Studio 存取 FSx for Lustre 檔案系統之前,請先
SecurityGroupIdForInboundNfs
連接至 FSx for Lustre 的所有 ENIs。若要這麼做,您可以前往主控台中的 FSx for Lustre 檔案系統,然後按一下To see all the ENIs, see the Amazon EC2 console
,即可查看連接至 FSx for Lustre 的所有 ENIs。或者,您也可以透過 AWS CLI 或 API 呼叫
fsx:describeFileSystems
API,找到連接至 FSx for Lustre ENIs。對於 FSx for Lustre 的每個 ENI,您必須在建立網域 AWS 帳戶 時新增 Amazon SageMaker AI 在 中建立的安全群組。安全群組名稱的格式為security-group-for-inbound-nfs-
。如果沒有此步驟,應用程式建立將會失敗並出現客戶錯誤。domain-id
-
使用 將自訂檔案系統新增至網域 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-nameuser-profile-name
\ --user-settings file://file-system-settings.json此範例會以 JSON 檔案的形式傳遞檔案系統組態,如下列範例所示。
範例 檔案系統設定檔案
上述範例中的檔案 file-system-settings.json
具有下列設定:
當您將檔案系統指派給網域的預設空間設定時,您還必須在設定中包含執行角色:
{ "ExecutionRole": "
execution-role-arn
" }
此範例組態具有下列金鑰:
ExecutionRole
-
網域使用者的預設執行角色。
如果您想要套用檔案系統的 POSIX 許可,您也可以將下列設定傳遞至 create-domain
或 create-user-profile
命令:
{ "CustomPosixUserConfig": { "Uid":
UID
, "Gid":GID
} }
此範例組態具有下列金鑰:
CustomPosixUserConfig
-
用於檔案系統操作的預設 POSIX 身分。您可以使用這些設定,將現有的 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 或 create-space 命令搭配 時,可以連接檔案系統 AWS CLI。
將自訂檔案系統連接至空間
-
將檔案系統組態新增至空間設定。下列範例命令會將檔案系統連接至新的空間。
aws sagemaker create-space \ --space-name
space-name
\ --domain-iddomain-id
\ --ownership-settings "OwnerUserProfileName=user-profile-name
" \ --space-sharing-settings "SharingType=Private" \ --space-settings file://space-settings.json在此範例中, 檔案
space-settings.json
具有下列設定,其中包含具有FileSystemId
金鑰的CustomFileSystems
組態。SageMaker AI 會在下列路徑建立符號連結:
/home/sagemaker-user/custom-file-systems/
。如此一來,網域使用者可以從其主目錄 導覽至自訂檔案系統file-system-type
/file-system-id
/home/sagemaker-user
。