Amazon EFS
Elastic File System
Sistema de archivos compartido que muchas instancias pueden montar a la vez y que crece y encoge solo.
En palabras simples
Es la carpeta compartida de la oficina: varias personas trabajan sobre los mismos archivos al mismo tiempo, y nadie tiene que decidir de antemano cuánto espacio va a ocupar.
Cuándo aplicarlo
Cuando varias instancias o tareas necesitan leer y escribir los mismos archivos simultáneamente, y un volumen de un solo dueño como EBS no alcanza.
- ▸Directorio compartido de contenidos entre varios servidores web
- ▸Almacenamiento común para un clúster de procesamiento o de análisis
- ▸Directorios de usuario compartidos en entornos de desarrollo
- ▸Estado compartido entre tareas de ECS o funciones Lambda que lo requieren
Vocabulario mínimo
- Sistema de archivos
- El recurso principal. Es regional: vive en varias zonas de disponibilidad a la vez.
- Destino de montaje
- El punto de red en cada subred desde el que las instancias montan el sistema de archivos por NFS.
- Clase de almacenamiento
- Estándar para lo activo e infrecuente o de archivo para lo que casi no se toca, mucho más barato.
- Gestión del ciclo de vida
- La regla que mueve sola los archivos no accedidos a la clase más barata pasados unos días.
- Punto de acceso
- Una entrada al sistema de archivos con usuario y directorio raíz fijos, para aislar aplicaciones.
Costo y capa gratuita
- Cómo se cobra
- Por gigabyte realmente almacenado al mes, según la clase de almacenamiento. No se aprovisiona capacidad: se paga lo que hay. El rendimiento elástico se cobra por operaciones.
- Capa gratuita
- 5 GB en la clase estándar al mes durante los primeros 12 meses.
Cuidado con los créditos
- ⚠La clase estándar cuesta bastante más que S3 por gigabyte: no es el sitio para guardar archivos que nadie toca.
- ⚠No activar la gestión del ciclo de vida deja en la clase cara datos que llevan meses sin abrirse.
- ⚠Montar EFS desde otra región o zona genera tráfico entre zonas que se factura aparte.
Descripción
EFS resuelve la limitación más incómoda de EBS: un volumen se conecta a una sola instancia y vive en una sola zona de disponibilidad. En cuanto la arquitectura tiene varias máquinas idénticas detrás de un balanceador, hace falta un lugar común donde todas vean los mismos archivos.
Además es elástico en el sentido literal: no se aprovisiona tamaño. Crece cuando se escriben archivos, encoge cuando se borran, y se paga exactamente lo que hay guardado. Eso elimina la decisión de cuánto disco pedir, que en EBS hay que tomar por adelantado.
Cómo funciona
- Creas el sistema de archivos, que es regional y se replica entre zonas de disponibilidad.
- AWS crea un destino de montaje en cada subred donde quieras acceder a él.
- Cada instancia lo monta por NFS, y desde ese momento es una carpeta normal del sistema.
- Varias instancias escriben a la vez: el bloqueo y la coherencia los resuelve el protocolo.
- La gestión del ciclo de vida mueve a la clase infrecuente o de archivo lo que nadie abre.
Manos a la obra
- Crea un sistema de archivos con los valores por defecto y su grupo de seguridad para el puerto NFS.
- Lanza dos instancias t3.micro en zonas distintas y monta EFS en ambas.
- Escribe un archivo desde la primera instancia y léelo desde la segunda: aparece al instante.
- Activa la política de ciclo de vida a 30 días y observa el ahorro estimado.
- Borra el sistema de archivos y las instancias al terminar.
Ejemplo visual
La pregunta que conviene hacerse antes de elegir EFS es si la aplicación necesita de verdad rutas de archivo. Si puede hablar con objetos, S3 resuelve lo mismo por una fracción del precio.
Cuándo NO es la mejor opción
- Amazon EBS — si solo una instancia necesita el disco, EBS es más barato y de menor latencia.
- Amazon S3 — si la aplicación puede hablar por API con objetos en vez de necesitar rutas de archivo, S3 cuesta una fracción.
- Amazon FSx — si hace falta SMB de Windows o el rendimiento de Lustre, EFS solo habla NFS.
Se usa junto con
Aparece en certificaciones
- AWS Certified Cloud Practitioner
- AWS Certified Solutions Architect – Associate
- AWS Certified SysOps Administrator – Associate
Para profundizar