Configuración de API Gateway para Lambdas en AWS
Clase 18 de 30 • Curso de Ciberseguridad para Desarrollo Web
Resumen
¿Cómo configurar API Gateway para acceder a Lambdas en AWS?
Al tener nuestras funciones Lambda dentro de una VPC, se encuentran completamente aisladas del acceso público, lo cual es ideal para protegerlas. Sin embargo, para poder interactuar con ellas, necesitamos establecer un método de acceso controlado y seguro. Aquí es donde entra en juego el API Gateway, que actuará como puerta de entrada, definiendo los diversos endpoints necesarios para llegar a nuestras Lambdas.
¿Por qué es crucial el API Gateway?
El API Gateway no solo facilita el acceso a nuestras Lambdas, sino que también se convierte en el único punto de conexión a ellas. Sin embargo, esto lo vuelve el único punto de falla, es decir, si el API Gateway falla, no podremos acceder a nuestras funciones Lambda. Para mitigar este riesgo, podemos implementar diferentes estrategias:
- Balanceador de Carga: Añadir un balanceador de carga puede distribuir el tráfico, evitando que el API Gateway reciba más peticiones de las que puede manejar.
- Validación de Entradas: Configurar validaciones dentro del API Gateway para poder bloquear o desechar solicitudes sospechosas desde el principio.
- Lambda de Autorización: Proporcionar una capa de autorización que solo permita peticiones de fuentes confiables.
¿Cuáles son los tipos de API que podemos crear?
Dentro del servicio de API Gateway en AWS, existen varias opciones para crear APIs, tales como:
- HTTP API: Más sencilla y económica, ideal para microservicios y casos de usos básicos de HTTP.
- WebSocket API: Útil para aplicaciones que requieren comunicación bidireccional.
- REST API: Más funcional y robusta, adecuada para aplicaciones que requieren una estructura completa de REST.
- REST API Privada: Para cuando se necesita una mayor seguridad y la API no tiene que ser accesible desde internet.
En este caso, nos enfocaremos en crear una HTTP API que apunta directamente a nuestras Lambdas.
¿Cómo definir integraciones y rutas en el API Gateway?
Una vez configurada nuestra API desde la consola de AWS, el siguiente paso es definir las integraciones y las rutas:
-
Añadir Integraciones: Conectar la API a recursos como URLs HTTP y funciones Lambda. En este ejemplo, integraremos dos Lambdas:
handle.github.webhook
ygetmetrics
. -
Definir Rutas: Determinar el método HTTP (GET, POST, etc.) y el recurso al que se asignará cada Lambda. Por ejemplo:
handle.github.webhook
será un POST al recursocommit
.getmetrics
será un GET al recursometrics
, con un posible filtro por email.
¿Cómo probar la configuración del API Gateway con Postman?
Tras crear y configurar nuestra API Gateway, el paso final es probar su funcionamiento. Para ello, podemos usar herramientas de prueba como Postman:
-
Crear una nueva petición GET: Pegar la URL generada y añadir
/metrics/dummy
para comprobar la rutagetmetrics
. Al enviar la petición, deberíamos recibir una respuesta como "hello from getmetrics". -
Configurar una petición POST: Usar
/commit
según la ruta configurada parahandle.github.webhook
. La respuesta debería ser "Hello from handle GitHub notifications".
Estas pruebas nos confirman que las peticiones son gestionadas adecuadamente por el API Gateway, y que nuestras Lambdas permanecen seguras e invisibles al mundo exterior.
Finalmente, te animamos a seguir explorando y perfeccionando tus habilidades en el uso de AWS y herramientas relacionadas. Aprender a interactuar eficazmente con estas tecnologías fortalece tus capacidades y abre un universo de posibilidades en el desarrollo de aplicaciones escalables y seguras. ¡Continúa aprendiendo y ampliando tu horizonte tecnológico!