Fundamentos de las plantillas de CloudFormation

Automatización de despliegues en AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Por qué infraestructura como código

deriva

  • Clics manuales en la consola provocan drift con el tiempo
  • IaC declara el estado deseado en un archivo
  • Repetible, revisable, versionado
  • CloudFormation, SAM y CDK son los toolkits de AWS
Automatización de despliegues en AWS

Anatomía de una plantilla de CloudFormation

parámetro

  • Resources (obligatorio): la infraestructura que quieres aprovisionar
  • Parameters: entradas que pasas al desplegar
  • Outputs: valores exportados por el stack
  • Mappings, Conditions, Transform: utilidades (Transform habilita SAM)
Automatización de despliegues en AWS

Funciones intrínsecas

intrínsecas

  • Ref: referencia a un parámetro u otro recurso
  • Fn::GetAtt: lee un atributo de un recurso
  • Fn::Sub: sustituye variables en una cadena
  • Forma corta: Ref, !GetAtt, !Sub
Automatización de despliegues en AWS

Las change sets previsualizan actualizaciones

  • Un change set previsualiza lo que hará una actualización
  • Enumera cada acción: Add, Modify, Remove
  • Señala recursos que serán reemplazados
  • Ejecuta o descarta, sin sorpresas

changeset

Automatización de despliegues en AWS

Detección de drift

  • Drift: recurso cambiado fuera de CloudFormation
  • Estado por recurso: IN_SYNC, MODIFIED, DELETED, NOT_CHECKED
  • Informe por recurso muestra qué difiere
  • Vuelve a desplegar la plantilla para reconciliar

detección

Automatización de despliegues en AWS

Desplegar y actualizar stacks

  • Create stack: el primer despliegue
  • Update stack: cambia recursos in situ
  • Stack events* muestra cada paso
  • Fallos de actualización hacen roll back al estado previo

actualizar

Automatización de despliegues en AWS

¡Vamos a practicar!

Automatización de despliegues en AWS

Preparing Video For Download...