Adición de un sistema de archivos personalizado a un dominio - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Adición de un sistema de archivos personalizado a un dominio

Al crear un dominio, Amazon SageMaker AI añade un volumen predeterminado Amazon Elastic File System (Amazon EFS) al dominio. SageMaker AI crea este volumen por usted. También tiene la opción de añadir un sistema de archivos Amazon EFS personalizado o Amazon FSx for Lustre personalizado que haya creado. Tras añadirlo, el sistema de archivos estará disponible para los usuarios que pertenezcan a su dominio. Sus usuarios pueden acceder al sistema de archivos cuando utilizan Amazon SageMaker Studio. Pueden asociar el sistema de archivos a los espacios que creen para las siguientes aplicaciones compatibles:

  • JupyterLab

  • Editor de código

Tras ejecutar un espacio e iniciar la aplicación, los usuarios pueden acceder a cualquier dato, código u otro artefacto que contenga el sistema de archivos.

Puede permitir a los usuarios acceder al sistema de archivos de las siguientes formas:

  • A través de espacios compartidos: cualquier usuario que pertenezca a su dominio puede crear un espacio compartido. Luego, puede usarlo cualquier usuario que pertenezca a su dominio.

  • A través de espacios privados: cualquier usuario que pertenezca a su dominio puede crear un espacio privado. En ese caso, solo lo podrá usar ese usuario.

  • Exclusivamente como usuario individual: si no desea que todos sus usuarios accedan al sistema de archivos, puede permitir que solo lo haga un usuario específico. Si lo hace, el sistema de archivos solo estará disponible en los espacios privados que cree ese usuario específico.

Puedes añadir un sistema de archivos personalizado mediante la SageMaker API de Amazon AWS SDKs, la o la AWS CLI. No puedes añadir un sistema de archivos personalizado mediante la consola de SageMaker IA.

Requisitos previos

Para poder añadir un sistema de archivos personalizado a un dominio, debes cumplir los siguientes requisitos:

  • Tienes un dominio en SageMaker IA. Para añadir un sistema de archivos, necesita el ID de dominio. Puedes buscar el ID mediante la consola de SageMaker IA. También puede ejecutar el comando list-domains con la AWS CLI.

  • Tiene un sistema de archivos Amazon EFS o FSx for Lustre en su Cuenta de AWS.

    Para Amazon EFS:

    • Para conocer los pasos necesarios para crear un Amazon EFS, consulte Create your Amazon EFS file system en la Guía del usuario de Amazon Elastic File System.

    • Para que Studio pueda acceder al sistema de archivos, debe tener un destino de montaje en cada una de las subredes que asocie al dominio. Para obtener más información sobre la asignación de destinos de montaje a subredes, consulte Creating and managing mount targets and security groups en la Guía del usuario de Amazon Elastic File System.

    • Para cada objetivo de montaje, debes añadir el grupo de seguridad que Amazon SageMaker AI creó en ti Cuenta de AWS cuando creaste el dominio. El nombre del grupo de seguridad tiene el formato security-group-for-inbound-nfs-domain-id.

    • Sus permisos de IAM deben permitirle utilizar la acción elasticfilesystem:DescribeMountTargets. Para obtener más información sobre esta acción, consulte Actions, resources, and condition keys for Amazon Elastic File System en la Referencia de autorizaciones de servicios.

    FSx Para Lustre:

    • Para ver los pasos para crear un FSx for Lustre, consulta Cómo empezar a usar Amazon FSx for Lustre en la Guía del usuario de Amazon FSx for Lustre.

    • Asegúrese FSx de que el sistema de archivos de Lustre esté en la misma VPC que su dominio y se encuentre en una de las subredes presentes en el dominio.

    • Antes de que Studio pueda acceder al sistema de archivos de FSx for Lustre, conéctelo SecurityGroupIdForInboundNfs a todos los de for Lustre. ENIs FSx Para ello, vaya al sistema de archivos de Lustre en la consola y haga clic FSx To see all the ENIs, see the Amazon EC2 console para ver todos los archivos adjuntos de Lustre. ENIs FSx

      Como alternativa, también puedes buscar archivos ENIs adjuntos FSx para Lustre a través AWS CLI de nuestra API llamando a la API. fsx:describeFileSystems Para cada ENI de FSx for Lustre, debes añadir el grupo de seguridad que Amazon SageMaker AI creó en ti Cuenta de AWS cuando creaste el dominio. El nombre del grupo de seguridad tiene el formato security-group-for-inbound-nfs-domain-id. Sin este paso, la creación de la aplicación fallará debido a un error del cliente.

Añadir un sistema de archivos personalizado a un dominio con AWS CLI

Para añadir un sistema de archivos personalizado a un dominio o perfil de usuario con el AWS CLI, se pasa una CustomFileSystemConfigs definición al utilizar cualquiera de los siguientes comandos:

En los siguientes ejemplos, se muestra cómo añadir un sistema de archivos a un dominio o perfil de usuario existente.

Adición de un sistema de archivos al que se puede acceder en espacios compartidos
  • Actualice la configuración de espacio predeterminada de su dominio. En el siguiente ejemplo, se añade la configuración del sistema de archivos a la configuración de espacio predeterminada:

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

    En este ejemplo, se pasa la configuración del sistema de archivos como un archivo JSON, que se muestra en un ejemplo posterior.

Adición de un sistema de archivos al que se puede acceder en espacios privados
  • Actualice la configuración de usuario predeterminada de su dominio. En el siguiente ejemplo, se añade la configuración del sistema de archivos a la configuración de usuario predeterminada:

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

    En este ejemplo, se pasa la configuración del sistema de archivos como un archivo JSON, que se muestra en un ejemplo posterior.

Adición de un sistema de archivos al que solo puede acceder un usuario individual
  • Actualice el perfil del usuario. En el siguiente ejemplo, se añade la configuración del sistema de archivos a un perfil de usuario:

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

    En este ejemplo, se pasa la configuración del sistema de archivos como un archivo JSON, que se muestra en el siguiente ejemplo.

ejemplo archivo de configuración del sistema de archivos

El archivo de los ejemplos anteriores, file-system-settings.json, tiene la siguiente configuración:

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

Esta configuración de ejemplo tiene las siguientes claves:

CustomFileSystemConfigs

Configuración para sistemas de archivos personalizados (solo se admiten los sistemas de archivos de Amazon EFS).

FSxLustreFileSystemConfig

Configuración personalizada FSx para los sistemas de archivos Lustre.

FileSystemId

El ID de su sistema de archivos de Amazon EFS.

FileSystemPath

La ruta al directorio del sistema de archivos al que pueden acceder los usuarios del dominio en sus espacios de Studio. Los usuarios autorizados solo pueden acceder a este directorio y a los que están por debajo. La ruta predeterminada es la raíz del sistema de archivos: /.

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

Esta configuración de ejemplo tiene las siguientes claves:

CustomFileSystemConfigs

Configuración para sistemas de archivos personalizados (solo se admiten los sistemas de archivos de Amazon EFS).

EFSFileSystemConfig

Configuración para sistemas de archivos de Amazon EFS.

FileSystemId

El ID de su sistema de archivos de Amazon EFS.

FileSystemPath

La ruta al directorio del sistema de archivos al que pueden acceder los usuarios del dominio en sus espacios de Studio. Los usuarios autorizados solo pueden acceder a este directorio y a los que están por debajo. La ruta predeterminada es la raíz del sistema de archivos: /.

Al asignar un sistema de archivos a la configuración de espacio predeterminada de un dominio, también debe incluir el rol de ejecución en la configuración:

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

Esta configuración de ejemplo tiene la siguiente clave:

ExecutionRole

El rol de ejecución predeterminado para los usuarios del dominio.

Si desea aplicar permisos de POSIX a su sistema de archivos, también puede pasar la siguiente configuración a los comandos create-domain o create-user-profile:

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

Esta configuración de ejemplo tiene las siguientes claves:

CustomPosixUserConfig

Las identidades de POSIX predeterminadas que se utilizan para las operaciones del sistema de archivos. Puede usar esta configuración para aplicar su estructura de permisos de POSIX existente a los perfiles de usuario que acceden al sistema de archivos personalizado. En lo que se refiere a los permisos de POSIX, puede controlar qué usuarios pueden acceder al sistema de archivos y a qué archivos o datos pueden acceder.

También puede aplicar la configuración CustomPosixUserConfig al crear un perfil de usuario mediante el comando create-user-profile. La configuración que se aplica a un perfil de usuario anula la que se aplica al dominio asociado.

nota

Puede aplicar la configuración CustomPosixUserConfig al utilizar los comandos create-domain y create-user-profile. Sin embargo, no puede aplicar esta configuración cuando:

  • Utiliza el comando update-domain para un dominio que ya esté asociado a un perfil de usuario. Puede aplicar esta configuración solo a los dominios que no tienen perfiles de usuario.

  • Utilice el comando update-user-profile. Para aplicar esta configuración a un perfil que ya ha creado, elimine el perfil y cree uno nuevo que tenga la configuración actualizada.

Uid

El ID de usuario de POSIX. El valor predeterminado es 200001.

Gid

El ID del grupo de POSIX. El valor predeterminado es 1001.

Asociación de un sistema de archivos personalizado a un espacio con la AWS CLI

Tras añadir un sistema de archivos personalizado a un dominio, los usuarios del dominio pueden asociar el sistema de archivos a los espacios que creen. Por ejemplo, pueden asociar el sistema de archivos cuando utilizan Studio o el comando create-space con la AWS CLI.

Asociación de un sistema de archivos personalizado a un espacio
  • Añada la configuración del sistema de archivos a la configuración del espacio. En el siguiente comando de ejemplo, se asocia un sistema de archivos a un espacio nuevo.

    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

    En este ejemplo, el archivo space-settings.json tiene los siguientes parámetros, que incluyen la configuración de CustomFileSystems con la clave FileSystemId.

    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 crea un enlace simbólico en la siguiente ruta:/home/sagemaker-user/custom-file-systems/file-system-type/file-system-id. Con esto, los usuarios del dominio pueden navegar hasta el sistema de archivos personalizado desde su directorio principal, /home/sagemaker-user.