Cómo configurar API Gateway para Lambdas
Clase 18 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
09:34 min - 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
Viendo ahora
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
Configura con confianza un flujo seguro para exponer Lambdas dentro de una BPC usando un API Gateway. Aquí verás cómo definir rutas, agregar integraciones, evitar riesgos de single point of failure y probar todo con Postman sin perder el aislamiento ni la seguridad de tus funciones.
¿Cómo expone un API Gateway Lambdas en una BPC sin perder seguridad?
Unas Lambdas dentro de una BPC están aisladas y no son accesibles desde un endpoint público. Justo eso buscamos: que sean invisibles para usuarios. La solución es colocar un API Gateway como puerta de entrada: definimos endpoints y él enruta hacia las Lambdas configuradas.
- BPC: aislamiento total y cero exposición directa.
- API Gateway: única entrada pública con rutas controladas.
- Endpoints: definidos por método y resource para cada Lambda.
¿Qué riesgos introduce el concepto de single point of failure?
El API Gateway se vuelve un único punto de falla o single point of failure. Si falla, impacta todo el sistema.
- Poner un balanceador de carga al frente para distribuir tráfico.
- Validar entradas en el API Gateway para fallar rápido.
- Bloquear ciertas peticiones que no cumplan criterios.
¿Qué rol tendrá la Lambda de autorización?
Se agregará un Lambda de autorización para permitir solo peticiones confiables.
- Autorización previa a enrutar.
- Próximamente se validará que las peticiones a GetMetrics vengan solo del engineering manager usando Auth0.
¿Cómo crear una HTTP API y enrutar a Lambdas paso a paso?
Desde la consola de AWS, busca API Gateway y crea tu primera API. Elige el tipo adecuado y define integraciones hacia Lambdas específicas.
¿Qué tipo de API elegir en AWS?
Se muestran varias opciones: HTTP API, WebSocket, REST API, REST API privada. En este flujo se elige una HTTP API creada desde la consola.
- Integraciones posibles: URLs HTTP o Lambdas.
- Lambdas seleccionadas: HandleGitHubWebhook y GetMetrics.
- Nombre de la API: Plazicourse.
¿Cómo definir rutas y parámetros?
Diseña las rutas para que cada petición llegue a su Lambda objetivo.
- POST /commit: enruta a la Lambda HandleGitHubWebhook.
- GET /metrics/{auth email}: enruta a GetMetrics usando el parámetro de filtro “auth email”.
- Uso del parámetro: consultar en base de datos “commits” o métricas asociadas a un email.
- Objetivo: mantenerlo general para futuras modificaciones de métricas.
¿Qué son stages y cómo proceder?
Los stages vienen por defecto y son opcionales en esta configuración inicial.
- Continúa con Next y revisa el resumen.
- Crea la API cuando todo luzca correcto.
¿Cómo probar el invoke URL con Postman y validar el enrutamiento?
Una vez creada la API, localiza la URL pública que el API Gateway expone y verifica que las rutas apunten a las Lambdas esperadas.
¿Dónde encontrar el invoke URL?
En el panel izquierdo, busca el invoke URL: es el endpoint público para tus Lambdas.
- Copia el invoke URL.
- Úsalo como base en tu herramienta de pruebas (por ejemplo, Postman).
¿Cómo probar GetMetrics con un dummy value?
Crea una nueva petición HTTP tipo get en Postman.
- URL: base + /metrics/dummy.
- Respuesta esperada: “Hello from getmetrics”.
- Confirmación: el enrutamiento a GetMetrics funciona.
¿Cómo verificar la ruta commit?
Crea otra petición HTTP tipo post.
- URL: base + /commit.
- Respuesta esperada: “Hello from HandleGitHubNotifications”.
- Confirmación: el enrutamiento a HandleGitHubWebhook funciona.
Ya tienes el API Gateway enrutando peticiones hacia tus Lambdas, manteniéndolas seguras e invisibles para usuarios. ¿Quieres que comentemos cómo integrar el Lambda de autorización y la validación con Auth0 para tu engineering manager?