July 31, 2025

EFS

📘 ¿Qué es Amazon EFS?

Amazon EFS es un sistema de archivos elástico y completamente administrado que se monta simultáneamente en varias instancias EC2 (u otros servicios) a través del protocolo NFS (Network File System).

  • Tipo: Servicio de almacenamiento en red (NAS).

  • Ideal para: Workloads que requieren un sistema de archivos compartido entre múltiples servidores.

  • Compatible con: EC2, ECS (con Fargate), Lambda, y más.


🧩 Características clave

CaracterísticaDescripción
Totalmente administradoNo requiere administración de servidores o sistemas de archivos.
ElásticoEscala automáticamente a medida que se añaden/eliminan archivos.
Alta disponibilidadReplicado automáticamente en varias AZs (si usas modo regional).
Multi-AttachPuede montarse en múltiples instancias simultáneamente.
Protocolo NFSv4.1/v4.2Compatible con clientes estándar NFS.
CifradoSoporta cifrado en reposo (KMS) y en tránsito (TLS).
Integración VPCMontaje a través de interfaces de red dentro de una VPC.

🧱 Tipos de rendimiento en EFS

Modo de rendimientoDescripción
General Purpose (por defecto)Para cargas de trabajo comunes (web, CMS, desarrollo, etc).
Max I/OPara cargas altamente paralelas (Big Data, análisis).

💸 Modelos de almacenamiento

ModeloDescripción
StandardAlta disponibilidad y rendimiento, replicado entre AZs.
Infrequent Access (EFS-IA)Menor costo para archivos accedidos con poca frecuencia.

🧠 Puedes configurar reglas de lifecycle management para mover archivos automáticamente de Standard a IA después de cierto tiempo sin acceso.


⚙️ EFS vs. otros almacenamientos

CaracterísticaEFSEBSS3
TipoSistema de archivos compartidoDisco en bloqueAlmacenamiento de objetos
ConexiónMúltiples instanciasUna instancia a la vezHTTP/REST
ProtocolosNFSSATA/NVMeAPI HTTP (SDK, CLI)
Casos de usoCompartido, web, home dirsDBs, sistemas operativosBackup, distribución, media

🔌 Montaje de EFS

En EC2 (Linux)

sudo yum install -y amazon-efs-utils
sudo mkdir /mnt/efs
sudo mount -t efs fs-xxxxxxxx:/ /mnt/efs

O usando el helper:

sudo mount -t efs -o tls fs-xxxxxxxx:/ /mnt/efs

📌 Requiere que la instancia EC2 esté en una subred con conectividad al Mount Target de EFS.


🛡️ Seguridad y control de acceso

  • Mount Targets: Puntos de entrada de red en cada AZ.

  • Seguridad de red: Controlada por grupos de seguridad y subredes VPC.

  • IAM Policies: Para controlar acceso al API de EFS.

  • POSIX permissions (chown/chmod): Control a nivel de sistema de archivos.

  • Cifrado en tránsito: Usando TLS/NFS.

  • Cifrado en reposo: Usando AWS KMS.


🧪 Casos de uso comunes

Caso de usoBeneficio de EFS
Aplicaciones webCompartición de archivos entre instancias sin necesidad de sincronización.
Entornos de desarrolloPermite guardar y compartir código y datos.
CMS (WordPress, Joomla)Requieren almacenamiento compartido y persistente.
Home directoriesAlmacenamiento para múltiples usuarios de forma compartida.
CI/CD y compilaciónRequiere alta disponibilidad y acceso simultáneo.
Machine Learning / HPCAcceso paralelo a datasets.

🔁 Resiliencia y backups

  • Alta disponibilidad regional: Se replica entre zonas de disponibilidad.

  • AWS Backup: Permite automatizar respaldos de EFS.

  • Durabilidad: Diseñado para el 99.999999999% (11 nueves) de durabilidad.


📈 Monitoreo

  • CloudWatch: Métricas de uso, throughput, IOPS, burst credit balance.

  • CloudTrail: Audita operaciones sobre EFS.

  • Logs opcionales: Accesos, montajes, errores.


🧾 Costos

Factor de costoDetalle
Almacenamiento estándarPrecio por GB por mes.
EFS Infrequent AccessMenor costo, pero con tarifa por acceso.
Solicitudes de accesoTarifa por cada operación de lectura/escritura en IA.
Backup y Data transferSe cobra por backup con AWS Backup y por transferencia entre regiones.

🧠 Puedes optimizar costos activando el modo IA + lifecycle policy.


🛠️ Buenas prácticas

  • Usa lifecycle policies para mover archivos poco usados a EFS-IA.

  • Monta EFS usando efs-utils con TLS activado.

  • Asegúrate de configurar correctamente los grupos de seguridad y mount targets.

  • Revisa los límites por cuenta, especialmente para mount targets.

  • Usa AWS Backup para snapshots periódicos.

  • Controla accesos con IAM y POSIX.


🎓 Preguntas tipo examen (ej. SAA-C03)

  1. ¿Qué servicio AWS ofrece un sistema de archivos compartido y escalable en múltiples instancias EC2?

    • Amazon EFS
  2. ¿Qué protocolo usa EFS para la comunicación con instancias?

    • NFSv4.1/v4.2
  3. ¿Cuál es la mejor opción para compartir archivos entre múltiples contenedores ECS en Fargate?

    • Amazon EFS