Qué es
AWS AppSync crea y aloja dos tipos de API (Application Programming Interface: interfaz para que los programas se comuniquen) sin servidores:
- API GraphQL: GraphQL es un lenguaje de consulta en el que el cliente pide exactamente los campos que necesita en una sola petición, aunque vengan de varias fuentes (DynamoDB, Lambda, Aurora, OpenSearch, una API HTTP (HyperText Transfer Protocol: protocolo de la web)…). Evita las múltiples llamadas y los datos de más típicos de una API REST (Representational State Transfer: estilo de API sobre HTTP).
- API de eventos (AppSync Events): canales de publicación/suscripción en tiempo real sobre WebSocket, sin necesidad de GraphQL, para enviar actualizaciones a millones de clientes conectados.
Es muy usado en aplicaciones web y móviles, a menudo junto a Amplify y Cognito.
Conceptos clave
- Esquema GraphQL: define tipos y operaciones: queries (leer), mutations (escribir) y subscriptions (recibir cambios en tiempo real).
- Resolvers: conectan cada campo con su fuente de datos. Se escriben en JavaScript (entorno APPSYNC_JS) o en plantillas VTL (Velocity Template Language: lenguaje de plantillas) antiguas; los pipeline resolvers encadenan varias funciones.
- Fuentes de datos: DynamoDB, Lambda, Aurora (a través de la Data API), OpenSearch, EventBridge, endpoints HTTP y Bedrock.
- Suscripciones en tiempo real: los clientes mantienen una conexión WebSocket y reciben los cambios que provoca una mutación.
- AppSync Events: canales agrupados en namespaces, con
manejadores
OnPublishyOnSubscribepara filtrar o transformar, y suscripción con comodines. - Autorización: clave de API, IAM (Identity and Access Management), grupos de usuarios de Cognito, OIDC (OpenID Connect) o un autorizador Lambda, combinables en la misma API.
- Caché del servidor para respuestas de consultas frecuentes y API fusionadas (merged APIs) para unir las API de varios equipos.
Casos de uso típicos
- Backend de apps web y móviles que necesitan datos de varias fuentes en una sola llamada.
- Funciones en tiempo real: chats, tableros colaborativos, marcadores deportivos, pujas.
- Aplicaciones con modo sin conexión que sincronizan al volver a tener red (con Amplify).
- Enviar a los clientes conectados eventos que ocurren en el backend (desde EventBridge o Lambda) con AppSync Events.
Cuándo NO usarlo
- API REST sencillas o existentes con transformaciones HTTP, planes de uso y claves por cliente: API Gateway.
- Mensajería entre sistemas backend: SQS (Simple Queue Service), SNS (Simple Notification Service) o EventBridge.
- WebSocket con rutas propias y control total de cada conexión: API Gateway WebSocket.
AppSync frente a API Gateway
| Necesidad | AppSync | API Gateway |
|---|---|---|
| Estilo de API | GraphQL y eventos pub/sub | REST, HTTP y WebSocket |
| Varias fuentes en una sola petición | Sí, por diseño | Solo con lógica propia (por ejemplo, Lambda) |
| Tiempo real para clientes | Suscripciones y Events gestionados | WebSocket, con la gestión de conexiones a tu cargo |
| Planes de uso y claves por cliente | Limitado | Sí |
Modelo de precios
En las API GraphQL se paga por millón de operaciones de consulta y mutación, y por los minutos de conexión y los mensajes de las suscripciones en tiempo real. En AppSync Events, por operaciones de API, minutos de conexión y mensajes. La caché se cobra por hora según su tamaño. Hay nivel gratuito durante los primeros meses.
Seguridad y alta disponibilidad
- Varios modos de autorización combinables y reglas por campo en el esquema.
- Integración con AWS WAF (Web Application Firewall) para filtrar peticiones.
- API privadas accesibles solo desde una VPC (Virtual Private Cloud) mediante endpoints de interfaz.
- Servicio gestionado, regional y redundante en varias zonas; registros y métricas en CloudWatch.
Trampas de examen
- "GraphQL": AppSync.
- "Datos en tiempo real a clientes web o móviles": suscripciones de AppSync o AppSync Events.
- "Una sola llamada que combine datos de DynamoDB y de una API": resolvers de AppSync.
- "Sincronizar datos con modo sin conexión": AppSync con Amplify.
- "Planes de uso y límites por cliente de una API REST": API Gateway, no AppSync.
Preguntas de práctica
Preguntas originales escritas para estos apuntes. No son preguntas reales de examen.
Fuentes
- What is AWS AppSync?, documentación de AWS (consultada el 26/09/2026).
- What is AWS AppSync Events?, documentación de AWS (consultada el 26/09/2026).
- Using subscriptions for real-time data applications in AWS AppSync, documentación de AWS (consultada el 26/09/2026).
- Configuring authorization and authentication to secure your GraphQL APIs, documentación de AWS (consultada el 26/09/2026).