Amazon API Gateway es un servicio completamente administrado que facilita a los desarrolladores la publicación, el mantenimiento, el monitoreo, la protección y la utilización de las API a cualquier escala. Se trata de un servicio de pago por uso que se ocupa de las tareas más arduas relacionadas con la ejecución segura y de confianza de las API a escala.

Con la proliferación de los dispositivos móviles y el desarrollo de Internet de las cosas (IoT), es cada vez más común permitir que las aplicaciones accedan a los datos y a los sistemas backend mediante API. Dado que hay muchas aplicaciones que utilizan estas API y existen comunidades de desarrolladores que dependen de ellas, cada vez se dedica más tiempo y esfuerzo al desarrollo y la administración de API. Para facilitar el uso de las API, API Gateway puede generar SDK de cliente para varios lenguajes, incluidos JavaScript, iOS y Android.

Compatible con las API RESTful y WebSocket

Con API Gateway, puede crear las API RESTful mediante el uso de las API HTTP o las API REST. Las API HTTP son el mejor modo de crear las API que no requieren características de administración de API. Las API HTTP están optimizadas para admitir cargas de trabajo sin servidor y backends de HTTP, ofrecen hasta un 71 % de ahorros en el costo y un 60 % de reducción de latencia en comparación con las API REST de API Gateway. Para las cargas de trabajo que requieren características de administración de API y funcionalidad de proxy de API en una única solución, tales como los planes de uso y claves de API, API Gateway ofrece las API REST. Para ver una comparación paralela de las características admitidas para las API de HTTP y las API de REST, consulte nuestra documentación. Utilice las API WebSocket para crear aplicaciones de comunicación bidireccional en tiempo real, como aplicaciones de chat y paneles de transmisión. Si desea obtener más información sobre las API RESTful y WebSocket de API Gateway, vaya a la página de preguntas frecuentes.

Integraciones privadas con AWS ELB y AWS Cloud Map

Con API Gateway, puede solicitar enrutamiento para recursos privados en su VPC. Con las API HTTP, puede crear las API para los servicios relacionados a los ALB privados, NLB privados y servicios basados en IP registrados en AWS Cloud Map, tales como las tareas de ECS.

Resiliencia

API Gateway contribuye a administrar el tráfico a sus sistemas backend, ya que permite establecer reglas de limitación controlada a partir del número de solicitudes por segundo para cada método HTTP de las API. API Gateway gestiona cualquier nivel de tráfico recibido por una API para que pueda concentrarse en los servicios y la lógica del negocio, en lugar de en el mantenimiento de la infraestructura. Si utiliza las API REST, también puede configurar una caché con tiempo de duración en segundos y claves personalizables para evitar que los datos de API lleguen a los servicios backend en cada solicitud.

Proceso sencillo de creación e implementación de API

Con API Gateway, puede crear una API personalizada de manera rápida y sencilla para el código ejecutado en AWS Lambda y, a continuación, llamar a dicho código de Lambda desde la API. API Gateway puede ejecutar código de AWS Lambda en su cuenta, iniciar máquinas de estado de AWS Step Functions o realizar llamadas a AWS Elastic Beanstalk, Amazon EC2 o servicios web ajenos a AWS con puntos de conexión HTTP de acceso público. Mediante la consola de API Gateway, puede definir una API REST y los recursos y métodos asociados, administrar el ciclo de vida de la API, generar SDK de cliente y ver métricas de la API.

Monitoreo de las operaciones de API

Una vez implementada y en uso un API, API Gateway proporciona un panel de control para que pueda monitorear las llamadas a los servicios. La consola de API Gateway se integra con Amazon CloudWatch, lo que permite obtener métricas de rendimiento de backend, como las llamadas a las API, la latencia y las tasas de error. Como API Gateway utiliza CloudWatch para registrar la información de monitoreo, puede configurar alertas personalizadas en las API de API Gateway. API Gateway también puede registrar errores de ejecución de las API en CloudWatch Logs para facilitar la depuración.

Autorización de AWS

Para autorizar y verificar las solicitudes de las API a los servicios de AWS, API Gateway le permite utilizar la versión 4 de la firma para las API REST y WebSocket. Mediante la autenticación con la versión 4 de la firma, puede usar AWS Identity and Access Management (IAM) y políticas de acceso para autorizar el acceso a las API y a otros recursos de AWS. También puede usar funciones de AWS Lambda para verificar y autorizar tokens de portador como tokens JWT o aserciones SAML.

Claves de API para desarrolladores de terceros

Si utiliza las API REST, API Gateway contribuye a administrar el ecosistema de desarrolladores de terceros que pueden obtener acceso a sus API. Puede crear claves de API en API Gateway, establecer permisos de acceso minuciosos para cada clave de API y distribuirlas entre los desarrolladores de terceros para que obtengan acceso a sus API. También puede definir planes que configuren límites de cuota de solicitudes y limitación para cada clave de API individual. El uso de las claves de API es totalmente opcional y debe activarse para cada método.

Generación de SDK

Si utiliza las API REST, API Gateway puede generar SDK de cliente para varias plataformas, que puede utilizar para poner a prueba API nuevas de las aplicaciones con rapidez y distribuir SDK a desarrolladores de terceros. Los SDK generados pueden administrar las claves de las API y las solicitudes de inicio de sesión mediante las credenciales de AWS. API Gateway puede generar SDK de cliente para Java, JavaScript, Java para Android, Objective-C o Swift para iOS y Ruby. Si desea utilizar la CLI de AWS a fin de generar y descargar un SDK de una API para una plataforma compatible, llame al comando get-sdk.

Administración del ciclo de vida de las API

Si utiliza las API REST, API Gateway le permite ejecutar varias versiones de la misma API simultáneamente, de modo que las aplicaciones puedan seguir llamando a versiones anteriores de la API incluso después de que se publiquen las versiones más recientes. API Gateway también contribuye a administrar varias fases de publicación de cada versión de API, como alfa, beta y producción. Puede configurarse cada fase de API para que interactúe con distintos puntos de conexión de backend en función de su configuración de API. Las distintas fases y versiones de una API se pueden asociar con un nombre de dominio personalizado y administrar a través de API Gateway. La administración de fases y versiones permite poner a prueba con facilidad nuevas versiones de las API que mejoran versiones anteriores o les añaden nuevas funcionalidades, y garantiza la compatibilidad con estas a medida que las comunidades de usuarios se van pasando a la versión más reciente.