Configuración de AWS CLI para Terraform
Clase 12 de 30 • Curso de Ciberseguridad para Desarrollo Web
Contenido del curso
Funciona en mi local
Introducción a DevSecOps
Seguridad en la arquitectura
- 11

Arquitectura AWS para métricas de Git
02:24 min - 12

Configuración de AWS CLI para Terraform
Viendo ahora - 13

Terraform IAM: roles y policies automáticos
17:44 min - 14

Modificando main.tf para enlazar módulos IAM en Terraform
06:02 min - 15

Bucket S3 para Lambdas con Terraform
16:44 min - 16

Configuración de Postgres RDS con VPC y seguridad
14:10 min - 17

Configurando VPC para AWS Lambda con Terraform
12:29 min - 18

Cómo configurar API Gateway para Lambdas
05:42 min
Evitando vulnerabilidades en el código
- 19

Configuración completa de Auth0 para tokens
07:14 min - 20

Authorizer Lambda con Auth0 y JWT
16:56 min - 21

Conecta Go a Postgres usando AWS Secrets
13:35 min - 22

Conexión segura de Lambdas a Secrets con VPC
11:27 min - 23

Validación de webhooks desde GitHub con user-agent
12:08 min - 24

Cómo validar integridad de webhooks con HMAC
14:32 min
Controles de seguridad sobre datos
Monitoring y alertas
CORS y cierre
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.