Aggiunta di un file system personalizzato a un dominio
Quando crei un dominio, Amazon SageMaker AI aggiunge un volume Amazon Elastic File System (Amazon EFS) predefinito al dominio. SageMaker AI crea questo volume automaticamente. Hai anche la possibilità di aggiungere un file system Amazon EFS o Amazon FSx per Lustre personalizzato creato da te. Dopo averlo aggiunto, il file system diventa disponibile agli utenti che appartengono al dominio. Gli utenti possono accedere al file system quando usano Amazon SageMaker Studio. Possono collegare il file system agli spazi che creano per le applicazioni supportate seguenti:
-
JupyterLab
-
Editor di codici
Dopo aver eseguito uno spazio e avviato l’applicazione, gli utenti possono accedere a qualsiasi dato, codice o altro artefatto contenuto nel file system.
Puoi consentire agli utenti di accedere al file system nei seguenti modi:
-
Attraverso spazi condivisi: uno spazio condiviso può essere creato e utilizzato da qualsiasi utente appartenente al dominio.
-
Attraverso spazi privati: uno spazio privato può essere creato da qualsiasi utente appartenente al dominio e può essere utilizzato solo da quell’utente.
-
Esclusivamente a un singolo utente: se non desideri consentire a tutti gli utenti di accedere al file system, puoi concedere l’accesso solo a un utente specifico. In tal caso, il file system sarà disponibile solo negli spazi privati creati dall’utente specifico.
Puoi aggiungere un file system personalizzato utilizzando l’API Amazon SageMaker, gli SDK AWS o la AWS CLI. Non puoi aggiungere un file system personalizzato con la console SageMaker AI.
Prerequisiti
Prima di aggiungere un file system personalizzato a un dominio, devi soddisfare i requisiti seguenti:
-
Disponi di un dominio in SageMaker AI. Per poter aggiungere un file system, è necessario l’ID dominio. Puoi cercare l’ID utilizzando la console SageMaker AI. Inoltre puoi eseguire il comando
list-domainscon l’opzione AWS CLI. -
Hai un file system Amazon EFS o FSx per Lustre nel tuo Account AWS.
Aggiunta di un file system personalizzato a un dominio con la AWS CLI
Per aggiungere un file system personalizzato a un dominio o a un profilo utente con la AWS CLI, passa una definizione CustomFileSystemConfigs quando utilizzi uno dei seguenti comandi:
Gli esempi seguenti mostrano come aggiungere un file system a un dominio o a un profilo utente esistente.
Per aggiungere un file system accessibile in spazi condivisi
-
Aggiorna le impostazioni di spazio predefinite per il tuo dominio. L’esempio seguente aggiunge le impostazioni del file system alle impostazioni di spazio predefinite:
aws sagemaker update-domain --domain-iddomain-id\ --default-space-settings file://file-system-settings.jsonQuesto esempio passa la configurazione del file system come file JSON, come illustrato in un esempio successivo.
Per aggiungere un file system accessibile in spazi privati
-
Aggiorna le impostazioni utente predefinite per il tuo dominio. L’esempio seguente aggiunge le impostazioni del file system alle impostazioni utente predefinite:
aws sagemaker update-domain --domain-iddomain-id\ --default-user-settings file://file-system-settings.jsonQuesto esempio passa la configurazione del file system come file JSON, come illustrato in un esempio successivo.
Per aggiungere un file system accessibile solo a un singolo utente
-
Aggiorna il profilo utente per l’utente. L’esempio seguente aggiunge le impostazioni del file system a un profilo utente:
aws sagemaker update-user-profile --domain-iddomain-id\ --user-profile-nameuser-profile-name\ --user-settings file://file-system-settings.jsonQuesto esempio passa la configurazione del file system come file JSON, come illustrato nell’esempio seguente.
Esempio file di impostazioni del file system
Il file negli esempi precedenti, file-system-settings.json, presenta le impostazioni seguenti:
Quando si assegna un file system alle impostazioni di spazio predefinite per un dominio, è necessario includere anche il ruolo di esecuzione nelle impostazioni:
{ "ExecutionRole": "execution-role-arn" }
Questa configurazione di esempio contiene la chiave seguente:
ExecutionRole-
Il ruolo di esecuzione predefinito per gli utenti del dominio.
Se desideri applicare le autorizzazioni POSIX al tuo file system, puoi anche passare le impostazioni seguenti ai comandi create-domain o create-user-profile:
{ "CustomPosixUserConfig": { "Uid":UID, "Gid":GID} }
Questa configurazione di esempio ha le chiavi seguenti:
CustomPosixUserConfig-
Le identità POSIX predefinite utilizzate per le operazioni del file system. Puoi utilizzare queste impostazioni per applicare la struttura di autorizzazioni POSIX esistente ai profili utente che accedono al file system personalizzato. A livello delle autorizzazioni POSIX, puoi controllare quali utenti possono accedere al file system e a quali file o dati possono accedere.
Puoi anche applicare le impostazioni
CustomPosixUserConfigquando crei un profilo utente utilizzando il comandocreate-user-profile. Le impostazioni applicate a un profilo utente sono prioritarie rispetto a quelle applicate al dominio associato.Nota
Puoi applicare le impostazioni
CustomPosixUserConfigquando utilizzi i comandicreate-domainecreate-user-profile, ma non quando:-
Utilizzi il comando
update-domainper un dominio già associato a un qualsiasi profilo utente. Puoi applicare queste impostazioni solo ai domini senza profili utente. -
Utilizza il comando
update-user-profile. Per applicare queste impostazioni a un profilo già creato, elimina il profilo e creane uno nuovo con le impostazioni aggiornate.
-
Uid-
L’ID utente POSIX. Il valore predefinito è 200001.
Gid-
L’ID del gruppo POSIX. Il valore predefinito è 1001.
Collegamento di un file system personalizzato a uno spazio con la AWS CLI
Dopo aver aggiunto un file system personalizzato a un dominio, gli utenti del dominio possono collegare il file system agli spazi che creano. Ad esempio, possono collegare il file system quando utilizzano Studio o il comando create-space con la AWS CLI.
Per collegare un file system personalizzato a uno spazio
-
Aggiungi la configurazione del file system alle impostazioni dello spazio. Il comando di esempio seguente collega un file system a un nuovo spazio.
aws sagemaker create-space \ --space-namespace-name\ --domain-iddomain-id\ --ownership-settings "OwnerUserProfileName=user-profile-name" \ --space-sharing-settings "SharingType=Private" \ --space-settings file://space-settings.jsonIn questo esempio, il file
space-settings.jsonha le impostazioni seguenti, che includono la configurazioneCustomFileSystemscon la chiaveFileSystemId.SageMaker AI crea un link simbolico nel seguente percorso:
/home/sagemaker-user/custom-file-systems/. Con questo, gli utenti del dominio possono accedere al file system personalizzato dalla loro home directoryfile-system-type/file-system-id/home/sagemaker-user.