Home » Limpiar tu cuenta AWS con cloud-nuke
Cloud-nuke para limpiar recursos AWS

Limpiar tu cuenta AWS con cloud-nuke

¿Tienes recursos olvidados en AWS que están generando costos innecesarios? Descubre cómo utilizar cloud-nuke , una herramienta poderosa y fácil de usar, para limpiar tu cuenta de AWS de forma rápida y segura. En este artículo, te guío a través de su funcionamiento, ejemplos prácticos y consejos clave para mantener tu infraestructura cloud organizada y eficiente. ¡Controla tus costos y simplifica tu vida con cloud-nuke ! 🚀

Si alguna vez te has sentido abrumado por la acumulación de recursos olvidados en tu cuenta de Amazon Cloud, entonces Limpiar tu cuenta AWS con cloud-nuke es justo lo que necesitabas. Ya sabes, esos buckets S3 que creaste para una prueba rápida o instancias EC2 que dejaste encendidas sin querer… todos esos «detalles» pueden sumar costos innecesarios y hasta ser un riesgo de seguridad.

Por suerte, existe una herramienta que puede salvarnos de este caos: cloud-nuke.

Es como un «botón de reset» para tu cuenta de AWS, diseñado para eliminar de manera segura y controlada los recursos que ya no necesitas. Y lo mejor de todo, es rápido, fácil de usar y te evita perder horas navegando por la consola de AWS.

En este post, exploraremos cómo funciona esta herramienta y cómo puedes aprovecharla al máximo sin meterte en problemas. ¡Vamos a hacerlo! 🚀

¿Qué es Cloud-Nuke?

En términos simples, cloud-nuke es una herramienta CLI desarrollada en Go que permite eliminar de manera masiva los recursos de AWS en una cuenta.

Fue creada por Gruntwork , una empresa conocida por sus soluciones de infraestructura como código (IaC).

La idea detrás de esta herramienta es simple pero poderosa: limpiar rápidamente recursos que ya no necesitas para evitar costos innecesarios y mantener tu cuenta organizada .

A diferencia de hacerlo manualmente desde la consola de AWS (que puede ser tedioso y propenso a errores), cloud-nuke automatiza el proceso. Puedes configurarlo para que elimine recursos específicos, excluir ciertos elementos importantes y ejecutarlo en cuentas de desarrollo o pruebas sin riesgos indebidos.

¿Por qué limpiar tu cuenta AWS con Cloud-Nuke?

Antes de meternos en ejemplos prácticos, hablemos de por qué deberías considerar esta herramienta:

  1. Costos descontrolados : AWS cobra por cada recurso que mantienes activo, incluso si no lo estás usando. Un bucket S3 olvidado o una instancia EC2 o RDS encendida pueden sumar gastos inesperados.
  2. Seguridad : Recursos abandonados pueden convertirse en vectores de ataque si no están bien configurados. Eliminarlos reduce la superficie de exposición.
  3. Organización : Mantener una cuenta limpia facilita la gestión y evita confusiones cuando necesitas encontrar algo específico.
  4. Automatización : En lugar de perder horas navegando por la consola de AWS, cloud-nuke puede hacer el trabajo en minutos.
  5. Ideal para entornos efímeros : Si usas AWS para pruebas rápidas o proyectos temporales, cloud-nuke es perfecto para limpiar después de ti.

Instalación y Configuración

Lo primero que necesitas es instalar cloud-nuke. Afortunadamente, es bastante sencillo. Aquí tienes un resumen rápido:

Instalación

Puedes descargar el binario directamente desde el repositorio oficial en GitHub:

wget https://github.com/gruntwork-io/cloud-nuke/releases/download/v0.11.0/cloud-nuke_linux_amd64
chmod +x cloud-nuke_linux_amd64
sudo mv cloud-nuke_linux_amd64 /usr/local/bin/cloud-nuke

Nota : Asegúrate de descargar la versión correcta para tu sistema operativo. Si usas macOS, busca el archivo correspondiente en la página de releases.

Configuración

Para que cloud-nuke funcione, necesita acceso a tu cuenta de AWS. Esto se logra configurando credenciales mediante el archivo ~/.aws/credentials o variables de entorno. Por ejemplo:

export AWS_ACCESS_KEY_ID=your-access-key-id
export AWS_SECRET_ACCESS_KEY=your-secret-access-key

También puedes usar roles IAM si prefieres no manejar claves directamente.


Uso Básico

Una vez instalado y configurado, usar cloud-nuke es increíblemente sencillo. Aquí tienes algunos ejemplos para que veas cómo funciona.

1. Listar los recursos que se eliminarán

Antes de lanzar la bomba, es buena idea ver qué recursos están en la mira. Para eso, usa el comando --dry-run:

cloud-nuke aws --dry-run --region us-east-1

Esto mostrará una lista de todos los recursos que cloud-nuke considera «eliminables». Por defecto, incluye cosas como instancias EC2, buckets S3, grupos de seguridad, AMIs y más.

Ejemplo de cloud-nuke --dry-run

Consejo : Si ves algo importante en la lista que no quieres eliminar, sigue leyendo para aprender cómo excluirlo.

2. Ejecutar la limpieza

Cuando estés listo para eliminar los recursos, simplemente ejecuta:

cloud-nuke aws

El comando te pedirá confirmación antes de proceder, así que no te preocupes por errores involuntarios. Una vez confirmes, cloud-nuke hará su magia y eliminará todo lo que encuentre.

3. Limpiar solo ciertos tipos de recursos

Quizás no quieras eliminar todo . Por ejemplo, podrías querer limpiar solo instancias EC2 o buckets S3. Para eso, usa el flag --resource-type:

cloud-nuke aws --resource-type ec2

4. Excluir recursos importantes

Si tienes recursos que definitivamente no quieres eliminar, puedes excluirlos usando el flag --exclude. Por ejemplo:

cloud-nuke aws --exclude i-0abcd1234,i-0efgh5678

Esto omitirá las instancias EC2 con los IDs especificados.

También puedes usar etiquetas para excluir recursos. Por ejemplo, si todas tus instancias de producción tienen la etiqueta Environment=production, puedes excluirlas así:

cloud-nuke aws --exclude-tag-key Environment --exclude-tag-value production

Ejemplos Prácticos

Ahora que sabes lo básico, veamos algunos escenarios reales donde cloud-nuke puede ser útil.

Escenario 1: Limpiar una cuenta de pruebas

Imagina que tienes una cuenta de AWS dedicada exclusivamente a pruebas. Después de un sprint de desarrollo, decides que es hora de limpiar todo para empezar de cero. Con cloud-nuke, esto es pan comido:

cloud-nuke aws --resource-type ec2,s3,security-group

Este comando eliminará todas las instancias EC2, buckets S3 y grupos de seguridad en la cuenta. ¡Listo! Ahora tienes una cuenta limpia y lista para el próximo proyecto.

Escenario 2: Evitar costos sorpresa

Digamos que te das cuenta de que tienes varias instancias EC2 encendidas en una región específica (us-east-1) que ya no necesitas. Puedes usar cloud-nuke para eliminar solo esas instancias:

cloud-nuke aws --resource-type ec2 --region us-east-1

Escenario 3: Automatizar la limpieza

Si trabajas en un equipo grande, probablemente quieras automatizar la limpieza de recursos. Puedes agregar cloud-nuke a un cron job o pipeline CI/CD. Por ejemplo, aquí tienes un script simple que puedes programar para ejecutarse semanalmente:

#!/bin/bash
echo "Limpiando recursos innecesarios..."
cloud-nuke aws --exclude-tag-key Environment --exclude-tag-value production
echo "Limpieza completada."

Guarda este script como cleanup.sh, hazlo ejecutable (chmod +x cleanup.sh) y configúralo en tu cron:

crontab -e

Y agrega esta línea para ejecutarlo todos los domingos a medianoche:

0 0 * * 0 /path/to/cleanup.sh

Precauciones al limpiar tu cuenta AWS con cloud-nuke

Como cualquier herramienta poderosa, cloud-nuke debe usarse con cuidado. Aquí tienes algunos consejos para evitar problemas:

  1. Usa siempre --dry-run primero : Nunca ejecutes cloud-nuke sin verificar qué va a eliminar.
  2. Excluye recursos críticos : Usa etiquetas o IDs para proteger recursos importantes.
  3. No lo uses en producción sin supervisión : Aunque puedes excluir recursos, siempre hay margen para errores humanos.
  4. Revisa los permisos IAM : Asegúrate de que las credenciales que usas tengan los permisos mínimos necesarios.
  5. Documenta tu uso : Si trabajas en equipo, asegúrate de que todos sepan cuándo y cómo se está usando cloud-nuke.

Conclusión

Cloud-nuke es una herramienta increíblemente útil para mantener tus cuentas de AWS limpias, organizadas y libres de costos innecesarios. Ya sea que estés limpiando una cuenta de pruebas, eliminando recursos olvidados o automatizando la gestión de infraestructura, esta herramienta puede ahorrarte mucho tiempo y dolores de cabeza.

Sin embargo, recuerda que con grandes poderes vienen grandes responsabilidades. Usa cloud-nuke con precaución, revisa siempre qué vas a eliminar y nunca lo ejecutes sin entender completamente su impacto.

Espero que este post te haya sido útil y que cloud-nuke se convierta en una herramienta más en tu arsenal de DevOps. Si tienes alguna pregunta, comentario o experiencia propia con esta herramienta, ¡déjalo en los comentarios! Me encantaría saber cómo la estás usando.

Nos vemos en el próximo post. ¡Feliz nukeo! 🚀

Post navigation

Deja un comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *