EventBridge
📘 ¿Qué es AWS EventBridge?
AWS EventBridge es un servicio de bus de eventos totalmente administrado que permite conectar aplicaciones usando eventos generados por servicios de AWS, aplicaciones SaaS, o desarrollos propios.
Es la evolución de CloudWatch Events, pero más potente y flexible.
🧩 ¿Qué es un “evento”?
Un evento es una señal o mensaje que indica que algo ha sucedido en un sistema, por ejemplo:
-
Un archivo se subió a S3
-
Se creó una nueva instancia EC2
-
Un usuario realizó una compra en una app
Cada evento se representa como un objeto JSON estructurado con información sobre la acción y su contexto.
🔄 Flujo general de EventBridge
[Productor de eventos]
↓
[Bus de eventos (Event Bus)]
↓
[Reglas de enrutamiento]
↓
[Destino: Lambda, SQS, Step Functions, etc.]
📦 Tipos de buses de eventos
| Tipo | Descripción |
|---|---|
| Default event bus | Recibe eventos de AWS Services (por defecto) |
| Custom event bus | Creado por el usuario para eventos personalizados |
| Partner event bus | Recibe eventos de servicios SaaS integrados (e.g. Zendesk) |
🛠️ Componentes clave
| Componente | Función |
|---|---|
| Event | Mensaje JSON estructurado que representa un cambio o acción |
| Event Bus | Canal de transporte de eventos |
| Rule | Define cómo y cuándo se enruta un evento a un destino |
| Target | Servicio que recibirá el evento si la regla coincide (Lambda, SQS, SNS, etc.) |
| Schema Registry | Opcional. Registro de estructuras de eventos y generación de código |
🎯 Destinos compatibles
-
AWS Lambda
-
Amazon SNS
-
Amazon SQS
-
AWS Step Functions
-
AWS Kinesis Data Streams / Firehose
-
ECS Tasks
-
EC2 instances (via Systems Manager)
-
API Destinations (Webhooks a servicios HTTP externos)
🧠 Ejemplo de uso
Caso: Cuando se sube un archivo a un bucket S3, ejecutar una función Lambda que lo procese.
-
S3 emite un evento → EventBridge
-
Regla detecta eventos
PutObjecten ese bucket -
Se enruta a un Lambda que ejecuta el procesamiento
🧪 Sintaxis de reglas
Las reglas de filtrado se definen usando patrones en JSON.
{
"source": ["aws.ec2"],
"detail-type": ["EC2 Instance State-change Notification"],
"detail": {
"state": ["stopped"]
}
}
Esta regla detecta cuando una instancia EC2 ha sido detenida.
🧰 Schema Registry
| Funcionalidad | Descripción |
|---|---|
| Registro de esquemas | Guarda la estructura de los eventos recibidos |
| Code bindings | Genera automáticamente clases en Java, Python o TypeScript |
| Descubrimiento | Opción para registrar esquemas automáticamente al recibir eventos nuevos |
🔐 Seguridad
-
Se controla con IAM Policies sobre:
-
events:PutEvents -
events:PutRule -
events:PutTargets
-
-
También se puede usar encriptación KMS y logs en CloudWatch.
📈 Ventajas clave
✅ Desacopla componentes (arquitectura orientada a eventos)
✅ Escalabilidad automática
✅ Latencia baja (~100 ms)
✅ Admite redirección condicional (filtro por patrón)
✅ Compatible con aplicaciones SaaS y servicios HTTP externos (API Destinations)
💰 Precios
| Uso | Precio aproximado |
|---|---|
| Eventos de AWS → Default Bus | ✅ Gratis |
| Eventos personalizados (custom bus) | 💲 $1 por millón de eventos |
| API Destinations | 💲 Precio adicional por llamadas salientes |
| Schema Discovery | 💲 Costo adicional (primera vez gratis) |
Los primeros 100,000 eventos personalizados por mes son gratuitos.
🧠 Preguntas tipo certificación
-
¿Qué servicio permite enrutar eventos entre servicios AWS y aplicaciones SaaS?
- ✅ EventBridge
-
¿Cuál es la diferencia entre EventBridge y CloudWatch Events?
- EventBridge es la versión mejorada, con soporte para eventos personalizados y SaaS.
-
¿Qué tipo de bus usarías para eventos generados por tu app?
- ✅ Custom Event Bus
-
¿Puedes enviar eventos a un webhook externo desde EventBridge?
- ✅ Sí, usando API Destinations
-
¿Cómo defines qué eventos deben ser enviados a un destino?
- ✅ Usando una regla basada en patrones JSON
🎯 Buenas prácticas
-
Usa nombres descriptivos para buses y reglas.
-
Filtra eventos lo más cerca posible del origen (minimiza procesamiento innecesario).
-
Habilita logs de eventos fallidos en CloudWatch.
-
Usa Schema Registry para mantener consistencia en eventos internos.
-
Usa Dead Letter Queues (DLQ) en destinos críticos.