Amazon API Gateway

Servicio totalmente gestionado para crear, publicar y administrar REST API, HTTP API y WebSocket API, funcionando como puerta de entrada a Lambda y otros servicios AWS

Descripción general

Amazon API Gateway es un servicio totalmente gestionado para crear, publicar, mantener, monitorear y proteger APIs a cualquier escala. Soporta tres tipos: REST API, HTTP API y WebSocket API, pudiendo conectar funciones Lambda, instancias EC2 y cualquier endpoint HTTP como backend. Proporciona de forma integral funcionalidades necesarias para la gestión de APIs: gestión de claves API, planes de uso, throttling, transformación de solicitudes/respuestas, autenticación/autorización con Cognito o IAM, y configuración de nombres de dominio personalizados. HTTP API es más económica (aproximadamente 70% más barata) y de menor latencia que REST API, siendo adecuada para proxies API simples. WebSocket API soporta comunicación bidireccional en tiempo real, útil para construir aplicaciones de chat y dashboards en vivo.

Criterios de selección entre REST API y HTTP API

API Gateway ofrece dos tipos de API basadas en HTTP: REST API y HTTP API, que se seleccionan según los requisitos. REST API cuenta con funcionalidades avanzadas como transformación de solicitudes/respuestas (mapping templates), control de acceso mediante claves API y planes de uso, validación de solicitudes, caché, integración con WAF y canary releases. Es adecuada para APIs empresariales o cuando se requieren transformaciones complejas de solicitudes. HTTP API omite algunas de estas funcionalidades avanzadas a cambio de un precio de aproximadamente el 30% de REST API (alrededor de 1,29 USD vs 4,25 USD por millón de solicitudes) y menor latencia. Soporta nativamente autorizadores JWT, configuración automática de CORS e integración con OpenID Connect/OAuth 2.0, ofreciendo funcionalidad suficiente como proxy simple hacia Lambda o backends HTTP. Mientras que Azure API Management es una plataforma integral que incluye portal de desarrolladores y gestión del ciclo de vida de APIs, API Gateway se especializa en la integración con Lambda como entrada a arquitecturas serverless, con facturación completamente por uso donde el costo es cero cuando no se utiliza.

Diseño de autenticación/autorización y throttling

La autenticación/autorización de API Gateway varía según el tipo de API. REST API permite elegir entre tres mecanismos: autorizador Cognito, autorizador Lambda (basado en token/basado en solicitud) y autenticación IAM. HTTP API soporta nativamente autorizadores JWT, pudiendo validar directamente tokens de proveedores OIDC como Cognito o Auth0, eliminando la necesidad de escribir un autorizador Lambda. La configuración de throttling puede establecerse tanto a nivel de cuenta (por defecto 10.000 rps) como a nivel de stage y método, previniendo la sobrecarga del backend. Combinando planes de uso con claves API, se pueden establecer límites de solicitudes por socio externo y monitorear el uso de la API. Libros relacionados (Amazon) también son una referencia útil.

Gestión de stages y canary releases

La función de stages de API Gateway es un mecanismo para operar múltiples versiones de la misma API en paralelo. Utilizando variables de stage, se pueden especificar diferentes funciones Lambda o URLs de backend para cada entorno dev/staging/prod, completando la promoción entre entornos simplemente cambiando el deployment. REST API permite canary releases, donde se aumenta gradualmente el tráfico hacia la nueva versión desde un 10%, monitoreando la tasa de errores y latencia con métricas de CloudWatch, con posibilidad de rollback inmediato si hay problemas. Combinando nombres de dominio personalizados con certificados ACM, se pueden proporcionar endpoints API con marca como api.example.com, y también es posible consolidar múltiples APIs en un solo dominio mediante base path mapping. WebSocket API soporta comunicación bidireccional en tiempo real, útil para construir aplicaciones de chat y dashboards en vivo.

共有するXB!