Curso de Ciberseguridad para Desarrollo Web

Configuración de AWS CLI para Terraform

Curso de Ciberseguridad para Desarrollo Web

Contenido del curso

Configuración de AWS CLI para Terraform

Resumen

La infraestructura como código con Terraform en AWS permite definir, versionar y auditar tu arquitectura con precisión. Aquí verás cómo conectar AWS CLI, crear access keys seguras en IAM, levantar una función Lambda desde cero y preparar buckets para código y metadatos de Terraform, manteniendo trazabilidad y control en todo momento.

¿Qué es infraestructura como código con Terraform en AWS?

La infraestructura como código se basa en describir servidores, provisiones y configuraciones mediante archivos de código. Terraform, herramienta de código abierto, crea, modifica y elimina recursos de forma eficiente según lo definido en tus archivos, dejándolos en AWS tal como los especificaste.

  • Versionado y cambios controlados de la arquitectura con archivos declarativos.
  • Creación, modificación y eliminación de recursos de forma rápida.
  • Paridad entre entornos y facilidad para auditar.

¿Por qué IaC es seguridad y auditoría?

Implementar IaC es en sí mismo una práctica de seguridad: permite replicar exactamente la infraestructura, auditar cambios y evitar modificaciones directas en la consola de AWS sin trazabilidad. Así, cada cambio queda registrado y es reproducible.

¿Qué rol cumple el Makefile en las Lambdas?

Terraform no construye software: solo provee arquitectura. Para empaquetar el código de las Lambdas en binarios, se definen pasos en un Makefile: compilar, generar el archivo .zip y dejarlo listo para ser referenciado desde AWS.

¿Cómo configurar AWS CLI, IAM y access keys de forma segura?

Se requiere acceso programático para que la línea de comandos pueda gestionar recursos. El flujo parte en IAM con un usuario administrador y continúa en la terminal con aws configure.

  • En IAM: usuario admin, pestaña de credenciales de seguridad, crear nueva access key para CLI.
  • Guardar la access key de forma segura: archivo CSV o un gestor como Bitwarden.
  • Verificar instalación de AWS CLI v2 y configurar con región por defecto.

¿Qué parámetros define aws configure?

  • Access key ID: pegar el valor creado en IAM.
  • Secret access key: mantenerlo confidencial.
  • Default region: por ejemplo, Ohio es us-east-2.
  • Output format: none.

¿Cómo verificar permisos con IAM?

Tras configurar, se valida que la CLI tenga permisos equivalentes a la consola ejecutando la API de IAM para listar usuarios. El resultado debe mostrar el usuario configurado, confirmando que la CLI quedó bien enlazada.

¿Cómo crear una función Lambda y preparar buckets para Terraform?

Desde la consola de AWS se puede crear una Lambda desde cero con runtime Amazon Linux, permisos mínimos necesarios y arquitectura por defecto. La función inicia vacía y requiere un código fuente en .zip.

  • Orígenes del código: subir manualmente el .zip o referenciar una ubicación en EC3.
  • El .zip debe contener el binario ya compilado (producido con Makefile).
  • Para automatizar, se prepara un bucket que almacenará el código de las Lambdas.

¿Cómo empaquetar y subir el código fuente en .zip?

  • Compilar el código y generar el binario con Makefile.
  • Empaquetar en .zip respetando la estructura esperada por Lambda.
  • Subir el .zip manualmente o dejarlo en EC3 para que la función lo consuma.

¿Qué requisitos tiene el nombre del bucket?

Para que Terraform administre versiones de la infraestructura y detecte cuándo actualizar, se crea un bucket dedicado en Ohio (us-east-2), con ajustes recomendados:

  • Bloquear acceso público al bucket.
  • Deshabilitar versioning si no se requiere.
  • Usar un nombre globalmente único en AWS (no solo en tu cuenta).

Con esto, queda lista la base para compilar el código a binario, subirlo y administrar la arquitectura con Terraform de forma coherente y auditada.

¿Tienes dudas sobre la configuración de CLI, la creación de Lambdas o los buckets para Terraform? Cuéntame en los comentarios qué parte quieres profundizar.