Skip to main content
This page describes how Amazon MQ RabbitMQ Cluster maps to services in the environment where the application runs, including backend choices, supported operations and service-specific behavior.

Supported environments

  • Akamai
  • Azure
  • DigitalOcean
  • Google Cloud
  • OCI
  • Private Kubernetes
  • Scaleway
Check the operation and capability tables for the behavior your application depends on. A supported environment does not imply that every operation of the origin service is available.

How the backends compare

Each row compares a capability of Amazon MQ RabbitMQ Cluster with its adaptation on each backend. A dash means this profile does not state the capability for that backend.

Cloud Adapter

On Akamai, Azure, DigitalOcean, Google Cloud, OCI, Private Kubernetes, and Scaleway

Bitnami RabbitMQ

How it works

Tensor9 deploys the Bitnami RabbitMQ Helm chart on your Kubernetes cluster and puts the broker’s host and port in the generated Amazon MQ outputs. Your application connects straight to that broker over AMQP 0-9-1 and keeps its RabbitMQ client library; Tensor9 is not in the message path. Clients that pin the AWS certificate chain must trust the new broker’s certificate issuer instead. The deployment has 3 broker pods, persistent storage and a Kubernetes Service. Your platform team operates the broker, storage, upgrades and recovery. A disconnected deployment also needs the container images, chart, certificates and other dependencies available locally.

Queues and broker configuration

Exchanges, bindings, routing keys, publisher confirms, transactions, consumer acknowledgments, prefetch, dead-letter exchanges and TTL work as they do on Amazon MQ, because the broker is RabbitMQ. When you import definitions, check queue types and enabled plugins against the broker version. Declare quorum queues explicitly, or set the broker’s default queue type. RabbitMQ defaults to classic queues unless you change that default; running RabbitMQ 4.x alone does not select quorum queues. The management HTTP API and console show broker definitions and state. Set broker settings, credentials, TLS and plugins through the Helm chart’s values. This mapping does not need a RabbitmqCluster custom resource or the RabbitMQ Cluster Operator.

Three-node deployment and replication

The cluster runs three broker pods. A quorum queue copies its messages to its members using Raft, which needs a majority of members to agree. With three members, the queue keeps working after losing one, as long as the other two can reach each other and their storage. This guarantee also depends on publisher confirms and durable queues. Place the pods on separate nodes and failure domains: three pods on one node do not survive that node failing. Classic queues are not replicated just because the broker has three nodes; declare the queue type you need. Size each persistent volume for the backlog you keep and your recovery needs. Storage availability and backups are separate from broker replication: a replicated queue does not protect against deletion or a wrong retention policy.
The Bitnami RabbitMQ Helm chart deploys 3 broker pods, each with a persistent volume. Quorum queues replicate across their members.The Bitnami RabbitMQ Helm chart deploys 3 broker pods, each with a persistent volume. Quorum queues replicate across their members.

Limitations

Where RabbitMQ on Kubernetes and Amazon MQ differ
  • TLS trust behaves differently. The broker uses a self-signed or cert-manager-issued certificate, not an AWS-managed one. Set up client trust and certificate renewal before you switch endpoints.
  • AWS broker settings are not supported. CloudWatch logs, KMS encryption, the maintenance window, VPC placement and minor-version upgrades are omitted. Use the target environment’s monitoring, storage encryption and upgrade tools instead. Broker credentials and TLS settings are part of the Kubernetes deployment.
  • Streams are not supported. Amazon MQ for RabbitMQ does not offer them, and this mapping does not set them up. The self-operated broker can run Streams if you add them yourself: core stream queues can use AMQP; the RabbitMQ Stream protocol also needs its plugin, listener and a compatible client.
  • ActiveMQ is not supported. This mapping covers the RabbitMQ engine only. Amazon MQ’s ActiveMQ engine uses a different broker and protocols.

Other considerations

Moving from AWS. Export exchanges, queues, bindings, users, virtual hosts and policies from the source management API as definitions.json, then import the supported definitions into the new broker. Applications that declare their own topology recreate it when they connect. Messages do not move. Definitions do not include the backlog, and the new broker starts empty. Drain the old broker, or use Shovel or Federation if you need continuity. Deliveries in flight at cutover are not transferred, so test consumer retries. Capacity and monitoring. The broker and its volumes run all the time. Plan capacity from backlog, message sizes, publish and consume rates, and recovery tests on the actual cluster. After cutover, watch disk capacity, queue growth and consumer progress. Provider references: quorum queues, default queue type, and core Streams and the Stream plugin.

Install and run

The documentation and SLAs are public. Downloading and running the Cloud Adapter binary requires an entitled customer account. Set T9_API_KEY as described in Install and Authenticate, then list the adapters your account may use with this origin:
The result is limited to directed mappings for this origin that your account is entitled to use. Use a returned backend identifier when configuring the adapter or investigating a request. Request binary access from [email protected] if your account does not yet include this direction.

Existing data and credentials

Selecting a backend does not copy existing data, credentials or access policies. Plan and verify migration separately before changing an application’s endpoint. Do not assume an identifier, credential or encrypted value from the origin service works unchanged on the target.

Configure, tune and debug

Start with setup and configuration. Use tuning to understand supported request tags, debugging to investigate a request, and High Fidelity Cloud Emulators to validate a bounded reproduction. For requests that go through an entitled service adapter, use tensor9 explain and x-t9-explain to inspect the selected mapping.