DEV Community

Alex Rodríguez for AWS Español

Posted on

Sandbox: tu Rent-a-Cloud en AWS y evita gastar 💸 sin sorpresas.

Y después de renovar por segundo año como Community Builders, de pasar por mil rachas, eventos y líos varios… volvemos a estar aquí con algo que durante años tuvimos que montar a mano, a base de herramientas sueltas, scripts y, por supuesto, discusiones con los solicitantes de cuentas temporales en AWS.

Hoy vuelve #awtwins a enseñarte una solución que automatiza por fin los entornos efímeros en AWS: cuentas temporales, controladas, limpias, y con presupuesto, como si alquilasemos un coche 🚗


💡 El clásico problema del entorno temporal

Pedir cuentas temporales en AWS suele implicar:

  • 🧩 Mucha gestión manual
  • 🔐 Poca trazabilidad
  • 💸 Riesgo de gasto sin control
  • 🧹 Y limpieza… si alguien del equipo se acuerda (ehem, ehem).

Antes usábamos Nuke (tenemos algún post sobre eso también) para limpiar las cuentas y reutilizarlas, pero…

Awtwins-nuke

¿Cómo garantizabas que no eliminabas algo que no debías?
¿Y si el developer necesitaba más tiempo con la cuenta?
¿O quería acceso a otros servicios no permitidos?

Innovation Sandbox on AWS

Amazon ha publicado una solución preconfigurada que automatiza y gestiona:

  • Creación y control de entornos efímeros
  • Asignación temporal de cuentas a usuarios
  • Aplicación de Service Control Policies
  • Presupuestos con alertas
  • Reciclaje automático de cuentas con AWS Nuke

Y aquí viene lo divertido: tenemos una UI propia para gestionar todo, inicio de sesión con SSO y posibilidad de extender la solución a medida.

⚙️ Cómo lo desplegamos

Como no podía ser de otra forma, dejamos la documentación por aquí (está bastante bien explicada, pero me gustaría remarcar un par de cositas).

Innovation-Sandbox

🔸 Paso 1 – Cumplir con todos los pre-requisitos (IMPORTANTE).
🔸 Paso 2 – Lanzar stacks (AccountPool + IDC) en tu cuenta de management
🔸 Paso 3 – Lanzar stacks (Data + Compute) en tu cuenta de gestión de la solución.
🔸 Paso 4 – Completar Post-deployment Configuration
🔸 Paso 5 - Generar cuentas y añadirlas a la OU Active

🚨 Esta solución no genera las cuentas del Pool automáticamente.**

🚨 Aseguraros desplegar los stacks en las cuentas que toca, si no, deberéis de redesplegar toda la solución, ya que no funcionará.**


Una vez realizados estos pasos, podemos ir al stack de Compute (en la sección Outputs), copiar el endpoint, pegarlo en el navegador y ya tenemos nuestra solución funcionando.

Cloudfront

Al acceder con nuestro usuario SSO con permisos de ADMIN, veremos el panel principal de la solución, desde donde podremos gestionar todo el entorno.

Image description

Una vez dentro, crearemos nuestro lease template, que define las condiciones de uso de las cuentas sandbox (duración, permisos, etc.).

Image description

Dentro de este template encontramos varias opciones muy interesantes.
Definimos un título para nuestro Lease.
new-lease-title

Configuramos un presupuesto (budget) y definimos las acciones que queremos ejecutar cuando se supere el límite establecido.
Image description

Definimos cuánto tiempo estará activa la cuenta antes de ser reciclada y las acciones.
Image description

Con el template ya creado y usando un usuario Member, accedemos al endpoint de cloudfront para ver que ya podemos solicitar un nuevo lease utilizando las plantillas definidas desde el rol de administrador.

Image description

Una vez que el administrador haya aprobado la solicitud de cuenta, podremos ver nuestros leases (en mi caso, aparecen dos, por las pruebas que he realizado para este post).

Image description

En cuanto el administrador nos lo apruebe podremos acceder a nuestra cuenta desde el panel.

Image description

Ya podemos trabajar con nuestra cuenta, sin miedo a romper nada… ni a gastar de más y lo más importante de todo, una vez el tiempo o el budget definido expira, esta cuenta automáticamente vuelve al pool de cuentas disponibles, por lo que otro usuario puede solicitarla.

Os recomendamos revisar todo lo que ofrece AWS en su documentación (¡vale la pena!), y a curiosear cómo se pueden ajustar presupuestos, políticas y configuraciones usando AWS AppConfig de forma dinámica donde también se define el e-mail al que le llegarán las notificaciones.

Conclusión

Montar un entorno de sandbox temporal en AWS ya no tiene por qué ser una pesadilla de tools, correos, discusiones y gastos imprevistos.

Con la solución de Innovation Sandbox, podemos ofrecer cuentas aisladas, temporales y seguras, con:

  • Presupuestos controlados,
  • Restricciones automáticas,
  • Limpieza garantizada,
  • Y todo gestionado desde una interfaz, con posibilidad de customizar según nuestras necesidades

Como siempre, cualquier cosa nos podéis encontrar por Linkedin o incluso dejarnos vuestros comentarios por aquí! :)

https://docs.aws.amazon.com/solutions/latest/innovation-sandbox-on-aws/solution-overview.html

Top comments (0)