Qué es
Amazon MQ es un servicio de brokers de mensajes gestionados con dos motores de código abierto: Apache ActiveMQ y RabbitMQ. Un broker es el servidor intermediario que recibe, guarda y reparte los mensajes entre aplicaciones. AWS se encarga de aprovisionarlo, parchearlo y mantener su alta disponibilidad, y tus aplicaciones siguen hablando los mismos protocolos estándar que en tu centro de datos. Su razón de ser es la migración: llevar a AWS aplicaciones que ya usan un broker sin reescribir la mensajería.
Conceptos clave
- Protocolos: ActiveMQ habla JMS (Java Message Service: API estándar de mensajería de Java), AMQP (Advanced Message Queuing Protocol: protocolo estándar de mensajería) 1.0, MQTT (Message Queuing Telemetry Transport: protocolo ligero de mensajería para dispositivos), STOMP (Simple Text Oriented Messaging Protocol: protocolo de mensajería basado en texto), OpenWire y WebSocket; RabbitMQ habla AMQP 0-9-1. Por eso encaja cuando la aplicación ya usa esas interfaces.
- Modos de despliegue:
- Instancia única: para desarrollo y pruebas.
- ActiveMQ activo/en espera: dos brokers en dos zonas de disponibilidad con almacenamiento compartido (EFS (Elastic File System)); si cae el activo, el de espera toma el control.
- RabbitMQ en clúster: tres nodos en tres zonas detrás de un único endpoint, con colas replicadas (colas quorum).
- Tamaño del broker: se elige un tipo de instancia (
mq.m5,mq.m7g…); no escala solo como SQS (Simple Queue Service), hay que dimensionarlo. - Colas y temas: los brokers ofrecen tanto colas (punto a punto) como temas (publicación/suscripción) con los modelos propios de cada motor (intercambios de RabbitMQ, destinos virtuales de ActiveMQ).
- Acceso: brokers públicos (con endpoint accesible desde internet) o privados (solo dentro de una VPC (Virtual Private Cloud)).
Casos de uso típicos
- Migrar a AWS aplicaciones Java empresariales que usan JMS.
- Llevar un clúster de RabbitMQ autogestionado a un servicio gestionado.
- Integrar sistemas heredados que solo hablan AMQP, MQTT o STOMP.
Cuándo NO usarlo
- Aplicaciones nuevas en la nube: SQS y SNS (Simple Notification Service) escalan solos, no hay broker que dimensionar y son más baratos para la mayoría de cargas.
- Streaming de eventos con relectura y gran volumen: Kinesis Data Streams o MSK (Managed Streaming for Apache Kafka).
- Enrutamiento de eventos entre servicios de AWS: EventBridge.
- Mensajería de miles de dispositivos por MQTT: AWS IoT Core.
Amazon MQ frente a SQS/SNS
| Característica | Amazon MQ | SQS / SNS |
|---|---|---|
| Protocolos | Estándar (JMS, AMQP, MQTT, STOMP) | API (Application Programming Interface: interfaz para que los programas se comuniquen) propia de AWS |
| Escalado | Eliges el tamaño del broker | Automático, casi ilimitado |
| Operación | Gestionado, pero con broker y ventanas de mantenimiento | Sin servidores |
| Mejor para | Migrar aplicaciones existentes | Aplicaciones nuevas en AWS |
Modelo de precios
Se paga por hora de cada instancia de broker según su tipo y el modo de despliegue (varias instancias en alta disponibilidad multiplican el coste), más el almacenamiento por GB al mes y la transferencia de datos. No hay cobro por mensaje.
Seguridad y alta disponibilidad
- Brokers privados dentro de la VPC, con security groups.
- Cifrado en tránsito con TLS (Transport Layer Security: cifrado de las conexiones) y en reposo con claves de KMS (Key Management Service).
- Usuarios del propio broker (y LDAP (Lightweight Directory Access Protocol: protocolo de directorios de usuarios) en ActiveMQ); IAM (Identity and Access Management) controla quién gestiona los brokers.
- Alta disponibilidad con activo/en espera (ActiveMQ) o clúster de tres nodos (RabbitMQ).
- Actualizaciones en ventanas de mantenimiento que elige el cliente.
Trampas de examen
- "JMS", "AMQP", "STOMP", "OpenWire" o "migrar sin cambiar el código de mensajería": Amazon MQ.
- "Aplicación nueva, escalado automático, sin servidores": SQS o SNS, no Amazon MQ.
- "Alta disponibilidad de ActiveMQ": despliegue activo/en espera en dos zonas.
- "RabbitMQ gestionado y resistente a fallos de zona": clúster de tres nodos.
Preguntas de práctica
Preguntas originales escritas para estos apuntes. No son preguntas reales de examen.
Fuentes
- What is Amazon MQ?, documentación de AWS (consultada el 26/09/2026).
- What is the Amazon MQ migration guide?, documentación de AWS (consultada el 26/09/2026).
- Amazon MQ for RabbitMQ broker architecture, documentación de AWS (consultada el 26/09/2026).