Saltar al contenido
aprendeaws.dev

Módulo 6 · Serverless/Lección 41

API Gateway: la puerta de tus APIs

Recibe las peticiones HTTP, las valida, las limita y las entrega a Lambda u otros servicios.

Al terminar podrás

  • →Explicar qué hace API Gateway frente a una función
  • →Diferenciar APIs HTTP, REST y WebSocket
  • →Proteger una API con autorización y límites de tráfico

Una función Lambda sola no tiene dirección web. Para que un navegador o una app móvil la llamen, necesitas algo que reciba la petición HTTP, revise quién la hace, decida a qué función va y responda. Ese algo es Amazon API Gateway, un servicio administrado para crear, publicar, proteger y monitorear APIs.

Qué hace la puerta

  1. 1

    Enruta

    Cada combinación de método y ruta (GET /pedidos, POST /pedidos) apunta a un destino distinto.
  2. 2

    Autoriza

    Revisa quién llama antes de que la petición llegue a tu código. Si no pasa, responde 401 o 403 y tu función ni se entera.
  3. 3

    Limita el tráfico

    Aplica throttling: un máximo de peticiones por segundo con margen para ráfagas. Lo que excede recibe un error 429.
  4. 4

    Mide y cobra a clientes

    Con planes de uso y llaves de API decides cuántas peticiones puede hacer cada cliente por día o por mes.
  5. 5

    Guarda en caché

    En APIs REST, puede guardar respuestas un tiempo y devolverlas sin llamar al backend.

Tres formas de autorizar

En la ventanillaEn API Gateway
Carné de funcionario de la ciudadAutorización con IAMPara llamadas entre servicios o usuarios con credenciales de AWS. Las peticiones se firman
Tarjeta de cliente registradoAmazon CognitoTus usuarios inician sesión en Cognito y envían un token. API Gateway lo valida
Un revisor que tú contratasLambda authorizerUna función tuya decide si la petición pasa. Sirve para cualquier esquema propio

Las llaves de API no son un método de autenticación seguro por sí solas: identifican a un cliente para los planes de uso, pero se pueden copiar. Úsalas junto con uno de los tres métodos de arriba.

HTTP, REST o WebSocket

CriterioHTTP APIREST APIWebSocket API
Para quéAPIs simples hacia Lambda o servicios HTTPAPIs que necesitan todas las funciones de gestiónConexiones abiertas en dos sentidos
Costo y latenciaMenor costo y menor latenciaMás costo, más funcionesSe cobra por mensajes y minutos de conexión
Funciones claveAutorizadores JWT (Cognito) y Lambda, IAM, CORSPlanes de uso, llaves de API, caché, validación de peticiones, integración con AWS WAFEl servidor puede enviar mensajes al cliente sin que pregunte
EjemploBackend de una app móvilAPI pública que vendes a otras empresasChat, tableros en vivo, juegos

A dónde entrega las peticiones

  • Lambda: el caso más común. API Gateway invoca la función de forma síncrona y devuelve su respuesta.
  • HTTP: reenvía a otro servicio web, dentro o fuera de AWS. Con un VPC link llega a servicios privados de tu VPC.
  • Servicios de AWS: puede escribir directo en una cola de SQS, publicar en SNS o iniciar una ejecución de Step Functions, sin una función en medio.

Para proteger la API contra ataques comunes, se combina con AWS WAF. Detalles en proteger el perímetro. Para el recorrido completo con Cognito y DynamoDB, sigue con una aplicación serverless completa.

Quiz

Pon a prueba lo que aprendiste

0 de 5 correctas · 5 sin responder

  1. 1.Un equipo necesita exponer sus funciones Lambda como una API HTTPS con autenticación y límites de tráfico. ¿Qué servicio usa?

  2. 2.Quieres que los usuarios inicien sesión en tu app móvil y que la API solo acepte a usuarios autenticados. ¿Qué combinas con API Gateway?

  3. 3.Una aplicación de chat necesita que el servidor envíe mensajes a los clientes sin que estos pregunten. ¿Qué tipo de API eliges?

  4. 4.Vendes acceso a tu API y cada cliente tiene un límite de peticiones al mes. ¿Qué función de API Gateway usas?

  5. 5.¿Qué hace API Gateway cuando un cliente supera el límite de peticiones por segundo?