

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
<a name="domain-custom-file-system"></a>

Cuando crea un dominio mediante una configuración personalizada, 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 personalizado de Amazon EFS o de Amazon FSx para Lustre que haya creado usted. 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 los SDK o el AWS CLI. No puedes añadir un sistema de archivos personalizado mediante la consola de SageMaker IA.

## Requisitos previos
<a name="domain-custom-file-system-prereqs"></a>

Para poder añadir un sistema de archivos personalizado a un dominio, debe 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`](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-domains.html) con la AWS CLI.
+ Debe tener un sistema de archivos de Amazon EFS o FSx para Lustre en su Cuenta de AWS. 

------
#### [ For Amazon EFS ]
  + Para conocer los pasos necesarios para crear un sistema de archivos de Amazon EFS, consulte [Creación del sistema de archivos de Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/gs-step-two-create-efs-resources.html) 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](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) 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}}`. Para obtener instrucciones acerca de cómo obtener el ID de dominio, consulte [Visualización de dominios](domain-view.md).
  + 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](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticfilesystem.html) en la *Referencia de autorizaciones de servicios*.

------
#### [ For FSx for Lustre ]
  + Para conocer los pasos necesarios para crear un sistema de archivos de FSx para Lustre, consulte [Introducción a Amazon FSx para Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/getting-started.html.html) en la *Guía del usuario de Amazon FSx para Lustre*. Asegúrese de que el sistema de archivos de FSx para Lustre exista en:
    + la misma Amazon VPC que su dominio,
    + una de las subredes presentes en su dominio.
  + Para que Studio pueda acceder al sistema de archivos de FSx para Lustre, debe añadir el grupo de seguridad de su dominio a todas las interfaces de red elásticas (ENI) de su sistema de archivos de FSx para Lustre. Sin este paso, se producirá un error al crear la aplicación. Utilice las instrucciones siguientes para añadir el grupo de seguridad de dominio a las ENI de su sistema de archivos de FSx para Lustre. 

**Adición del grupo de seguridad de dominio en las ENI del sistema de archivos de FSx para Lustre (consola)**

    1. Vaya a la [consola de Amazon FSx](https://console.aws.amazon.com/fsx).

    1. Elija **Sistemas de archivos**.

    1. Elija su sistema de archivos de FSx para Lustre mediante el enlace correspondiente en **ID del sistema de archivos**.

    1. Si aún no la ha seleccionado, elija la pestaña **Redes y seguridad**.

    1. En **Subred**, elija **Para ver todas las interfaces de red elásticas, consulte la consola de Amazon EC2**. Esta acción le llevará a la consola de Amazon EC2 donde se mostrarán todas las ENI conectadas a su sistema de archivos de FSx para Lustre.

    1. Para cada ENI:

       1. Elija la ENI seleccionando el enlace correspondiente en **ID de la interfaz de red**.

       1. Elija **Acciones** en la parte superior derecha de la página de resumen para expandir el menú desplegable.

       1. En el menú desplegable, seleccione **Elegir grupo de seguridad**.

       1. Busque el grupo de seguridad de su dominio.

          El nombre del grupo de seguridad tiene el formato `security-group-for-inbound-nfs-{{domain-id}}`. Para obtener instrucciones acerca de cómo obtener el ID de dominio, consulte [Visualización de dominios](domain-view.md). 

       1. Seleccione **Agregar grupo de seguridad**.

------

## Añadir un sistema de archivos personalizado a un dominio con AWS CLI
<a name="domain-custom-file-system-cli"></a>

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:
+ [`create-domain`](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-domain.html)
+ [`update-domain`](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-domain.html)
+ [`create-user-profile`](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-user-profile.html)
+ [`update-user-profile`](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-user-profile.html)

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.

**Example archivo de configuración del sistema de archivos**  
El archivo de los ejemplos anteriores, `file-system-settings.json`, tiene la siguiente configuración:  

```
{
    "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 de sistemas de archivos de FSx para Lustre personalizados.  
`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: `/`.

```
{
    "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.  
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.

## Adjuntar un sistema de archivos personalizado a un espacio con AWS CLI
<a name="space-custom-efs-cli"></a>

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](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-space.html) 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`.