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.

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucket.html#aws-resource-s3-bucket--examples

Aquí puedes ver más detalles sobre este contenido y cómo puede ayudarte en el contexto del artículo.