

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.

# Volúmenes de Amazon EFS
<a name="efs-volumes"></a>

Amazon Elastic File System (Amazon EFS) proporciona almacenamiento de archivos sencillo y escalable para usarlo con sus trabajos AWS Batch. Con Amazon EFS, la capacidad de almacenamiento es elástica. Escala automáticamente a medida que se agregan o eliminan archivos. Las aplicaciones disponen del almacenamiento que necesitan, cuando lo necesitan.

Puede utilizar sistemas de archivos de Amazon EFS con AWS Batch para exportar los datos del sistema de archivos a través de la flota de instancias de contenedor. De esta forma, sus trabajos tienen acceso al mismo almacenamiento persistente. No obstante, debe configurar su AMI de instancia de contenedor para montar el sistema de archivos de Amazon EFS antes de que se inicie el daemon de Docker. Además, sus definiciones de trabajo deben hacer referencia a montajes de volúmenes en la instancia de contenedor para utilizar el sistema de archivos. Las secciones siguientes le ayudarán a comenzar a utilizar Amazon EFS con AWS Batch.

## Consideraciones acerca de volúmenes de Amazon EFS
<a name="efs-volume-considerations"></a>

Al utilizar volúmenes de Amazon EFS, se debe tener en cuenta lo siguiente:
+ Para los trabajos que utilizan recursos EC2, se ha agregado compatibilidad con el sistema de archivos de Amazon EFS como vista previa pública en la versión AMI optimizada para Amazon ECS `20191212` con el agente de contenedor versión 1.35.0. Sin embargo, el sistema de archivos de Amazon EFS está disponible con carácter general a partir de la versión `20200319` de la AMI optimizada para Amazon ECS con el agente de contenedor versión 1.38.0, que contenía las características de punto de acceso de Amazon EFS y autorización de IAM. Recomendamos utilizar la versión AMI optimizada para Amazon ECS `20200319` o una posterior para aprovechar estas características. Para obtener más información, consulte la sección sobre [Versiones AMI Linux optimizada para Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-ami-versions.html) en la *Guía para desarrolladores de Amazon Elastic Container Service*.
**nota**  
Si crea su propia AMI, debe usar el agente de contenedor 1.38.0 o posterior, versión `ecs-init` 1.38.0-1 o una posterior, y ejecutar los siguientes comandos en su instancia de Amazon EC2. Todo esto es para habilitar el complemento de volumen Amazon ECS. Los comandos dependen de si utiliza Amazon Linux 2 o Amazon Linux como imagen base.  

Amazon Linux 2  

  ```
  $ yum install amazon-efs-utils
  systemctl enable --now amazon-ecs-volume-plugin
  ```

Amazon Linux  

  ```
  $ yum install amazon-efs-utils
  sudo shutdown -r now
  ```
+ Para los trabajos que utilizan recursos de Fargate, se agregó la compatibilidad con el sistema de archivos de Amazon EFS al usar la versión de la plataforma 1.4.0 o posterior. Para obtener más información, consulte [Versiones de la plataforma de AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) en la *Guía para desarrolladores de Amazon Elastic Container Service*.
+ Cuando se utilizan volúmenes de Amazon EFS en trabajos que usan recursos de Fargate, Fargate crea un contenedor supervisor responsable de administrar el volumen de Amazon EFS. El contenedor supervisor utiliza una pequeña cantidad de la memoria del trabajo. El contenedor supervisor puede verse al consultar la versión 4 del punto de conexión de metadatos de la tarea. Para obtener más información, consulte [Versión 4 del punto de conexión de metadatos de tareas](https://docs.aws.amazon.com/AmazonECS/latest/userguide/task-metadata-endpoint-v4-fargate.html) en la *Guía del usuario de Amazon Elastic Container Service para AWS Fargate*.

## Uso de puntos de acceso de Amazon EFS
<a name="efs-volume-accesspoints"></a>

Los puntos de acceso de Amazon EFS son puntos de entrada específicos de la aplicación a un sistema de archivos de EFS que le ayudan a administrar el acceso de la aplicación a conjuntos de datos compartidos. Para obtener más información acerca de los puntos de acceso de Amazon EFS y cómo controla el acceso a ellos, consulte [Uso de puntos de acceso de Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) en la *Guía del usuario de Amazon Elastic File System*.

Los puntos de acceso pueden imponer una identidad de usuario, incluidos los grupos POSIX del usuario, para todas las solicitudes del sistema de archivos que se realizan a través de ellos. Los puntos de acceso también pueden imponer un directorio raíz diferente para el sistema de archivos, de modo que los clientes solo puedan acceder a los datos del directorio especificado o de sus subdirectorios.

**nota**  
Cuando se crea un punto de acceso EFS, se especifica una ruta en el sistema de archivos para que sirva como directorio raíz. Cuando se hace referencia al sistema de archivos de EFS con un ID de punto de acceso en la definición de trabajo de AWS Batch, el directorio raíz se debe omitir o establecer en `/`, lo que aplicará la ruta establecida en el punto de acceso de EFS.

Puede utilizar un rol de IAM con el trabajo de AWS Batch para exigir que determinadas aplicaciones utilicen un punto de acceso específico. Al combinar políticas de IAM con puntos de acceso, puede proporcionar fácilmente acceso seguro a conjuntos de datos específicos para sus aplicaciones. Esta característica utiliza roles de IAM de Amazon ECS para otorgarle funcionalidad a la tarea. Para obtener más información, consulte [Roles de IAM para tareas](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) en la *Guía para desarrolladores de Amazon Elastic Container Service*.

## Indique un sistema de archivos de Amazon EFS en la definición del trabajo
<a name="specify-efs-config"></a>

Para usar volúmenes del sistema de archivos de Amazon EFS para sus contenedores, debe especificar las configuraciones de volumen y punto de montaje en su definición de trabajo. El siguiente fragmento de JSON de definición de trabajo muestra la sintaxis de los objetos `volumes` y `mountPoints` para un contenedor:

```
{
    "containerProperties": [
        {
            "image": "amazonlinux:2",
            "command": [
                "ls",
                "-la",
                "/mount/efs"
            ],
            "mountPoints": [
                {
                    "sourceVolume": "myEfsVolume",
                    "containerPath": "/mount/efs",
                    "readOnly": true
                }
            ],
            "volumes": [
                {
                    "name": "myEfsVolume",
                    "efsVolumeConfiguration": {
                        "fileSystemId": "fs-12345678",
                        "rootDirectory": "/path/to/my/data",
                        "transitEncryption": "ENABLED",
                        "transitEncryptionPort": integer,
                        "authorizationConfig": {
                            "accessPointId": "fsap-1234567890abcdef1",
                            "iam": "ENABLED"
                        }
                    }
                }
            ]
        }
    ]
}
```

`efsVolumeConfiguration`  
Tipo: objeto  
Obligatorio: no  
Este parámetro se especifica cuando se usan volúmenes de Amazon EFS.    
`fileSystemId`  
Tipo: cadena  
Obligatorio: sí  
El ID del sistema de archivos de Amazon EFS que se va a usar.  
`rootDirectory`  
Tipo: cadena  
Obligatorio: no  
Directorio del sistema de archivos de Amazon EFS que se va a montar como directorio raíz dentro del host. Si se omite este parámetro, se utiliza la raíz del volumen de Amazon EFS. Si se especifica `/`, se obtiene el mismo efecto que si se omite este parámetro. Puede tener hasta 4 096 caracteres de longitud.  
Si se especifica un punto de acceso de EFS en el `authorizationConfig`, se debe omitir el parámetro del directorio raíz o establecerlo en `/`. Esto impone la ruta establecida en el punto de acceso de EFS.  
`transitEncryption`  
Tipo: cadena  
Valores válidos: `ENABLED` \$1 `DISABLED`  
Obligatorio: no  
Determina si se habilita el cifrado de los datos en tránsito de Amazon EFS entre el host de AWS Batch y el servidor de Amazon EFS. El cifrado en tránsito debe estar habilitado si se utiliza la autorización de IAM en Amazon EFS. Si se omite este parámetro, se usa el valor predeterminado de `DISABLED`. Para obtener más información, consulte [Cifrado de datos en tránsito](https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) en la *Guía del usuario de Amazon Elastic File System*.  
`transitEncryptionPort`  
Tipo: entero  
Obligatorio: no  
El puerto que se utilizará al enviar datos cifrados entre el host de AWS Batch y el servidor de Amazon EFS. Si no se especifica un puerto de cifrado en tránsito, se emplea la estrategia de selección de puertos que utiliza el ayudante de montaje de Amazon EFS. Este valor debe estar entre 0 y 65 535. Para obtener más información, consulte [Ayudante de montaje de EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) en la *Guía del usuario de Amazon Elastic File System*.  
`authorizationConfig`  
Tipo: objeto  
Obligatorio: no  
Los detalles de configuración de autorización en el sistema de archivos de Amazon EFS.    
`accessPointId`  
Tipo: cadena  
Requerido: no  
ID de punto de acceso que se va a utilizar. Si se especifica un punto de acceso, el valor del directorio raíz en `efsVolumeConfiguration` se debe omitir o establecer en `/`. Esto impone la ruta establecida en el punto de acceso de EFS. Si se utiliza un punto de acceso, el cifrado de tránsito debe estar habilitado en el `EFSVolumeConfiguration`. Para obtener más información, consulte [Trabajo con puntos de acceso de Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) en la *Guía del usuario de Amazon Elastic File System*.  
`iam`  
Tipo: cadena  
Valores válidos: `ENABLED` \$1 `DISABLED`  
Obligatorio: no  
Determina si se debe utilizar el rol de IAM del trabajo AWS Batch definido en una definición de trabajo al montar el sistema de archivos de Amazon EFS. Si está habilitado, el cifrado de tránsito debe estar habilitado en el `EFSVolumeConfiguration`. Si se omite este parámetro, se usa el valor predeterminado de `DISABLED`. Para obtener más información sobre el rol de ejecución de IAM, consulte [AWS Batch Función de ejecución de IAM](execution-IAM-role.md).