Amazon EFS
Servicio de sistema de archivos NFS completamente administrado accesible simultáneamente desde múltiples instancias EC2 y funciones Lambda
Descripción general
Amazon Elastic File System (EFS) es un servicio de almacenamiento de archivos completamente administrado compatible con el protocolo NFS v4.1. Permite el acceso simultáneo desde múltiples instancias EC2, contenedores ECS/EKS y funciones Lambda, escalando automáticamente la capacidad de almacenamiento según la cantidad de datos sin necesidad de provisionar capacidad por adelantado. Los datos se replican automáticamente en múltiples zonas de disponibilidad, proporcionando alta durabilidad y disponibilidad.
Diferenciación con EBS y diseño de almacenamiento compartido
EBS es almacenamiento en bloques que se conecta a una sola instancia EC2 (con excepciones de Multi-Attach para io2), mientras que EFS es un sistema de archivos compartido accesible simultáneamente desde múltiples instancias. EFS es adecuado para: directorios home compartidos, repositorios de contenido para CMS, almacenamiento compartido para aplicaciones web escaladas horizontalmente y datos de entrenamiento de machine learning accedidos por múltiples instancias. EBS es preferible cuando se necesita almacenamiento de alto rendimiento dedicado a una sola instancia, como volúmenes de bases de datos. El costo de EFS por GB es mayor que EBS, pero al eliminar la necesidad de sincronización entre instancias y simplificar la arquitectura, el costo total puede ser menor. Los puntos de montaje (Mount Targets) se crean en cada zona de disponibilidad donde se necesita acceso, y las instancias se conectan al punto de montaje de su misma zona para minimizar la latencia.
Modos de rendimiento y diseño de throughput
EFS ofrece dos modos de rendimiento: General Purpose y Max I/O. General Purpose es adecuado para la mayoría de las cargas de trabajo con latencia baja por operación. Max I/O escala a mayor throughput y operaciones por segundo pero con latencia ligeramente mayor, siendo apropiado para cargas de trabajo altamente paralelas como procesamiento de big data. Para throughput, el modo Bursting escala automáticamente según el tamaño del sistema de archivos, mientras que el modo Provisioned permite especificar un throughput fijo independiente del tamaño. El modo Elastic (más reciente) escala automáticamente el throughput según la demanda real, siendo la opción más simple para cargas de trabajo impredecibles. La métrica PercentIOLimit de CloudWatch indica qué tan cerca está el sistema de archivos de su límite de rendimiento.
Gestión de ciclo de vida e integración serverless
Las políticas de ciclo de vida de EFS mueven automáticamente los archivos no accedidos durante un período configurable (7, 14, 30, 60 o 90 días) a la clase de almacenamiento Infrequent Access (IA), que cuesta hasta un 92% menos que la clase Standard. Cuando se accede a un archivo en IA, se mueve automáticamente de vuelta a Standard (si se configura la política de transición inversa). Esta gestión automática optimiza costos sin intervención manual. La integración con Lambda permite montar sistemas de archivos EFS en funciones Lambda, proporcionando almacenamiento persistente y compartido entre invocaciones. Esto es útil para cargas de trabajo de ML que necesitan acceder a modelos grandes, procesamiento de archivos que exceden el límite de /tmp de Lambda (10 GB), o aplicaciones que necesitan estado compartido entre múltiples funciones Lambda concurrentes.