Cómo configurar API Gateway para Lambdas

Clase 18 de 30Curso de Ciberseguridad para Desarrollo Web

Resumen

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?

      Cómo configurar API Gateway para Lambdas