Amazon MQ
全托管提供 Apache ActiveMQ 和 RabbitMQ,以最小代码变更将现有消息应用迁移到云端的消息代理服务
概述
Amazon MQ 是一项全托管提供 Apache ActiveMQ 和 RabbitMQ 两种开源消息代理引擎的服务。支持 JMS、AMQP、STOMP、MQTT、OpenWire 等行业标准协议,可将本地运行的现有消息应用无需大幅重写代码即可迁移到云端。代理的补丁、故障转移等已自动化,开发者可专注于应用逻辑。
代理引擎选择与部署配置
Amazon MQ 提供 ActiveMQ (概述页面和常见问题中写作 Apache ActiveMQ Classic) 和 RabbitMQ 两种引擎。ActiveMQ 适合使用 JMS API 的 Java 企业应用,支持队列和主题两种消息模式。RabbitMQ 适合需要灵活路由 (交换机和绑定) 的场景,支持 AMQP 0-9-1 协议。部署配置包括单实例 (开发/测试用)、活动/备用 (生产用) 和 RabbitMQ 的集群部署。活动/备用配置跨两个可用区部署,主代理故障时自动故障转移到备用代理。
ActiveMQ 的网络代理与持久化
ActiveMQ 引擎支持网络代理 (Network of Brokers) 配置,多个代理形成网格拓扑实现消息的分布式路由。这适合需要跨区域消息传递或超出单代理吞吐量限制的场景。持久化方面,开发者指南说明 ActiveMQ 代理默认使用 Amazon EFS 存储,也有 Amazon EBS,但活动/备用配置使用 EFS,EBS 仅限 mq.m5 系列的单实例代理。持久消息在代理重启和故障转移后仍会保留。每个代理的存储容量上限因实例类型而异,见配额页面。死信队列 (DLQ) 自动捕获无法投递的消息,便于故障排查。
认证、加密与维护窗口
认证方面,ActiveMQ 基本使用用户名/密码认证,RabbitMQ 基本使用原生用户管理功能;与现有目录服务联动的 LDAP 集成在两种引擎上均可使用 (截至 2026 年 10 月)。传输中加密通过 TLS 实现,静态加密使用 KMS 密钥。VPC 内部署确保代理不暴露到公网。维护窗口每周执行一次,用于应用安全补丁和小版本升级。AWS 在开发者指南中说明,在版本支持结束日期前 30 天内不再接受在该版本上创建新代理,达到支持结束的版本上的代理会在维护窗口期间自动升级到下一个受支持的版本 (截至 2026 年 10 月)。维护期间活动/备用配置会执行故障转移,单实例配置会有短暂停机。与 SQS/SNS 的选型:AWS 在 SQS 常见问题中建议,将现有应用的消息传递迁移到云端时考虑 Amazon MQ,在云中构建全新应用时考虑 Amazon SQS 和 Amazon SNS。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。