AWS Nuke: Qué es, para qué sirve y cómo eliminar cuentas de AWS de forma segura

Cuando trabajás con AWS en serio —múltiples cuentas, entornos sandbox, CI/CD, pruebas automatizadas— limpiar recursos manualmente deja de ser una opción.
Ahí aparece una herramienta tan poderosa como peligrosa si no se entiende bien: AWS Nuke.
En este artículo vamos a ver:
✅ Qué es AWS Nuke
✅ Para qué sirve (y para qué no)
✅ Cómo funciona internamente
✅ Ejemplos de uso reales
✅ Buenas prácticas y advertencias
¿Qué es AWS Nuke?
AWS Nuke es una herramienta open source creada por Rebuy que permite eliminar casi todos los recursos de una cuenta de AWS de forma automática.
👉 En pocas palabras:
AWS Nuke destruye una cuenta de AWS para dejarla totalmente limpia.
Funciona vía AWS APIs y es capaz de borrar:
EC2, EBS, AMIs
S3 buckets
RDS, DynamoDB
Lambda
API Gateway
EKS / ECS
CloudWatch
IAM roles (no root)
Y muchos más
¿Por qué existe AWS Nuke?
Porque AWS NO tiene un botón de “delete everything”.
Usos típicos:
Cuentas sandbox descartables
Ambientes de testing automatizado
Laboratorios de training
Reset completo antes de reutilizar una cuenta
CI/CD que crea infraestructura efímera
¿Qué NO es AWS Nuke?
❌ No es una herramienta de limpieza selectiva
❌ No es para producción
❌ No es “terraform destroy”
❌ No tiene rollback
💡 Si lo ejecutás mal, perdés la cuenta completa (datos incluidos).
Cómo funciona AWS Nuke
El flujo general es:
Se conecta a una cuenta AWS usando credenciales
Lista todos los recursos soportados
Aplica filtros y exclusiones
Elimina recurso por recurso
Reintenta hasta que no queda nada
⚠️ Algunos recursos requieren múltiples pasadas (por dependencias).
Instalación de AWS Nuke
Opción 1: Binario
brew install aws-nuke
o descargando el binario desde GitHub.
Opción 2: Docker (muy recomendado)
docker run --rm -it \
-v $(pwd)/config.yml:/config.yml \
quay.io/rebuy/aws-nuke:v2.25.0 \
aws-nuke -c /config.yml --dry-run
Archivo de configuración (config.yml)
Ejemplo básico:
regions:
- us-east-1
- global
account-blocklist:
- "123456789012" # Cuenta productiva (NUNCA NUKLEAR)
accounts:
"111111111111":
filters:
IAMUser:
- "admin"
🔎 Conceptos clave del config
✅ regions
Define dónde buscar y borrar recursos.
✅ account-blocklist
Crítico. Obligatorio.
Previene nukear cuentas prohibidas.
✅ Best practice: incluir SIEMPRE la cuenta root y producción.
Dry Run (modo seguro)
Antes de ejecutar nada:
aws-nuke -c config.yml --dry-run
Este modo:
No elimina nada
Muestra exactamente qué se borraría
Es obligatorio correrlo siempre
💡 Nunca ejecutes AWS Nuke en modo activo sin un dry-run previo.
Ejemplo 1: Limpiar una cuenta sandbox
Caso típico:
Developers prueban cosas
Recursos quedan colgados
Costos innecesarios
Config simple:
regions:
- us-east-1
- global
account-blocklist:
- "999999999999"
accounts:
"111111111111": {}
Ejecución real:
aws-nuke -c config.yml --no-dry-run
Resultado:
✅ Cuenta completamente vacía
✅ Lista para reutilizar
Ejemplo 2: Integración con CI/CD
Uso común:
Pipeline crea una cuenta temporal
Ejecuta tests
Al final → nuke automático
Ejemplo en pipeline:
aws-nuke -c config.yml --force --no-dry-run
Flags importantes:
--force: no pide confirmación interactiva--no-dry-run: ejecuta de verdad
⚠️ Usar solo en cuentas descartables.
Ejemplo 3: Training y workshops
En workshops:
Cada alumno tiene su cuenta
Al finalizar el día → reset total
AWS Nuke permite:
Evitar costos residuales
Reutilizar cuentas para el próximo grupo
Garantizar entorno limpio
Filtros y exclusiones
AWS Nuke NO puede borrar todo (ej: root user), pero sí casi todo.
Ejemplo: proteger un bucket específico
accounts:
"111111111111":
filters:
S3Bucket:
- "important-logs-bucket"
Seguridad y buenas prácticas
✅ Usar siempre:
SCPs que bloqueen AWS Nuke en prod
account-blocklist
Dry run obligatorio
✅ Ejecutar desde:
Cuenta de seguridad
Rol dedicado
Pipeline controlado
❌ Nunca:
Ejecutar manualmente “por las dudas”
Usar en prod
Omitir blocklist
AWS Nuke + SCPs (combinación ideal)
Una muy buena práctica es:
✅ SCP bloquea acciones destructivas en prod
✅ AWS Nuke solo funciona en:
Sandbox
Dev
Accounts efímeras
Esto alinea perfecto con:
AWS CAF
Control preventivo
Gobierno organizacional
Conclusión
AWS Nuke es una motosierra.
En manos correctas:
✅ Ahorra tiempo
✅ Reduce costos
✅ Automatiza limpieza
En manos incorrectas:
💥 Destrucción total
Si trabajás con AWS a escala, AWS Nuke no es opcional, pero el gobierno sí es obligatorio.




