Conceptos de Amazon API Gateway - Amazon API Gateway

Conceptos de Amazon API Gateway

API Gateway

API Gateway es un servicio de AWS que admite lo siguiente:

  • Crear, implementar y administrar una interfaz de programación de aplicaciones (API) RESTful para exponer los puntos de enlace HTTP del backend, funciones de AWS Lambda u otros servicios de AWS.

  • Crear, implementar y administrar una API de WebSocket para exponer funciones de AWS Lambda u otros servicios de AWS.

  • Invocar los métodos de API expuestos a través de los puntos de enlace HTTP y WebSocket del frontend.

API REST de API Gateway

Una colección de recursos y métodos HTTP que se integran con puntos de enlace HTTP de backend, funciones de Lambda u otros servicios de AWS. Puede implementar esta colección en una o más etapas. Normalmente, los recursos de la API están organizados en un árbol de recursos de acuerdo con la lógica de la aplicación. Cada recurso de la API puede exponer uno o varios métodos de la API que tienen verbos HTTP únicos admitidos por API Gateway. Para obtener más información, consulte Elección entre API de REST y API HTTP.

API HTTP de API Gateway

Colección de rutas y métodos integrados con los puntos de enlace HTTP de backend o funciones de Lambda. Puede implementar esta colección en una o más etapas. Cada ruta puede exponer uno o varios métodos de la API que tienen verbos HTTP únicos admitidos por API Gateway. Para obtener más información, consulte Elección entre API de REST y API HTTP.

API de WebSocket de API Gateway

Una colección de rutas y claves de ruta de WebSocket que se integran en puntos de enlace HTTP de backend, funciones de Lambda u otros servicios de AWS. Puede implementar esta colección en una o más etapas. Los métodos de la API se invocan a través de conexiones WebSocket del frontend que se pueden asociar a un nombre de dominio personalizado registrado.

Implementación de API

Una instantánea de un momento dado de la API de API Gateway. Para que los clientes puedan utilizar la implementación, esta debe asociarse a una o más etapas de API.

Desarrollador de la API

Su cuenta de AWS que es propietaria de una implementación de API Gateway (por ejemplo, un proveedor de servicios que también admite el acceso mediante programación).

Punto de enlace de la API

Un nombre de host para una API de API Gateway que se implementa en una región específica. El nombre de host tiene el formato {api-id}.execute-api.{region}.amazonaws.com. Se admiten los siguientes tipos de puntos de enlace de API:

Clave de API

Cadena alfanumérica que API Gateway utiliza para identificar a un desarrollador de aplicaciones que utiliza su API REST o de WebSocket. API Gateway puede generar claves de API en su nombre o usted puede importarlas desde un archivo CSV. Puede utilizar claves de API junto con autorizadores de Lambda o planes de uso para controlar el acceso a sus API.

Consulte los puntos de enlace de API.

Propietario de API

Consulte Desarrollador de la API.

Etapa de API

Una referencia lógica a un estado del ciclo de vida de la API (por ejemplo, 'dev', 'prod', 'beta', 'v2'). Las etapas de API se identifican por un ID y un nombre de etapa de API.

Desarrolladores de aplicaciones

Un creador de aplicaciones que puede tener o no una cuenta de AWS y que interactúa con la API que usted, el desarrollador de API, ha implementado. Los desarrolladores de aplicaciones son sus clientes. Un desarrollador de aplicaciones suele identificarse por una clave de API.

URL de devolución de llamada

Cuando un cliente nuevo se conecta a través de una conexión WebSocket, se puede llamar a una integración en API Gateway para almacenar la URL de devolución de llamada del cliente. Esa URL de devolución de llamada se puede utilizar para enviar mensajes al cliente desde el sistema backend.

Portal para desarrolladores

Una aplicación que permite a los clientes registrarse, encontrar y suscribirse a los productos de API (planes de uso de API Gateway) ofrecidos por usted, administrar sus claves de API y ver sus métricas de uso para las API.

Punto de enlace de API optimizada para límites

El nombre de host predeterminado de una API de API Gateway implementada en la región especificada, mientras se utiliza una distribución de CloudFront para facilitar el acceso de los clientes, normalmente, desde otras regiones de AWS. Las solicitudes de API se dirigen al punto de presencia de CloudFront más cercano, que normalmente mejora el tiempo de conexión para clientes en distintas ubicaciones geográficas.

Consulte los puntos de enlace de API.

Solicitud de integración

La interfaz interna de una ruta de API de WebSocket o un método de API REST en API Gateway, en la que se asignará el cuerpo de una solicitud de ruta o los parámetros y el cuerpo de una solicitud de método a los formatos requeridos por el backend.

Respuesta de integración

La interfaz interna de una ruta de API de WebSocket o un método de API REST en API Gateway, en la que se asignarán los códigos de estado, los encabezados y la carga que se reciben del backend al formato de respuesta que se devuelve a una aplicación cliente.

Plantilla de asignación

Un script escrito en Velocity Template Language (VTL), que transforma un cuerpo de la solicitud del formato de datos del frontend al formato de datos del backend o viceversa (en el caso del cuerpo de la respuesta). Las plantillas de asignación se pueden especificar en la solicitud de integración o en la respuesta de integración. Pueden hacer referencia a datos disponibles en tiempo de ejecución como contexto y variables de etapa.

La asignación puede ser tan sencilla como una transformación de identidad que transfiere los encabezados o el cuerpo a través de la integración tal cual desde el cliente al backend para una solicitud. Lo mismo sucede con la respuesta, en la que la carga se transmite desde el backend al cliente.

Solicitud de método

La interfaz pública de un método de una API de API Gateway que define los parámetros y el cuerpo que un desarrollador de aplicaciones debe enviar en las solicitudes para acceder al backend a través de la API.

Respuesta de método

La interfaz pública de una API de REST que define los códigos de estado, los encabezados y los modelos de cuerpo que un desarrollador de aplicaciones debería esperar en las respuestas de la API.

Integración simulada

En una integración simulada, las respuestas de la API se generan directamente a partir de API Gateway, sin necesidad de un backend de integración. Como desarrollador de una API, puede decidir cómo API Gateway responde a una solicitud de integración simulada. Para ello, configura la solicitud de integración y la respuesta de integración del método para asociar una respuesta a un código de estado determinado.

Modelo

Un esquema de datos que especifica la estructura de datos de una solicitud o carga de respuesta. Es necesario un modelo para generar un SDK con establecimiento inflexible de tipos de una API. También se utiliza para validar cargas. Un modelo es cómodo para generar una plantilla de asignación de muestra para iniciar la creación de una plantilla de asignación de producción. Aunque es útil, no se requiere para crear una plantilla de asignación.

API privado

Consulte Punto de enlace de API privada

Punto de enlace de API privada

Un punto de enlace de API que se expone a través de puntos de enlace de la VPC de tipo interfaz y permite que un cliente obtenga acceso seguro a los recursos de una API privada dentro de una VPC. Las API privadas están aisladas de la red pública de Internet y solo se puede obtener acceso a ellas a través de los puntos de enlace de la VPC de API Gateway a los que se les ha concedido acceso.

Integración privada

Tipo de integración de API Gateway que permite que un cliente tenga acceso a los recursos que se encuentran en la VPC de un usuario a través de un punto de enlace de una API REST privada sin exponerlos a la red pública de Internet.

Integración de proxy

Una configuración simplificada de integración de API Gateway. Puede configurar una integración de proxy como una integración de proxy HTTP o como una integración de proxy de Lambda.

En el caso de la integración de proxy HTTP, API Gateway transmite toda la solicitud y la respuesta entre el frontend y un backend HTTP. Para la integración de proxy Lambda, API Gateway envía toda la solicitud como entrada a una función de Lambda de backend. A continuación, API Gateway transforma el resultado de la función de Lambda en una respuesta HTTP del frontend.

En las API de REST, la integración de proxy se utiliza normalmente con un recurso de proxy, que se representa mediante una variable de ruta expansiva (por ejemplo, {proxy+}) combinada con un método catch-all ANY.

Creación rápida

Puede utilizar la creación rápida para simplificar la creación de una API HTTP. La creación rápida crea una API con una integración de Lambda o HTTP, una ruta de método catch-all predeterminada y una etapa predeterminada configurada para implementar automáticamente los cambios. Para obtener más información, consulte Crear una API HTTP mediante la AWS CLI.

Punto de enlace de API regional

El nombre de host de una API implementada en la región especificada y pensada para prestar servicio a clientes, como, por ejemplo, instancias EC2, de la misma región de AWS. Las solicitudes de API se dirigen directamente a la API de API Gateway específica de la región sin pasar por ninguna distribución de CloudFront. Para las solicitudes destinadas a la misma región, existe un punto de enlace regional que evita el trayecto innecesario de ida y vuelta a una distribución de CloudFront.

Además, puede aplicar el direccionamiento basado en latencia a los puntos de enlace regionales para implementar una API en varias regiones con la misma configuración de punto de enlace de API regional, establecer el mismo nombre de dominio personalizado para cada API implementada y configurar registros de DNS basados en latencia en Route 53 para dirigir las solicitudes de los clientes a la región que tiene la mínima latencia.

Consulte los puntos de enlace de API.

Ruta

Se utiliza una ruta de WebSocket en API Gateway para dirigir los mensajes entrantes a una integración específica, como una función de AWS Lambda, según el contenido de los mensajes. Al definir la API de WebSocket, se especifica un clave de ruta y un backend de integración. La clave de ruta es un atributo del cuerpo del mensaje. Cuando se encuentra una coincidencia para la clave de ruta en un mensaje entrante, se invoca el backend de integración.

También se puede establecer una ruta predeterminada para las claves de ruta no coincidentes o para especificar un modelo de proxy que transfiera el mensaje tal cual a los componentes del backend que realizan el direccionamiento y procesan la solicitud.

Solicitud de ruta

La interfaz pública de un método de API de WebSocket en API Gateway que define el cuerpo que un desarrollador de aplicaciones debe enviar en las solicitudes para obtener acceso al backend a través de la API.

Respuesta de ruta

La interfaz pública de una API de WebSocket que define los códigos de estado, los encabezados y los modelos de cuerpo que un desarrollador de aplicaciones debería esperar de API Gateway.

Plan de uso

Un plan de uso ofrece a determinados clientes de la API acceso a una o varias API de WebSocket o de REST implementadas. Puede utilizar un plan de uso para configurar la limitación controlada y los límites de cuota que se ejecutarán en claves de API de cliente individual.

Conexión WebSocket

API Gateway mantiene una conexión persistente entre los clientes y API Gateway. No hay conexión persistente entre API Gateway y las integraciones de backend, como las funciones de Lambda. Los servicios de backend se invocan según sea necesario, en función del contenido de los mensajes recibidos de los clientes.