Semana 2

Click-ops vs. infraestructura como código

Click-opsInfraestructura como código
Pasos manuales en la consolaRecursos descritos en un archivo
Sin registro de cambiosVersionado en git
Difícil de reproducirIdéntico en cada lanzamiento
El conocimiento vive en una personaEl conocimiento vive en el repositorio

Las funciones intrínsecas

  • !Ref — el valor de un parámetro, o el nombre de un recurso.
  • !GetAtt — un atributo de un recurso (Recurso.Atributo).
  • !Sub — sustituir variables dentro de un texto.

Conectan recursos sin escribir valores a mano.

Ejercicio 9

Seguir el rastro de la imagen

Abrir taller-semana1.yaml y seguir el recorrido del URI de la imagen: desde el parámetro que lo recibe, hasta el recurso que finalmente lo usa para ejecutar el contenedor. Identificar el nombre del parámetro, la función intrínseca que lo transporta, y el recurso de destino.

Tres formas de aplicar un cambio

AcciónQué ocurre
ModificaciónEl recurso se actualiza en sitio, sin interrupción.
Sin interrupciónEl cambio no afecta el servicio (por ejemplo, una etiqueta).
ReemplazoEl recurso se destruye y se crea de nuevo — puede causar interrupción.

Ejercicio 10

Actualizar el stack con un change set

Aumentar el número de tareas del servicio de una a dos. Hacerlo modificando el template, creando un change set, verificando que el servicio se modifica sin reemplazo, y ejecutando el cambio. Confirmar que hay dos tareas en ejecución.

Preguntas puente

  1. Cambiar DesiredCount a mano en la consola vs. con un change set: ¿qué es el drift?
  2. Si una tarea se cae, ¿quién arranca otra y cómo sabe qué imagen usar?
  3. Al borrar el stack, ¿sobreviven los datos de DynamoDB? ¿Por qué?