Aspectos generales

P: ¿Qué es Amazon API Gateway?

Amazon API Gateway es un servicio completamente administrado que facilita a los desarrolladores la publicación, el mantenimiento, el monitoreo y la protección de las API a cualquier escala. Mediante unos pocos clics en la consola de administración de AWS, puede crear una API que haga las veces de "puerta delantera" para que las aplicaciones obtengan acceso a datos, lógica de negocio o funcionalidades desde sus servicios de back-end, como aplicaciones ejecutadas en Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS) o AWS Elastic Beanstalk, código ejecutado en AWS Lambda o cualquier aplicación web. Amazon API Gateway administra todas las tareas relacionadas con la aceptación y el procesamiento de hasta cientos de miles de llamadas simultáneas al API, entre ellas, la administración del tráfico, el control del acceso y la autorización, la monitorización y la administración de las versiones del API. Amazon API Gateway no requiere pagos mínimos ni costos iniciales. Para las API de HTTP y las API de REST, solo se paga por las llamadas a las API que reciba y la cantidad de datos salientes transferidos. Para las API de WebSocket, solo se paga por los mensajes enviados y recibidos y por el tiempo que un usuario/dispositivo está conectado a la API de WebSocket.

P: ¿Por qué debería utilizar Amazon API Gateway?

Amazon API Gateway proporciona a los desarrolladores un servicio sencillo, flexible, completamente administrado y de pago por uso que gestiona todos los aspectos de la creación y el funcionamiento de API sólidas para backends de aplicaciones. Con API Gateway puede lanzar servicios nuevos con mayor rapidez y una inversión menor, lo que le permite concentrarse en crear sus servicios empresariales principales. API Gateway se ha diseñado para ayudarlo con varios aspectos de la creación y administración de las API:

1) Medición. API Gateway le ayuda a definir planes que miden y restringen el acceso de desarrolladores externos a sus API. Puede definir un conjunto de planes, configurar la limitación y los límites de cuota por clave de API. API Gateway mide el tráfico a sus API de forma individual y le permite extraer los datos de uso para cada clave de API.

2) Seguridad. API Gateway proporciona varias herramientas para autorizar el acceso a sus API y controlar el acceso a las operaciones de servicio. API Gateway permite utilizar las herramientas de administración y seguridad de AWS, tales como AWS Identity and Access Management (IAM) y Amazon Cognito, para autorizar el acceso a sus API. API Gateway puede verificar en su nombre las llamadas a las API firmadas con la misma metodología que AWS utiliza para sus propias API. Mediante el uso de autorizadores personalizados escritos como funciones de AWS Lambda, API Gateway puede ayudarlo también a verificar tokens de portador de entrada, con lo que evita tener que preocuparse de la autorización en su código de backend.

3) Resilencia. API Gateway ayuda a administrar el tráfico mediante la limitación controlada, de manera que las operaciones de backend puedan atender los picos de tráfico. API Gateway también contribuye a mejorar el rendimiento de sus API y la latencia que los usuarios finales experimentan al almacenar en la caché el resultado de las llamadas a las API para evitar tener que llamar siempre al backend.

4) Monitoreo de operaciones. Una vez que se ha publicado una API y está en uso, API Gateway le proporciona un panel de control de métricas para que monitoree las llamadas a sus servicios. El panel de control de API Gateway, mediante la integración con Amazon CloudWatch, le proporciona métricas de rendimiento de backend que abarcan las llamadas a las API, datos de latencia y tasas de errores. Puede activar métricas detalladas para cada método de las API y recibir registros de errores, acceso o depuración en CloudWatch Logs.

5) Administración del ciclo de vida. Una vez publicada una API, suele ser necesario crear y probar versiones nuevas que la mejoren o añadir funciones nuevas. API Gateway permite operar varias versiones de las API y varias fases de versión simultáneamente, de modo que las aplicaciones existentes pueden seguir llamando a versiones anteriores después de que se publiquen versiones más recientes.

6) Diseñado para desarrolladores. API Gateway permite crear API con rapidez y asignar contenido estático a sus respuestas para reducir las actividades de desarrollo entre equipos y el tiempo de comercialización de su aplicación. Los equipos que dependen de las API pueden comenzar con las tareas de desarrollo mientras usted crea los procesos de backend.

7) Comunicación bidireccional en tiempo real. Cree aplicaciones de comunicación bidireccional en tiempo real tales como aplicaciones de chat, paneles de streaming y notificaciones sin tener que ejecutar o administrar servidores. API Gateway mantiene una conexión persistente entre los usuarios conectados y permite la transferencia de mensajes entre ellos.

P: ¿Qué tipos de API soporta Amazon API Gateway?

Amazon API Gateway ofrece dos opciones para crear las API RESTful, las API HTTP y las API REST, así como una opción para crear las API WebSocket.

API HTTP: las API HTTP se optimizan para crear las API que sirven de proxy para las funciones de AWS Lambda o los backends de HTTP, lo que los hace ideales para las cargas de trabajo sin servidor. Actualmente no ofrecen la funcionalidad de administración de API.

API de REST: las API de REST ofrecen las características de administración de API y la funcionalidad de proxy de API en una única solución. Las API de REST ofrecen características de administración de API como planes de uso, claves de API, publicación y monetización de las API.

API de WebSocket: las API de WebSocket mantienen una conexión persistente entre los clientes conectados para permitir la comunicación de mensajes en tiempo real. Con las API de WebSocket en API Gateway, puede definir integraciones de backend con funciones de AWS Lambda, Amazon Kinesis o cualquier punto de enlace HTTP que se invocará cuando se reciban mensajes de los clientes conectados.

P: ¿Cómo comienzo a utilizar las API de HTTP en API Gateway?

Para comenzar a utilizar las API de HTTP, puede usar la consola de Amazon API Gateway, la AWS CLI, los AWS SDK o AWS CloudFormation. Para obtener más información acerca de cómo comenzar a utilizar las API de HTTP, visite nuestra documentación.

P: ¿Cómo comienzo a utilizar las API de REST en API Gateway?

Para comenzar a utilizar las API de REST, puede usar la consola de Amazon API Gateway, la AWS CLI o los AWS SDK. Para obtener más información acerca de cómo comenzar a utilizar las API de REST, visite nuestra documentación.

P: Cuando se crean las API de RESTful, ¿cuándo debería usar las API de HTTP y cuándo las API de REST?

Puede crear las API de RESTful usando tanto las API de HTTP como las API de REST en Amazon API Gateway.

Las API de HTTP se optimizan para crear las API que sirven de proxy para las funciones de AWS Lambda o los backends de HTTP, haciéndolos ideales para las cargas de trabajo sin servidor. Las API de HTTP son una alternativa más barata y más rápida para las API de REST, pero actualmente no admiten la funcionalidad de administración de API. Las API de REST están destinadas a las API que requieren las características de administración de API y la funcionalidad de proxy de API en una única solución.

Las API de HTTP son ideales para:

  1. Crear las API de proxy para AWS Lambda o cualquier punto de enlace de HTTP
  2. Crear las API modernas que están provistas de autorización de OAuth 2 y OIDC 
  3. Cargas de trabajo que probablemente crezcan mucho
  4. API para cargas de trabajo sensibles a latencia
 
Las API de REST son ideales para:
 
  1. Los clientes que pretenden pagar un único nivel de precios para un conjunto de características todo incluido necesario para crear, administrar y publicar sus API. 

P: ¿Cuáles características vienen de forma estándar con las API de HTTP desde API Gateway?

Las API de HTTP vienen de forma estándar con soporte de CORS, OIDC y OAuth2 para la autenticación y la autorización, e implementaciones automáticas por etapas.

P: ¿Puedo importar una definición de OpenAPI para crear una API de HTTP?

Sí, puede importar una definición de API usando OpenAPI 3. Tendrá como resultado la creación de rutas, integraciones y modelos de API. Para obtener más información sobre la importación de las definiciones de OpenAPI, consulte nuestra documentación.

P: ¿Cómo puedo migrar desde mi API de REST actual a una API de HTTP?

Para migrar desde su API de REST actual a una API de HTTP en Amazon API Gateway, haga lo siguiente:

  1. Compruebe que todas las características que usted necesita estén disponibles en HTTP. Para ver la lista de características completa, visite nuestra documentación
  2. Vaya a su API de REST y exporte la definición de OpenAPI desde su API de REST
  3. Vaya a su API de HTTP e importe la definición de OpenAPI desde el paso anterior
  4. Pruebe las funciones de API como sería de esperar
  5. Actualice a sus clientes con la nueva URL

Si bien su API podría funcionar, puede notar algunas características faltantes. Para identificar cualquier característica faltante, revise los campos Información, Advertencia y Error de la operación de importación. Para obtener más información acerca de la migración de las API de REST a las API de HTTP, consulte nuestra documentación.

P: ¿Cómo sé si mi API de REST actual funcionará como una API de HTTP?

Primero, vaya a su REST y exporte la definición de OpenAPI desde su API de REST. Luego, vaya a su API de HTTP e importe la definición de OpenAPI desde el paso anterior. Si bien su API podría funcionar, puede notar algunas características faltantes. Para identificar cualquier característica faltante, revise los campos Información, Advertencia y Error de la operación de importación. La AWS CLI devolverá información acerca de su API dentro de sus campos de información y advertencia. Para obtener más información, lea nuestra documentación.

P: ¿Cómo puedo comenzar a utilizar las API WebSocket en Amazon API Gateway?

Para empezar puede crear una API WebSocket mediante la consola de administración de AWS, la interfaz de línea de comandos (CLI) de AWS o los SDK de AWS. Después puede establecer el direccionamiento de WebSocket a fin de indicar los servicios de backend, tales como AWS Lambda, Amazon Kinesis o su punto de conexión HTTP, para que se invoquen en función del contenido de los mensajes. Consulte la documentación para comenzar a utilizar las API WebSocket en API Gateway.

P: ¿Puedo crear puntos de conexión HTTPS?

Si, todas las API creadas con Amazon API Gateway solo exponen los puntos de enlace HTTPS. Amazon API Gateway no soporta puntos de enlace no cifrados (HTTP). De forma predeterminada, Amazon API Gateway asigna un dominio interno al API que utiliza automáticamente el certificado de Amazon API Gateway. Al configurar las API para que se ejecuten en un nombre de dominio personalizado, puede proporcionar su propio certificado para el dominio.

P: ¿Qué tipo de datos puedo utilizar con Amazon API Gateway?

Las API creadas en Amazon API Gateway pueden aceptar cargas enviadas a través de HTTPS para las API de HTTP, las API de REST y las API de WebSocket. Los formatos de datos habituales incluyen JSON, XML, parámetros de cadenas de consultas y encabezados de solicitudes. Puede declarar cualquier tipo de contenido para las respuestas de sus API, y luego usar las plantillas de transformación para cambiar la respuesta del back-end al formato deseado.

P: ¿Con qué backends se puede comunicar Amazon API Gateway?

Amazon API Gateway puede ejecutar funciones AWS Lambda en su cuenta, iniciar máquinas de estado de AWS Step Functions o llamar puntos de conexión HTTP hospedados en AWS Elastic Beanstalk, Amazon EC2, y también operaciones basadas en HTTP, no hospedadas en AWS, que son accesibles a través de la Internet pública. API Gateway también le permite especificar una plantilla de mapeo para generar contenido estático a devolver, lo que le ayuda a simular las API antes de que el backend esté listo. Además, puede integrar API Gateway directamente con otros servicios de AWS; por ejemplo, podría exponer un método API en API Gateway que envíe datos directamente a Amazon Kinesis.

P: ¿Para qué plataformas de cliente Amazon API Gateway puede generar SDK?

API Gateway genera SDK personalizados para el desarrollo de aplicaciones móviles con Android e iOS (Swift y Objective-C), así como el desarrollo de aplicaciones web con JavaScript. API Gateway también admite la generación de SDK para Ruby y Java. Una vez que se definen una API y sus modelos en API Gateway, puede usar la consola de AWS o las API de API Gateway para generar y descargar un SDK de cliente. Los SDK de cliente solo se generan para las API REST en Amazon API Gateway.

P: ¿En qué regiones de AWS está disponible Amazon API Gateway?

Para ver dónde están disponibles las API de HTTP, las API de REST y las API de WebSocket, consulte la tabla de regiones de AWS aquí.

P: ¿Qué puedo administrar mediante la consola de Amazon API Gateway?

A través de la consola de Amazon API Gateway, puede definir el API REST y sus recursos y métodos asociados, administrar el ciclo de vida del API, generar SDK de cliente y visualizar las métricas del API. También puede usar la consola de API Gateway para definir sus planes de uso de las API, administrar las claves de API de los desarrolladores y configurar la limitación y los límites de cuota. También puede realizar todo esto a través de las API de API Gateway.

P: ¿Qué es un recurso?

Un recurso es un objeto escrito que forma parte del dominio del API. Cada recurso puede estar asociado con un modelo de datos, relaciones con otros recursos y responder a diferentes métodos. También puede definir recursos como variables para interceptar solicitudes para varios recursos secundarios.

P: ¿Qué es un método?

Cada recurso de un API REST soporta uno o más métodos HTTP estándar. Puede definir los verbos que soporta cada recurso (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS) y su implementación. Por ejemplo, el verbo GET asignado al recurso “cars” (“coches”) le proporcionará una lista de coches. Para poder conectar todos los métodos de un recurso a un solo punto de enlace de backend, API Gateway también es compatible con un método especial “ANY”.

P: ¿Qué es un plan de uso?

Los planes de uso lo ayudan a crear planes para desarrolladores externos que restringen el acceso solamente a determinadas API, definen la limitación controlada y los límites de cuota de solicitudes, y los asocian a claves de API. También puede extraer datos de uso de cada clave de API para analizar el uso de las API y generar documentos de facturación. Por ejemplo, puede crear planes Básico, Profesional y Empresarial. Es posible configurar el plan de uso Basic para que solo se permitan 1000 solicitudes al día y un máximo de 5 solicitudes por segundo (RPS).

P: ¿Qué es el ciclo de vida de las API de Amazon API Gateway?

Con Amazon API Gateway, cada API REST puede tener varias fases. Las fases sirven para ayudar con el ciclo de vida de desarrollo de un API, por ejemplo, una vez creadas e implementadas las API en fase de desarrollo o cuando están listas para producción, es posible implementarlas en la fase de producción.

P: ¿Qué es una fase?

En Amazon API Gateway, las fases son similares a las etiquetas. Definen la ruta a través de la cual se puede obtener acceso a una implementación. Por ejemplo, puede definir una fase de desarrollo e implementar el API “cars” en ella. El recurso se estará accesible en https://www.myapi.com/dev/cars. También puede configurar nombres de dominio personalizados que apunten directamente a una fase, de modo que no tenga que utilizar el parámetro adicional de la ruta. Por ejemplo, si apunta myapi.com directamente a la fase de desarrollo, podrá obtener acceso al recurso “cars” en https://www.myapi.com/cars. Las fases se pueden configurar con variables a las que se puede obtener acceso desde la configuración de API o desde plantillas de mapeo.

P: ¿Qué son las variables de fase?

Con las variables de fase podemos definir pares clave-valor de valores de configuración asociados con una fase. Estos valores, al igual que las variables de entorno, se pueden usar en la configuración de API. Por ejemplo, podría definir el punto de enlace HTTP para la integración del método como una variable de fase y usar la variable en la configuración de API en lugar de codificar de forma rígida el punto de enlace, esto permite usar un punto de enlace distinto en cada fase (por ej., dev, beta, prod) con la misma configuración de API. Las variables de fase también son accesibles desde las plantillas de mapeo y se pueden utilizar para transmitir parámetros de configuración al back-end Lambda o HTTP.

P: ¿Qué es una política de recursos?

Una política de recursos es un documento con políticas de JSON que adjunta a una API para controlar si un agente principal especificado (normalmente una función o un usuario de IAM) puede invocar la API. Puede usar una política de recursos para activar usuarios desde una cuenta de AWS diferente a fin de obtener acceso de manera segura a su API o para permitir que la API se invoque únicamente desde bloques de CIDR o intervalos de direcciones IP específicos. Las políticas de recursos se pueden emplear con las API REST en Amazon API Gateway.

P: ¿Qué sucede si he realizado la implementación en una fase por equivocación?

Amazon API Gateway guarda el historial de implementaciones. En cualquier momento, mediante las API o la consola de Amazon API Gateway, puede volver a una fase anterior de la implementación.

P: ¿Puedo usar mis definiciones para API de Swagger?

Sí. Puede usar la herramienta de importación Swagger de código abierto para importar las definiciones Swagger de la API en Amazon API Gateway. Con la herramienta de importación de Swagger, puede crear e implementar API nuevas y actualizar las existentes.

P: ¿Cómo capitalizo mis API en API Gateway?

Puede capitalizar sus API en API Gateway a través de su publicación como productos en AWS Marketplace. Primero deberá registrarse como vendedor en AWS Marketplace y enviar sus planes de uso acerca de API Gateway como productos. Haga clic aquí para obtener más información acerca de la monetización de la API.

P: ¿Cómo documento mi API en Amazon API Gateway?

API Gateway ofrece la capacidad para crear, actualizar y eliminar documentación asociada con cada parte de su API, como métodos y recursos. Puede acceder a API relacionadas con documentación mediante AWS SDK, CLI, llamadas a RESTful o la edición de cadenas de documentación directamente en la consola de API Gateway. La documentación también se puede importar como un archivo Swagger, ya sea como parte de la API o de manera independiente, lo que le permite añadir o actualizar la documentación sin afectar la definición de la API. API Gateway forma parte de la especificación de API abierta para la documentación que se importa con origen o destino en archivos de Swagger. Se soporta la documentación para las API REST en API Gateway.

P: ¿Cómo puedo evitar la creación de copias redundantes de mensajes de error y otra documentación que se repite con frecuencia en mi API?

Además de ofrecer compatibilidad con documentación de API conforme a estándares, API Gateway también admite el legado de documentación, lo que simplifica la definición única de una cadena de documentación y, a continuación, el uso en varios lugares. El legado simplifica el proceso de definición de documentación de API y puede convertirse a la representación estándar cuando se exporta la API a un archivo Swagger.

P: ¿Puedo restringir el acceso de API privadas a una Amazon VPC o a un punto de enlace de la VPC específico?

Sí, puede implementar una política de recursos a una API a fin de restringir el acceso a una Amazon VPC o a un punto de enlace de VPC específico. También puede conceder una VPC de Amazon o un punto de enlace de la VPC desde un acceso diferente de la cuenta a la API privada usando una política de recursos.

Seguridad y autorización

P: ¿Cómo puedo controlar el acceso a mis API?

Con Amazon API Gateway, tiene la opción de configurar los métodos API de manera que exijan autorización. Cuando configura un método para que exija autorización, puede utilizar AWS Signature Version 4 o autorizadores de Lambda para respaldar su estrategia de autenticación de tokens de portador.

P: ¿Cómo funciona AWS Signature Version 4?

Puede usar credenciales de AWS (claves de acceso y confidenciales) para firmar las solicitudes a su servicio y autorizar el acceso como en otros servicios de AWS. La firma de una solicitud al API de Amazon API Gateway se administra a través del SDK de API Gateway generado para su servicio. Puede recuperar credenciales temporales asociadas con una función de su cuenta de AWS con Amazon Cognito.

P: ¿Qué es un autorizador de Lambda?

Los autorizadores de Lambda son funciones de AWS Lambda. Con los autorizadores de solicitudes personalizados puede autorizar el acceso a las API mediante una estrategia de autenticación de tokens de portador como OAuth. Cuando se llama a una API, API Gateway comprueba si se ha configurado el autorizador de Lambda. A continuación, API Gateway llama a la función de Lambda con el token de autorización de entrada. Puede utilizar Lambda para implementar diversas estrategias de autorización (p. ej., verificación JWT, llamada al proveedor de OAuth) que devuelvan políticas de IAM que se utilizan para autorizar la solicitud. Si la política devuelta por el autorizador es válida, API Gateway almacenará en la caché la política asociada con el token de entrada durante un máximo de una hora.

P: ¿Amazon API Gateway puede generar claves de API para su distribución a desarrolladores externos?

Sí. API Gateway puede generar claves de API y asociarlas con un plan de uso. Las llamadas recibidas de cada clave de API se monitorizan y se incluyen en Amazon CloudWatch Logs que puede activar para cada fase. Sin embargo, no recomendamos que utilice las claves de API para la autorización. Debe utilizar las claves de API para monitorizar el uso realizado por desarrolladores de terceros y adoptar un mecanismo de autorización más robusto, como las llamadas al API firmadas u OAuth.

P: ¿Cómo puedo solucionar o evitar las amenazas a las API o el abuso de estas?

API Gateway soporta la configuración de limitación controlada en todos los métodos o las rutas de las API. Puede configurar un límite de tasa estándar y un límite de tasa de ráfaga por segundo para cada método de las API REST y cada ruta de las API WebSocket. Además, API Gateway protege automáticamente los sistemas backend de ataques distribuidos de denegación de servicio (DDoS), ya se trate de solicitudes falsas (capa 7) o inundaciones SYN (capa 3).

P: ¿Puedo comprobar si API Gateway está llamando a mi backend?

Sí. Amazon API Gateway puede generar un certificado SSL del lado cliente y poner a su disposición la clave pública del mismo. Las llamadas al back-end se pueden hacer con el certificado generado y podemos comprobar las llamadas que se originan en Amazon API Gateway usando la clave pública del certificado.

P: ¿Puedo usar AWS CloudTrail con Amazon API Gateway?

Sí. Amazon API Gateway se integra con AWS CloudTrail para proporcionarle un historial totalmente auditable de los cambios en sus API REST. Todas las llamadas a las API efectuadas a las API de Amazon API Gateway para crear, modificar, eliminar o implementar las API de REST se registran en CloudTrail en su cuenta de AWS.

P: ¿Cómo funciona Amazon API Gateway con Amazon Virtual Private Cloud (Amazon VPC)? 

En Amazon API Gateway, puede implementar un proxy en las solicitudes realizadas a los recursos HTTP/HTTPS backend que se ejecuten en Amazon VPC mediante la configuración de integraciones privadas a través de enlaces de VPC. Se pueden usar certificados SSL del lado del cliente en Amazon API Gateway para verificar que API Gateway haya enviado las solicitudes realizadas a sistemas backend con la clave pública del certificado. También puede crear API privadas en Amazon API Gateway, las cuales solo pueden ser accesibles por los recursos dentro de su VPC de Amazon a través de los puntos de enlace de la VPC de Amazon.

P: ¿Puedo restringir el acceso de API privadas a una Amazon VPC o a un punto de enlace de la VPC específico?

Sí, puede implementar una política de recursos a una API a fin de restringir el acceso a una Amazon VPC o a un punto de enlace de VPC específico. También puede conceder una VPC de Amazon o un punto de enlace de la VPC desde un acceso diferente de la cuenta a la API privada usando una política de recursos.

P: ¿Puedo configurar mis API de REST en API Gateway para usar TLS 1.1 o superior?

Si está usando las API de REST, puede configurar una distribución de CloudFront con el certificado SSL personalizado en su cuenta y usarla con las API regionales en API Gateway. Luego puede configurar la Política de seguridad para la distribución de CloudFront con TLS 1.1 o superior en función de los requisitos de seguridad y conformidad.

Administración, métricas y registro

P: ¿Cómo puedo monitorizar mis API de Amazon API Gateway?

Amazon API Gateway registra las llamadas al API, la latencia y las tasas de errores de Amazon CloudWatch en su cuenta de AWS. Estas métricas también se encuentran disponibles a través de la consola de Amazon API Gateway en el panel de control de las API REST. API Gateway también mide el uso de desarrolladores externos. Los datos se encuentran disponibles mediante la consola API Gateway y mediante las API.

P: ¿Puedo configurar alertas en las métricas de Amazon API Gateway?

Sí, Amazon API Gateway envía información de registro y métricas a Amazon CloudWatch. Puede utilizar la consola de Amazon CloudWatch para configurar alertas personalizadas.

P: ¿Cómo puedo configurar métricas para Amazon API Gateway?

De forma predeterminada, Amazon API Gateway monitoriza el tráfico a nivel del API REST. De forma opcional, puede activar métricas detalladas para cada método del API REST desde las API de configuración de la implementación o la pantalla de la consola. Las métricas detalladas también se registran en Amazon CloudWatch y se cobran de acuerdo con las tasas de CloudWatch.

P: ¿Puedo determinar qué versión de la API utilizan mis clientes?

Sí. Los detalles de las métricas los especifican el API REST y la fase. Además, puede activar las métricas para cada método del API REST.

P: ¿Amazon API Gateway es compatible con el registro?

Sí. Amazon API Gateway se integra con Amazon CloudWatch Logs. De forma alternativa, puede activar los registros de cada fase del API. Para cada método de sus API REST, puede configurar la longitud del registro y si se deberían registrar los datos de la solicitud y la respuesta por completo.

P: ¿Con qué rapidez están disponibles los logs?

Los logs, las alertas, las tasas de errores y otras métricas se almacenan en Amazon CloudWatch y están disponibles casi en tiempo real.

Limitación controlada y almacenamiento en caché

P: ¿Cómo puedo proteger mis aplicaciones y sistemas de backend de los picos de tráfico?

Amazon API Gateway proporciona limitación controlada a varios niveles, incluido global y por llamada al servicio. La limitación controlada se puede configurar para tasas estándar y de ráfaga. Por ejemplo, los propietarios de API pueden establecer un límite de 1 000 solicitudes por segundo para un método específico de las API REST y configurar Amazon API Gateway para que administre una ráfaga de 2 000 solicitudes por segundo durante unos segundos. Amazon API Gateway supervisa la cantidad de solicitudes por segundo. Cualquier solicitud que sobrepase el límite recibirá una respuesta HTTP 429. Los SDK de cliente (excepto Javascript) generados por Amazon API Gateway volverán a intentar efectuar la llamada automáticamente cuando reciban esta respuesta.

P: ¿Puedo limitar a desarrolladores individuales que llaman a mis API?

Sí. Con los planes de uso puede configurar la limitación de claves de API individuales.

P: ¿En qué me ayuda la limitación controlada?

La limitación controlada se asegura de controlar el tráfico del API para ayudar a los servicios de back-end a mantener el desempeño y la disponibilidad.

P: ¿A qué niveles Amazon API Gateway puede limitar el tráfico de entrada a la API?

Los límites de la limitación controlada se pueden configurar en el nivel de método. Puede editar la limitación controlada en la configuración del método mediante las API de Amazon API Gateway o la consola de Amazon API Gateway.

P: ¿Cómo se aplica la limitación controlada?

La configuración relacionada con la limitación de API Gateway se aplica en el siguiente orden: 1) límites de limitación por cliente por método que establece para una etapa de API en un plan de uso, 2) límites de limitación por cliente que establece en un plan de uso, 3) límites predeterminados por método y límites individuales por método que establezca en la configuración de la etapa de API, 4) limitación a nivel de cuenta por región.

P: ¿Amazon API Gateway permite almacenar en caché los resultados de la API?

Sí. Puede añadir el almacenamiento en caché a las llamadas a las API mediante el aprovisionamiento de una caché de API Gateway y la especificación de su tamaño en gigabytes. La caché se aprovisiona para una fase determinada de las API. Así se mejora el desempeño y se reduce el tráfico enviado al back-end. La configuración de la caché le permite controlar cómo se crea la clave de caché y la duración (TTL) de los datos almacenados para cada método. API Gateway también expone las API de administración que contribuyen a invalidar la caché de cada fase. El almacenamiento en caché está disponible para las API REST en API Gateway.

P: ¿Qué sucede si una gran cantidad de usuarios finales intenta invocar mi API simultáneamente?

Si el almacenamiento en la memoria caché no está habilitado y la limitación controlada no se ha aplicado, todas las solicitudes pasarán por el servicio de backend hasta que se alcancen los niveles de limitación controlada de la cuenta. Si se ha configurado la limitación controlada, Amazon API Gateway eliminará la cantidad necesaria de solicitudes y solo enviará el límite definido a su servicio de back-end. Si se ha configurado una memoria caché, Amazon API Gateway devolverá una respuesta de caché en el caso de solicitudes duplicadas durante un tiempo personalizable, pero solamente si se han configurado ajustes de limitación. Este equilibrio entre el back-end y el cliente garantiza un desempeño óptimo de las API para las aplicaciones que soporta. Los SDK de cliente generados por Amazon API Gateway volverán a intentar enviar las solicitudes limitadas automáticamente. De forma predeterminada, Amazon API Gateway no establece la caché controlada en los métodos de las API.

P: ¿Cómo se escalan las API?

Amazon API Gateway actúa a modo de proxy de las operaciones de back-end que ha configurado. Amazon API Gateway se escalará automáticamente para administrar la cantidad de tráfico que reciba el API. Amazon API Gateway no limita arbitrariamente las invocaciones a las operaciones de back-end. Todas las solicitudes no interceptadas por los ajustes de limitación controlada y caché en la consola de Amazon API Gateway se envían a las operaciones de back-end.

Facturación

P: ¿Cómo se cobra el uso de Amazon API Gateway?

Amazon API Gateway cobra por millón de llamadas a la API, más el costo de los datos de salida transferidos en gigabytes. Si decide aprovisionar una caché para su API, se aplicarán tarifas por hora. En el caso de las API WebSocket, API Gateway factura en función de los mensajes enviados y recibidos y la cantidad de minutos que un cliente está conectado a la API. Consulte la página de precios de API Gateway para obtener más detalles sobre los costos por región de las llamadas a las API, la transferencia de datos y el almacenamiento en caché.

P: ¿Quién paga las llamadas a las API de Amazon API Gateway generadas por desarrolladores externos?

Se factura al propietario de las API por las llamadas a sus API ubicadas en API Gateway.

P: Si la respuesta de la API se efectúa mediante datos almacenados en caché, ¿se sigue considerando una llamada a la API a los efectos de facturación?

Sí. En lo referente a la facturación, las llamadas API se cuentan igual independientemente de si la respuesta la gestionan las operaciones de back-end o la operación de almacenamiento en caché de Amazon API Gateway.

API de WebSocket

P: ¿Qué es el direccionamiento de WebSocket en Amazon API Gateway?

El direccionamiento de WebSocket en Amazon API Gateway se utiliza para direccionar correctamente los mensajes a una integración específica. Se especifica una clave de direccionamiento y el backend de integración que se deben invocar al definir la API WebSocket. La clave de direccionamiento es un atributo del cuerpo del mensaje. También se puede establecer una integración predeterminada para las claves de direccionamiento no coincidentes. Para obtener más información sobre el direccionamiento, consulte la documentación.

P: ¿Cómo puedo enviar mensajes a clientes conectados desde el servicio backend?

Cuando se conecta un cliente nuevo a la API WebSocket, se crea una URL exclusiva, denominada URL de devolución de llamada, para ese cliente. Esta URL de devolución de llamada se puede usar para enviar mensajes al cliente desde el servicio backend.

P: ¿Cómo puedo autorizar el acceso a mi API WebSocket en Amazon API Gateway?

Con Amazon API Gateway, puede utilizar funciones y políticas de IAM o autorizadores de AWS Lambda para autorizar el acceso a sus API WebSocket.

P: ¿Cómo sabe mi servicio backend cuando un cliente se conecta o desconecta de la conexión WebSocket en Amazon API Gateway?

Cuando un cliente se conecta o se desconecta, se envía un mensaje desde el servicio de Amazon API Gateway a la función de AWS Lambda del backend o el punto de conexión HTTP mediante las rutas $connect y $disconnect. Es posible realizar las acciones apropiadas, tales como añadir o eliminar el cliente en la lista de usuarios conectados.

P: ¿Cómo puede determinar mi servicio backend si el cliente sigue conectado a la conexión de WebSocket?

Puede utilizar el método GET de la URL de devolución de llamada en la conexión para determinar si el cliente está conectado a la conexión de WebSocket. Consulte la documentación sobre el uso de una URL de devolución de llamada.

P: ¿Puedo desconectar un cliente de mi servicio backend?

Sí, puede desconectar el cliente conectado del servicio backend mediante la URL de devolución de llamada.

P: ¿Cuál es el tamaño de mensaje máximo que soportan las API WebSocket?

El tamaño de mensaje máximo soportado es 128 KB. Consulte la documentación para conocer otros límites relacionados con las API WebSocket.

P: ¿Cómo se cobra el uso de las API WebSocket en Amazon API Gateway?

Se le cobrará en función de dos métricas: minutos de conexión y mensajes.

Minutos de conexión: número total de minutos que los clientes o los dispositivos están conectados a la conexión de WebSocket (redondeados al minuto más próximo).

Mensajes: número total de mensajes enviados y recibidos en los clientes conectados. Los mensajes se cobran en incrementos de 32 KB. Consulte la página de precios para obtener detalles sobre los precios de las API WebSocket y ver ejemplos.

P: Si los mensajes de la conexión de WebSocket no superan la autenticación o la autorización, ¿se tienen en cuenta en mi factura de uso de API?

No, si los mensajes de la conexión de WebSocket no superan la autenticación o la autorización, no se tienen en cuenta en su factura de uso de API.

Obtenga más información sobre Amazon API Gateway

Visite la página de precios
¿Está listo para comenzar?
Regístrese
¿Tiene más preguntas?
Contacte con nosotros