Skip to main content

HAQM MQ FAQs

General

Open all

HAQM MQ is a managed message broker service for Apache ActiveMQ and RabbitMQ that makes it easy to set up and operate message brokers in the cloud. You can directly access the ActiveMQ console, RabbitMQ console, industry standard APIs and protocols for messaging, including JMS, NMS, AMQP 0.9.1, AMQP 1.0, STOMP, MQTTv3, and WebSocket. You can create a new HAQM MQ broker using these standards with a few steps, or migrate existing message brokers to HAQM MQ without rewriting messaging code.

HAQM MQ is suitable for enterprise IT professionals, developers, and architects who plan to adopt industry standard messaging APIs and protocols to decouple and scale their applications on the cloud without the operational burden of managing the message broker itself.

HAQM MQ manages the process of setting up a message broker and provisioning the infrastructure and open-source broker engine software. Once your broker is up and running, HAQM manages ongoing software upgrades, security updates, fault detection, and recovery.

With a few steps, you can create an HAQM MQ multi-AZ deployment broker. HAQM MQ automatically manages the nodes in the deployment, replicates data for high availability, deploys patches regularly, manages integrations with AWS services, makes important metrics visible, and supports broker engine version upgrades so you can take advantage of the latest improvements to the open-source versions.

With HAQM MQ, you do not have to worry about administration tasks such as broker provisioning, security patching, setup, configuration, broker version upgrades, or recovery. You may want to consider HAQM MQ when you want to offload operational overhead and associated costs. If you want greater control to customize features and configurations or to use custom plugins, you may want to consider installing and running your message broker on HAQM EC2 directly.

In certain use cases, the inter-node data transfer for RabbitMQ can result in high costs on a self-managed cluster. HAQM MQ does not charge for inter-node data transfer for RabbitMQ brokers.

HAQM MQ makes it easy to set up and operate message brokers in the cloud. With HAQM MQ, you can use the AWS Management Console, CLI, or API calls to launch a production-ready message broker in minutes. In most cases, you can simply update the endpoints of your HAQM MQ broker to connect to your existing applications and start sending messages.

Try a short tutorial, Create a Connected Message Broker, to get started today.

HAQM MQ region availability is documented here.  

Migrating to HAQM MQ

Open all

HAQM MQ provides compatibility with the most common messaging APIs, such as Java Message Service (JMS) and .NET Message Service (NMS), and protocols, including AMQP, STOMP, MQTT, and WebSocket. This makes it easy to switch from any standards-based message broker to HAQM MQ without rewriting the messaging code in your applications. In most cases, you can simply update the endpoints of your HAQM MQ broker to connect to your existing applications, and start sending messages.

Apache ActiveMQ

Open all

Apache ActiveMQ is an open source, multi-protocol, Java-based message broker.

HAQM MQ supports ActiveMQ Classic version 5.18 by default. Customers can choose older versions such as ActiveMQ 5.17, but HAQM MQ does not recommend them.

HAQM MQ will continually add support for new ActiveMQ versions. The number of new versions supported will vary based on the frequency and content of releases by the open-source maintainers. 

You can specify the ActiveMQ version (e.g. ActiveMQ 5.17.6) when creating a new broker via the AWS Management Console or the CreateBroker API. HAQM MQ will provide the latest version available by default on the AWS Management Console.

You can manually upgrade your broker at any time to the next supported major, minor, or patch version. When you turn on automatic minor version upgrades, HAQM MQ will upgrade your broker to the latest supported patch version during the next maintenance window. HAQM MQ will upgrade all brokers to the next supported minor version when the current minor version reaches end of support.

HAQM MQ supports ActiveMQ versions up to the end of support date indicated in the ActiveMQ version support calendar. HAQM MQ will provide at least 90 days of notice before a version reaches end of support. HAQM MQ will upgrade all brokers to the next supported version when the current minor version reaches end of support.

In some cases, HAQM MQ may end support for specific versions without prior notice, such as when a version does not meet our high quality, performance, or security bar. In the unlikely event that such cases occur, HAQM MQ will prevent the creation of new brokers with these versions and upgrade existing brokers to the next supported version that meets our bar. Specific circumstances may dictate different timelines depending on the issue being addressed.

HAQM MQ for ActiveMQ supports two types of broker storage – durability optimized using HAQM Elastic File System (HAQM EFS) and throughput optimized using HAQM Elastic Block Store (EBS). To take advantage of high durability and replication across multiple Availability Zones, use durability optimized brokers backed by HAQM EFS. To take advantage of high throughput for your high-volume applications, use throughput optimized brokers backed by EBS. 

HAQM MQ for ActiveMQ uses the “network of brokers” feature that is part of Apache ActiveMQ. A network of brokers consists of multiple brokers connected in a mesh. Brokers in the network share information about the clients and destinations each broker hosts. The brokers use this information to route messages through the network. With HAQM MQ, the brokers in the network can either be active-standby brokers (each active broker in the network has a standby node, with shared storage, that will take over if the active node fails), or single-instance brokers (if the node fails, it will be unavailable until it is restarted). Each broker in the network maintains its own unique message store which is replicated across multiple availability zones (AZs) within a region for active/standby brokers, using durability-optimized storage. The nodes in the network forward messages to each other, so messages are stored by a single broker at any given time. You should use network of brokers if you require high availability with fast reconnection in the case of broker failure, or if you need the ability to scale horizontally.

RabbitMQ

Open all

RabbitMQ is an open source, multi-protocol message broker supporting a wide variety of messaging use cases.

HAQM MQ supports RabbitMQ version 3.13 by default. Customers can choose older versions such as RabbitMQ 3.8, 3.9, 3.10, 3.11 or 3.12, but HAQM MQ does not recommend them.

HAQM MQ will continually add support for new RabbitMQ versions. The number of new versions supported will vary based on the frequency and content of releases by the open-source maintainers. 

You can specify the RabbitMQ version (e.g. RabbitMQ 3.13) when creating a new broker via the AWS Management Console or the CreateBroker API. HAQM MQ will provide the latest version available by default on the AWS Management Console.

You can manually upgrade your broker at any time to the next supported major or minor version. When you turn on automatic minor version upgrades, HAQM MQ will upgrade your broker to the latest supported patch version during the next maintenance window. HAQM MQ will upgrade all brokers to the next supported minor version when the current minor version reaches end of support. From RabbitMQ version 3.13 onwards, HAQM MQ will manage the patch version for you and ensure all brokers are on the latest patch version of the minor version.

HAQM MQ supports RabbitMQ versions up to the end of support date indicated in the RabbitMQ version support calendar. HAQM MQ will provide at least 90 days of notice before a version reaches end of support. HAQM MQ will upgrade all brokers on the version to the next supported version after it reaches end of support. All supported RabbitMQ versions today are backward compatible with each other. 

You can manually upgrade your broker at any time to the next supported major or minor version. When you turn on automatic minor version upgrades, HAQM MQ will upgrade your broker to the latest supported patch version during the next maintenance window. HAQM MQ will upgrade all brokers to the next supported minor version when the current minor version reaches end of support. From RabbitMQ version 3.13 onwards, HAQM MQ will manage the patch version for you and ensure all brokers are on the latest patch version of the minor version.

HAQM MQ for RabbitMQ includes the management, shovel, federation, and consistent hash exchange plugins on all brokers.

Integrations

Open all

Any application that runs on an AWS compute service, such as HAQM EC2HAQM ECS, or AWS Lambda, can use HAQM MQ. HAQM MQ is also integrated with the following AWS services:

Availability

Open all

You can create a multi-AZ broker with a few clicks in the AWS Management Console or using the AWS SDKs. First, in the HAQM MQ console select an AWS region and broker engine type to create an HAQM MQ cluster in. You can choose from a three-node cluster deployment for RabbitMQ, an Active-Standby deployment or a mesh network of brokers for ActiveMQ.

No, EC2 instances are not visible in your EC2 account as these are managed by the HAQM MQ service. Some networking resources (elastic network interfaces (ENIs), VPC endpoints) are visible in your HAQM EC2 account for you to connect to the broker.  

You need to provision broker instances and broker storage with every broker you create. You may choose to select an existing VPC, subnet, security group or customer managed keys instead of the ones provided by the HAQM MQ service.

Configurations

Open all

Yes, HAQM MQ allows you to create custom configurations and apply them to new and existing clusters. For more information on custom configurations, see the configuration documentation.

Encryption

Open all

HAQM MQ supports the AWS Key Management Service (AWS KMS) to create and manage keys for at-rest encryption of your data in HAQM MQ. When you create a broker, you can select the KMS key used to encrypt your data from the following three options: a KMS key in the HAQM MQ service account, a KMS key in your account that HAQM MQ creates and manages, or a KMS key in your account that you create and manage. In addition to encryption at rest, all data transferred between HAQM MQ and client applications is securely transmitted using TLS/SSL.

Pricing

Open all

With HAQM MQ, you pay only for what you use. You are charged for the broker instance usage, storage usage, and standard data transfer fees. You can easily get started with HAQM MQ using the free tier for one year. See HAQM MQ pricing for details.

No, all inter-node data transfer is included with the service at no additional charge. 

No, HAQM MQ does not offer reserved instance pricing.  
 

No, each broker you provision includes boot volume storage managed by the HAQM MQ service. 

Compliance

Open all

HAQM MQ is compliant or eligible for the following programs: 

  • HIPAA eligible
  • PCI DSS compliant
  • SOC 1,2,3 compliant
  • ISO 9001, 27001, 27017, and 27018 certified

For a complete list of AWS services and compliance programs, please see AWS Services in Scope by Compliance Program.