Volúmenes de Amazon EFS - AWS Batch

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

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

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 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 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 en la Guía del usuario de Amazon Elastic Container Service para AWS Fargate.

Uso de puntos de acceso de Amazon EFS

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 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 del punto de acceso. 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 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

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

Requerido: 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.

importante

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 | DISABLED

Requerido: 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 en la Guía del usuario de Amazon Elastic File System.

transitEncryptionPort

Tipo: entero

Requerido: 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 en la Guía del usuario de Amazon Elastic File System.

authorizationConfig

Tipo: objeto

Requerido: 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 en la Guía del usuario de Amazon Elastic File System.

iam

Tipo: cadena

Valores válidos: ENABLED | DISABLED

Requerido: 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 Rol de ejecución de AWS Batch IAM.