Amazon MQ

Amazon MQ: Moving Old-School Messaging Systems Into the Cloud Without Rewriting Everything

How a managed broker service lets businesses keep their trusted messaging software while letting AWS handle the servers underneath it.

Picture a company that has run its own private mail sorting office for the last fifteen years. It has its own building, its own sorting machines, its own staff trained on a specific brand of equipment, and every other department in the company knows exactly how to send mail through it. Now imagine that company wants to move into a modern shared office building — but they don’t want to throw away their trusted sorting machines or retrain everyone overnight. What they really want is for someone else to take over running and maintaining that same sorting office, in the new building, without changing how it works. That is essentially what Amazon MQ does for messaging software. Many companies already use well-known, industry-standard message brokers like Apache ActiveMQ or RabbitMQ, and their applications are built to talk to those exact systems. Amazon MQ lets them keep using that same familiar software, while AWS takes over the tiring parts — installing, patching, backing up, and keeping the servers running. This tutorial walks through, in plain language, exactly what Amazon MQ is, why it exists, and how it works.

1What Is Amazon MQ?

A managed version of message broker software you may already know.

Amazon MQ is a managed message broker service. A “message broker” is software that sits between different applications and helps them exchange messages reliably — very similar in purpose to a queue, but built around long-established, industry-standard messaging protocols and software rather than a brand-new AWS-only system.

Specifically, Amazon MQ supports two extremely popular open-source broker engines: Apache ActiveMQ and RabbitMQ. If a company already has an application written to work with either of these systems, they can move that application to Amazon MQ with little to no code changes, because Amazon MQ runs genuine ActiveMQ or RabbitMQ software — AWS simply manages the underlying servers for them.

Simple Analogy

Imagine you love a specific brand of coffee machine at your office, and your entire team knows how to use it perfectly. If your company moves to a new building, you don’t want a completely different machine that nobody knows how to operate — you want the exact same machine, just now maintained and restocked by the new building’s staff instead of your own. Amazon MQ is that same trusted machine, just managed by AWS instead of your own IT team.

2
Supported broker engines
2017
Year Amazon MQ launched
Multi-AZ
High availability option

2Why Does Amazon MQ Exist?

Solving the pain of running your own message broker software.

Before services like Amazon MQ existed, if a company wanted to use ActiveMQ or RabbitMQ, they had to install it themselves on their own servers, whether physical machines in their own building or virtual servers in the cloud. This meant they were fully responsible for a long list of ongoing chores.

Chore

Installation and Setup

Someone has to install the broker software correctly, configure networking, and make sure it starts up reliably.

Chore

Security Patching

New security fixes are released regularly, and someone must apply them promptly to avoid leaving the system vulnerable.

Chore

Backups

Regular backups need to be scheduled, tested, and stored safely in case something goes wrong.

Chore

High Availability Setup

To avoid downtime, the broker needs to be set up to keep running even if one server fails — a complex task to configure correctly.

Chore

Monitoring

Someone has to constantly watch the system’s health, memory usage, and performance to catch problems early.

Chore

Version Upgrades

Moving to a newer version of the broker software over time requires careful planning to avoid breaking connected applications.

Amazon MQ takes over every single one of these responsibilities. The company still uses the exact broker software their applications already expect, but AWS quietly handles all the operational work behind the scenes.

i
Why This Matters

This is especially valuable for companies migrating older (“legacy”) applications to the cloud. Instead of rewriting an application to use a brand-new AWS-specific messaging system, they can move the application as-is and simply point it at Amazon MQ.

3Core Concepts and Terminology

The essential vocabulary before going any further.

Term

Broker

The actual server running the messaging software (ActiveMQ or RabbitMQ) that receives, stores, and delivers messages.

Term

Queue

A destination where a message is expected to be picked up and processed by exactly one consumer, similar in spirit to Amazon SQS.

Term

Topic

A destination where a single message can be delivered to many subscribers at once, rather than just one consumer.

Term

Producer

An application that sends messages into the broker.

Term

Consumer

An application that receives and processes messages from the broker.

Term

Broker Instance

The actual running deployment of Amazon MQ, which can be a single instance or a highly available pair of instances.

Simple Analogy

A queue is like handing a note to one specific person standing in line. A topic is like making an announcement over a loudspeaker — everyone subscribed to hear announcements gets the message at the same time.

4ActiveMQ vs. RabbitMQ on Amazon MQ

Two different engines under the same managed service.

Amazon MQ isn’t a single piece of software — it’s a management layer around two very different, well-established messaging engines. Choosing between them usually comes down to what your existing applications were already built to use, or which messaging style fits your needs.

FeatureApache ActiveMQRabbitMQ
Protocol StyleJMS (Java Message Service) and othersAMQP and others
Common Language FitJava-based enterprise applicationsBroad, language-agnostic use
Routing FlexibilityGood, with queues and topicsVery flexible message routing rules
Typical OriginTraditional enterprise Java systemsModern microservices architectures
!
Common Misconception

People sometimes think Amazon MQ is a completely new AWS invention. In reality, it deliberately runs the real, unmodified ActiveMQ or RabbitMQ engines — the whole point is compatibility with what already exists, not a replacement technology.

5How a Message Flows Through Amazon MQ

Tracing one message from sender to receiver.

1

Application Connects to the Broker

The producer application connects to the Amazon MQ broker using a standard protocol it already knows, such as JMS or AMQP.

2

Message Sent to a Queue or Topic

The application sends its message to a specific destination — either a queue for one consumer, or a topic for many subscribers.

3

Broker Stores the Message

Amazon MQ safely stores the message, and if configured for high availability, replicates it to a standby broker as well.

4

Consumer Receives the Message

A connected consumer application receives the message, either because it’s actively listening or because it checks in periodically.

5

Acknowledgment and Removal

Once the consumer confirms it successfully processed the message, the broker removes it from storage.

flowchart LR
    A[Producer App] -->|JMS / AMQP| B[Amazon MQ Broker]
    B --> C{Destination Type}
    C -->|Queue| D[Single Consumer]
    C -->|Topic| E[Multiple Subscribers]
    B -.->|Replication| F[Standby Broker]
        
FIG 1 — Message flow through a highly available Amazon MQ broker

6High Availability and Reliability

Keeping the broker running even when something fails.

Amazon MQ offers an active/standby deployment option across two separate Availability Zones (physically separate data centers within the same region). If the active broker fails or the entire data center it lives in has a problem, Amazon MQ automatically switches traffic over to the standby broker, which already has a synchronized copy of the data.

Simple Analogy

It’s like having a backup goalkeeper warming up on the sidelines the entire match, fully aware of the score and the game situation, ready to step in instantly the moment the main goalkeeper gets injured — without the team missing a beat.

2
Availability Zones used
Auto
Failover to standby broker
Synced
Data kept in real time

7Security in Amazon MQ

Protecting messages and controlling who can connect.

Control

Network Isolation

Brokers are deployed inside a private, isolated network, so they aren’t exposed directly to the public internet by default.

Control

Encryption in Transit

Connections between applications and the broker are encrypted, protecting messages as they travel across the network.

Control

Encryption at Rest

Stored messages on the broker’s disk are encrypted, so the underlying data is unreadable without proper authorization.

Control

User Authentication

Applications must log in with valid credentials before they can send or receive any messages from the broker.

!
Common Mistake

Reusing the same broker username and password across every connected application makes it very hard to know which application caused a problem, and increases the damage if one set of credentials leaks.

8Common Use Cases

Where Amazon MQ typically fits into a real system.

Migrating Legacy Enterprise Applications

Older Java-based enterprise applications built specifically around JMS and ActiveMQ can move to the cloud without rewriting their messaging code at all.

Connecting Hybrid Environments

Companies running some systems on their own servers and some in the cloud can use Amazon MQ as a shared messaging bridge between both worlds.

Replacing Self-Managed Brokers

Teams already running their own ActiveMQ or RabbitMQ servers can move to Amazon MQ purely to offload the operational burden, with minimal application changes.

Event Broadcasting With Topics

Systems that need to notify several different services at once — for example, alerting billing, shipping, and analytics systems about a single order — can use topics to fan a message out to all of them simultaneously.

9Amazon MQ vs. Amazon SQS: Which One to Choose?

Both move messages, but they serve very different situations.

AspectAmazon MQAmazon SQS
Underlying TechnologyReal ActiveMQ or RabbitMQ enginesAWS’s own proprietary queue system
Best FitExisting apps already using these protocolsNew, cloud-native applications
Protocol SupportJMS, AMQP, MQTT, STOMP, OpenWireAWS API and SDKs
Scaling StyleManaged broker instances you sizeVirtually unlimited, automatic scaling
i
Simple Rule of Thumb

If you’re building something brand new with no existing messaging code, Amazon SQS is usually simpler and scales more effortlessly. If you already have an application tightly built around ActiveMQ or RabbitMQ, Amazon MQ lets you move to the cloud without rewriting that part of your system.

10Advantages, Disadvantages, and Best Practices

Weighing the trade-offs and avoiding early mistakes.

Advantages

  • Compatible with existing applications built for ActiveMQ or RabbitMQ.
  • AWS handles patching, backups, and infrastructure maintenance.
  • Supports multiple industry-standard protocols beyond just one AWS-specific format.
  • Built-in high availability option across multiple data centers.

Disadvantages / Trade-offs

  • Requires choosing and managing broker instance sizes, unlike SQS’s automatic scaling.
  • Generally lower maximum throughput ceiling compared to Amazon SQS.
  • Slightly more operational awareness needed, since it behaves like a traditional broker rather than a fully abstracted service.
ANTI-PATTERN-01 Avoid
Problem

Choosing Amazon MQ for a brand-new application simply because “it sounds more powerful,” without any existing ActiveMQ or RabbitMQ dependency.

Why It’s Harmful

It adds unnecessary broker sizing and management overhead when a simpler, automatically scaling option like Amazon SQS would fit better.

Correct Approach

Choose Amazon MQ specifically when there’s a real need for its supported protocols or an existing application built around them.

Practice

Right-Size the Broker

Pick an instance size that matches your expected message volume, and monitor usage to adjust it over time.

Practice

Enable Multi-AZ for Production

Use the active/standby deployment for any workload where downtime would be costly or disruptive.

Practice

Separate Credentials Per Application

Give each connecting application its own login so problems can be traced back to their source.

11Frequently Asked Questions

Q1Is Amazon MQ the same thing as Amazon SQS?

No. They both move messages between applications, but Amazon MQ runs actual ActiveMQ or RabbitMQ software for compatibility with existing systems, while SQS is AWS’s own independently built queuing service.

Q2Do I need to change my application code to use Amazon MQ?

Usually very little, if any — since Amazon MQ runs the genuine broker engines your application already expects, most existing connection code continues to work.

Q3What happens if the main broker fails?

If you’ve enabled the active/standby high availability option, Amazon MQ automatically fails over to the synchronized standby broker with minimal disruption.

Q4Can Amazon MQ send a message to multiple applications at once?

Yes, using topics rather than queues, a single message can be delivered to every subscribed application simultaneously.

Q5Is Amazon MQ a good fit for a brand-new project with no existing messaging code?

It can be, but Amazon SQS is often simpler and scales more effortlessly for new, cloud-native applications that don’t need a specific existing protocol.

12Summary and Key Takeaways

Amazon MQ exists for a very specific and very common situation: companies that already trust and depend on established messaging software like ActiveMQ or RabbitMQ, but no longer want the burden of running and maintaining that software themselves. By offering these same genuine broker engines as a managed cloud service, AWS lets businesses modernize their infrastructure without forcing a disruptive rewrite of their applications. It sits alongside services like Amazon SQS not as a competitor trying to replace it, but as a compatibility bridge — the right tool specifically for the moment when “moving to the cloud” needs to happen without “changing how everything talks to each other.”

Key Takeaways

  • Amazon MQ — a managed broker service running real Apache ActiveMQ or RabbitMQ engines in the cloud.
  • Purpose — lets existing applications keep using familiar messaging protocols while AWS manages the servers.
  • Two engines — ActiveMQ (common in Java/JMS systems) and RabbitMQ (flexible, widely used in microservices).
  • Queues vs. topics — queues deliver to one consumer, topics broadcast to many subscribers.
  • High availability — an active/standby setup across two Availability Zones enables automatic failover.
  • MQ vs. SQS — choose MQ for existing protocol-dependent applications, SQS for new cloud-native systems.
  • Best practice — right-size the broker, enable Multi-AZ for production, and give each application its own credentials.