Demo en vivo: Amazon EFS — Sistema de archivos compartido
Qué van a ver los estudiantes
Crear un sistema de archivos EFS, montarlo en dos instancias EC2 simultáneamente y demostrar que los datos son compartidos en tiempo real entre ambas.
💬 “Esta demo es visualmente la más impactante del módulo — van a ver cómo un archivo creado en una instancia aparece instantáneamente en otra instancia completamente separada.”
PreparaciĂłn previa
Necesitas tener listo antes de la clase:
- Dos ventanas de terminal SSH abiertas lado a lado
- Ambas instancias ya lanzadas (para no perder tiempo)
PASO 1 — Crear el sistema de archivos EFS
- Consola AWS → EFS → Create file system
- Nombre:
demo-efs - VPC: la default
- Customize → revisa las opciones pero deja defaults
- Create
💬 “A diferencia de EBS donde especificamos tamaño, EFS no pide capacidad. Crece y se contrae automáticamente. Pagas solo por lo que usas.”
PASO 2 — Verificar los Mount Targets
- Click en
demo-efs→ pestaña Network - Muestra los Mount targets — hay uno por cada AZ en la región
- Espera a que todos estén en estado
Available
💬 “EFS crea automáticamente un punto de montaje en cada AZ de la región. Por eso múltiples instancias en distintas AZs pueden acceder al mismo sistema de archivos.”
PASO 3 — Lanzar dos instancias EC2
Lanza dos instancias con estas caracterĂsticas:
- AMI: Amazon Linux 2023
- Instance type:
t2.micro - Misma VPC que el EFS
- Security group: permite SSH (22) y NFS (2049) — este Ăşltimo es crĂtico
NĂłmbralas instancia-A e instancia-B.
💬 “El puerto 2049 es el protocolo NFS — sin ese puerto abierto, las instancias no pueden comunicarse con EFS.”
PASO 4 — Instalar el cliente EFS en ambas instancias
Conéctate a instancia-A y ejecuta:
sudo yum install -y amazon-efs-utilsRepite en instancia-B en la segunda terminal.
PASO 5 — Montar EFS en ambas instancias
Obtén el File system ID desde la consola (formato: fs-XXXXXXXX).
En instancia-A:
sudo mkdir /mnt/efs
sudo mount -t efs fs-XXXXXXXX:/ /mnt/efs
df -h /mnt/efsEn instancia-B:
sudo mkdir /mnt/efs
sudo mount -t efs fs-XXXXXXXX:/ /mnt/efs
df -h /mnt/efs💬 “Las dos instancias están montando el mismo sistema de archivos. Noten que es el mismo File system ID en ambas.”
PASO 6 — El momento clave: escritura compartida en tiempo real
En instancia-A crea un archivo:
sudo bash -c 'echo "Escrito desde instancia-A" > /mnt/efs/compartido.txt'
ls /mnt/efsInmediatamente en instancia-B sin hacer nada más:
ls /mnt/efs
cat /mnt/efs/compartido.txtEl archivo aparece en instancia-B instantáneamente.
💬 “No hubo transferencia, no hubo sincronización, no hubo copia. Es el mismo sistema de archivos. Esto es lo que lo diferencia fundamentalmente de EBS.”
Ahora desde instancia-B agrega contenido:
sudo bash -c 'echo "Modificado desde instancia-B" >> /mnt/efs/compartido.txt'
cat /mnt/efs/compartido.txtVerifica en instancia-A:
cat /mnt/efs/compartido.txtAmbas lĂneas visibles desde las dos instancias.
PASO 7 — Contrastar con EBS
đź’¬ “¿PodrĂan hacer esto con EBS? No. Un volumen EBS estándar solo puede estar adjunto a una instancia a la vez, y vive en una sola AZ. EFS no tiene esas limitaciones.”
| EBS | EFS | |
|---|---|---|
| Instancias simultáneas | 1 (estándar) | Miles |
| AZ | Una sola | Toda la regiĂłn |
| Capacidad | Fija, la defines tú | Elástica, automática |
| SO requerido | Linux o Windows | Solo Linux |
| Protocolo | Block | NFS |
PASO 8 — Limpieza
En ambas instancias:
sudo umount /mnt/efsEn la consola:
- Terminate ambas instancias EC2
- EFS → demo-efs → Delete
đź’¬ “EFS cobra por GB almacenado por mes. Un sistema de archivos vacĂo no genera cargos significativos, pero es buena práctica eliminarlo si no lo necesitan.”
Tiempo estimado
| Segmento | Tiempo |
|---|---|
| Crear EFS + verificar mount targets | ~5 min |
| Lanzar instancias + instalar cliente | ~8 min |
| Montar en ambas instancias | ~4 min |
| Demo de escritura compartida | ~5 min |
| Contraste EBS vs EFS + limpieza | ~5 min |
| Total | ~27 min |
Consejo práctico: La parte más lenta es esperar que los mount targets queden Available y que las instancias terminen de iniciar. Lanza todo en el PASO 2 y 3 al mismo tiempo y deja que inicien mientras explicas el concepto en las slides.: