Amazon CloudFormation | IaC Infrastructure as Code
Resumen General
CloudFormation es un servicio de AWS que nos permite organizar nuestra arquitectura en base a Templates, simplificando la administración de infraestructura y ofreciendo ventajas como la capacidad de replicar infraestructura en otras regiones y controlar y rastrear cambios.
Links de Contenido
Anotaciones:
¿Qué es CloudFormation?
CloudFormation nos permite organizar nuestra arquitectura en base a Templates, el yaml se traduce a JSON, el YAML es mejor en cuanto a su lectura, edición y mantenimiento que JSON.
- Estructurado en un archivo de texto fácil de leer y editar.
- Permite la creación de infraestructura de manera escalable y repetible.
- Soporte a templates existentes o generación de nuevos.
- Permite la creación de infraestructura en diferentes regiones con parámetros diferentes.
Ventajas de utilizar CloudFormation
Administración de infraestructura simplificada, tenemos la posibilidad de utilizar templates existentes o generar nuevos, la ventaja más significativa es que con un comando podemos borrar todo lo que generamos.
- Rápida replicación de infraestructura en otras regiones.
- Controlar y rastrear cambios en nuestra infraestructura.
- Permite la creación de *Run Books* (manuales de como levantar y manejar infraestructura).
Parámetros de CloudFormation
Evitar tener la misma infraestructura innecesaria, siempre pide parámetros que son ligeramente diferentes.
- Allowed pattern, reglas en formato de regex las limitantes en el bloque
- Allowed Values, podemos devolver una lista de lo cual puede elegir
- Constraint Description: los limitantes
- MaxLength y max value: permite limitar el máximo
- Aws-specific parameters types: Nos devuelve una lista de aws con todo lo disponible para poder utilizar según lo que especifiquemos
Buenas prácticas
Ser muy descriptivo o dejar libre una vulnerabilidad.
AWS CLI y CloudFormation
Seguir el readme del proyecto explicamos los comandos y cómo utilizarlos y que hacen.
Aquí puedes ver más detalles sobre este contenido y cómo puede ayudarte en el contexto del artículo.