Saltar al contenido
← Catálogo
Integración y mensajeríaIntermedio

Amazon API Gateway

Publica, protege y controla APIs: recibe las peticiones HTTP y las entrega a Lambda, a un servicio o a otro backend.

En palabras simples

Es la recepción de un edificio: recibe a todo el que llega, comprueba que tiene cita, anota la visita y lo dirige a la oficina correcta.

Cuándo aplicarlo

Cuando necesitas exponer una API pública o interna con autenticación, límites de uso y registro, sin escribir esa capa dentro de la aplicación.

  • ▸Publicar una API sin servidores con funciones Lambda detrás
  • ▸Poner autenticación y límites de tasa delante de un servicio existente
  • ▸Ofrecer una API a terceros con claves y planes de uso
  • ▸Exponer WebSockets para una aplicación en tiempo real

Vocabulario mínimo

API REST y API HTTP
Dos variantes: la REST trae más funciones —claves, cachés, validación—; la HTTP es más simple, rápida y barata.
Recurso y método
La ruta (`/eventos`) y el verbo (`GET`, `POST`) que definen cada punto de la API.
Integración
A qué se conecta el método: una función Lambda, un servicio de AWS o una URL HTTP externa.
Autorizador
Quién valida la petición: un grupo de usuarios de Cognito, IAM, o una función Lambda propia.
Etapa
Una versión desplegada de la API con su propia URL: `dev`, `prod`, cada una con su configuración.
Plan de uso
El límite de peticiones por segundo y por mes asociado a una clave de API.

Costo y capa gratuita

Cómo se cobra
Por millón de peticiones, con tarifas distintas para API HTTP —más barata— y REST. Se suma la transferencia de datos y, en la REST, la caché si se activa.
Capa gratuita
Un millón de peticiones al mes de API REST y HTTP durante los primeros 12 meses. Con Lambda detrás, una API pequeña puede salir prácticamente gratis.

Cuidado con los créditos

  • ⚠Activar la caché de una API REST y olvidarla: se cobra por hora aunque no haya tráfico.
  • ⚠Elegir REST por costumbre cuando la API HTTP basta: la diferencia de precio por millón de peticiones es notable.
  • ⚠Un cliente mal programado que reintenta en bucle multiplica el número de peticiones facturadas.

Descripción

Una función Lambda no habla HTTP por sí sola, y una aplicación no debería ocuparse de autenticar, limitar el tráfico, validar entradas y registrar cada llamada. API Gateway es la capa que resuelve todo eso delante del código de negocio.

Su papel es de portero y de traductor: recibe la petición HTTP, comprueba quién llama, aplica los límites de uso, transforma la petición si hace falta y la entrega al destino. La respuesta hace el camino inverso. La aplicación se queda solo con la lógica que le importa.

Cómo funciona

  1. Defines los recursos y métodos de la API: rutas y verbos HTTP.
  2. Cada método apunta a una integración: una función Lambda, un servicio de AWS o una URL externa.
  3. Un autorizador valida el token o la firma antes de que la petición llegue al backend.
  4. Publicas la API en una etapa, que expone la URL desde la que responde.
  5. Un plan de uso con claves limita cuántas peticiones puede hacer cada consumidor.

Manos a la obra

  • Crea una API HTTP con una ruta GET /hola integrada con una función Lambda que devuelva un JSON.
  • Publica la etapa dev y llama a la URL desde el navegador o con curl.
  • Añade un autorizador de Cognito y comprueba que sin token la respuesta es 401.
  • Activa el registro de acceso hacia CloudWatch y revisa una petición completa en los registros.
  • Fija un límite de tasa bajo y lanza peticiones en bucle para ver la respuesta 429.

Ejemplo visual

Una API sin servidores de principio a finHTTPSvalidainvocalee y guardaAplicación webAPI Gatewayvalida y enrutaAmazon CognitoidentidadAWS LambdalógicaAmazon DynamoDBdatos
Una API sin servidores de principio a finLa aplicación web envía una petición HTTPS a Amazon API Gateway, que valida el token contra el grupo de usuarios de Amazon Cognito antes de dejarla pasar. Si la petición es legítima, API Gateway invoca la función de AWS Lambda que ejecuta la lógica, y esa función lee y escribe en la tabla de Amazon DynamoDB. No hay ningún servidor encendido esperando: todas las piezas cobran por uso.

Este patrón — API Gateway, Lambda y DynamoDB — es la arquitectura sin servidores más repetida de AWS, y la que mejor se sostiene con créditos de estudiante.

Cuándo NO es la mejor opción

  • Elastic Load Balancing — si detrás hay instancias o contenedores y no necesitas claves, planes de uso ni integración directa con Lambda.
  • AWS AppSync — si la API es de GraphQL y los clientes necesitan pedir exactamente los campos que usan.
  • URL de función de Lambda — si solo hace falta un punto HTTP para una función y no toda una capa de administración de API.

Se usa junto con

Aparece en certificaciones

  • AWS Certified Cloud Practitioner
  • AWS Certified Solutions Architect – Associate
  • AWS Certified Developer – Associate