Amazon MQ 常见问题

问:什么是 Amazon MQ?

Amazon MQ 是一种适用于 Apache ActiveMQRabbitMQ 的托管消息代理服务,让您能够轻松地在云中设置和操作消息代理。您可以直接访问 ActiveMQ 和 RabbitMQ 控制台以及用于消息收发的行业标准 API 和协议,包括 JMS、NMS、AMQP 1.0 和 0.9.1、STOMP、MQTT 和 WebSocket。您可以轻松地从任何使用这些标准的消息代理迁移到 Amazon MQ,因为您不必在应用程序中重写任何消息收发代码。

问:哪些人应该使用 Amazon MQ?

Amazon MQ 适合在本地或云中管理消息代理,并且想要迁移到完全托管的云服务而不在应用程序中重新编写消息收发代码的企业 IT 专家、开发人员和架构师。

问:Amazon MQ 可以为我处理哪些工作?

Amazon MQ 可以处理消息代理的设置工作,从预置您请求的基础设施容量(包括代理实例和存储)到安装代理软件都包括在内。代理启动并运行后,Amazon 就会持续为您处理软件升级、安全更新以及故障检测和恢复工作。Amazon MQ 以冗余方式在多个可用区 (AZ) 内存储消息,可以实现消息持久性。借助活跃/备用代理,Amazon MQ 能够在发生故障时自动故障转移到备用实例,让您可以继续发送和接收消息。

问:应该在什么时候使用 Amazon MQ,在什么时候在 Amazon EC2 上管理 ActiveMQ 或 RabbitMQ?

如何选择取决于您想要多深入地管理消息代理和底层基础设施。Amazon MQ 可以提供一种托管的消息代理服务来操作您的消息代理,包括设置、监控、维护和预置底层基础设施,以便实现高可用性和持久性。如果您想要摆脱操作开销和相关成本,您可以考虑使用 Amazon MQ。如果您想要更高的控制以便自定义各种功能和配置,或者想要使用自定义插件,您可以考虑直接在 Amazon EC2 上安装并运行消息代理。

问:如果我使用的是其他消息代理而不是 ActiveMQ 或 RabbitMQ,应该如何迁移?

Amazon MQ 能够与最常见的消息收发 API (例如 Java Message Service (JMS) 和 .NET Message Service (NMS)) 和协议 (包括 AMQP、STOMP、MQTT 和 WebSocket) 兼容。这样,您可以从任何基于标准的消息代理轻松切换到 Amazon MQ,无需重新编写应用程序中的消息收发代码。大多数情况下,您只需更新 Amazon MQ 代理的各个终端节点,即可连接到现有的应用程序并开始发送消息。

问:Amazon MQ 如何与其他 AWS 服务配合使用?

在 AWS 计算服务上运行的任何应用程序(例如 Amazon EC2Amazon ECSAWS Lambda)都能使用 Amazon MQ。此外,Amazon MQ 还与以下 AWS 产品集成:

问:如何开始使用 Amazon MQ?

Amazon MQ 让您能够在云中轻松设置和操作消息代理。借助 Amazon MQ,您可以通过 AWS 管理控制台、CLI 或 API 调用在几分钟内启动一个生产就绪型消息代理。大多数情况下,您只需更新 Amazon MQ 代理的各个终端节点,即可连接到现有的应用程序并开始发送消息。

查看简短教程创建连接消息代理,立即开始使用。

问:Amazon MQ 如何收费?

使用 Amazon MQ,您只需按实际用量付费。您按代理实例和存储使用量付费,并支付标准数据传输费用。Amazon MQ 提供一年免费套餐,入门非常简单。请参阅 Amazon MQ 定价了解详细信息。

问:Amazon MQ 是否满足合规性标准?

满足。Amazon MQ 符合 HIPAA 的要求,且满足 PCI、SOC 和 ISO 合规要求。

Amazon MQ 符合 HIPAA 的要求,这意味着您可以使用它在医疗保健系统之间存储和传输消息,包括那些包含受保护的健康信息 (PHI) 的消息。Amazon MQ 符合 PCI DSS,这意味着您可以使用它来处理、存储或传输付款信息。此外,Amazon MQ 也通过了 ISO 9001、27001、27017 和 27018 认证。这些认证是全球公认的安全标准,能够证实云的质量和信息安全管理得到保证,且个人身份信息受到保护。Amazon MQ 符合 SOC 1、2 和 3 标准,使您可以深入了解保护客户数据的安全流程和控制措施。

有关 AWS 服务和合规性计划的完整列表,请参考 AWS 按合规性计划提供的范围内服务

问:分别应在何时使用 Amazon MQ 和Amazon SQS 和 SNS?

Amazon MQ、Amazon SQSAmazon SNS 都是消息收发服务,适用于从初创公司到大型企业的任何规模的企业。如果您正在使用现有应用程序中的消息收发功能,并且想要快速轻松地将消息收发功能移至云中,我们建议您考虑使用 Amazon MQ。它支持多种行业标准 API 和协议,因此您可以从任何基于标准的消息代理切换到 Amazon MQ,无需重新编写应用程序中的消息收发代码。如果您要在云中构建全新的应用程序,我们建议您考虑使用 Amazon SQS 和 Amazon SNS。Amazon SQS 和 SNS 是轻型的、完全托管的消息队列和主题服务,可以几乎无限地进行扩展,并可提供易于使用的简单 API。您可以使用 Amazon SQS 和 SNS 分离和扩展微服务、分布式系统和无服务器应用程序,以及提高可靠性。

问:分别应在何时使用 Amazon MQ 和AWS IoT 消息代理?

如果您希望通过开源消息收发应用程序(如 ActiveMQ 或任何商业消息代理)卸载运营开销和相关成本,可以使用 Amazon MQ。当您从商业代理或开源代理(如 ActiveMQ)迁移时,可以使用 Amazon MQ 来降低代理维护、许可成本并提高代理稳定性。Amazon MQ 还适用于应用程序集成使用案例,其中您正在使用微服务开发基于云的新应用程序,这些微服务与复杂的消息收发模式进行通信,并且需要低延迟、高可用性和消息持久性。Amazon MQ 支持行业标准 API(如 JMS 和 NMS)和消息收发协议(包括 AMQP、STOMP、MQTT 和 WebSocket)。

当您的使用案例涉及物联网设备的遥测、设备管理、设备安全性和物联网分析时,您可以使用 AWS IoT 消息代理。AWS IoT 消息代理适用于连接大型设备队列并收集遥测数据以将其发送到本机 AWS 服务的 IoT 行业客户。AWS IoT 消息代理支持行业标准的轻量级协议,如 MQTT、HTTP 和基于 WebSocket 的 MQTT。

问:如何使用我自己的自定义密钥加密 Amazon MQ 中的数据?

Amazon MQ 支持 AWS Key Management Service (AWS KMS),可用于为您在 Amazon MQ 中数据的静态加密创建和管理密钥。现在,在创建代理时,您可以从以下三个选项中选择用于为 Amazon MQ for ActiveMQ 加密数据的 KMS 密钥:Amazon MQ 服务账户中的 KMS 密钥、Amazon MQ 创建和管理的账户中的 KMS 密钥,或您创建和管理的账户中的 KMS 密钥。对于 Amazon MQ for RabbitMQ,将使用 Amazon MQ 服务账户中的 KMS 密钥。除了静态加密之外,还可以使用 TLS/SSL 安全地传输在 Amazon MQ 和客户端应用程序之间传输的所有数据。

问:如何监控我的代理实例、队列和主题?

Amazon MQ 和 Amazon CloudWatch 集成在一起,因此您可以查看和分析代理实例以及队列和主题的指标。您可以从 Amazon MQ 控制台、CloudWatch 控制台、命令行或以编程方式查看和分析指标。系统每分钟自动收集指标并将其推送到 CloudWatch。

问:Amazon MQ 是否有服务等级协议?

可以。AWS 将采取合理的商业措施,在任何月度结算周期期间,确保活跃/备用 ActiveMQ 代理和 RabbitMQ 集群的月度正常运行时间百分比至少达到 99.9%(“服务承诺”)。如果 Amazon MQ 不满足月度正常运行时间百分比承诺,客户将有权收取服务补偿。有关详细信息,请查看完整的 Amazon MQ 服务等级协议

问:Amazon MQ for ActiveMQ 提供什么类型的存储?

Amazon MQ for ActiveMQ 支持两种代理存储类型 – 使用 Amazon Elastic File System (Amazon EFS) 的持久性优化存储和使用 Amazon Elastic Block Store (EBS) 的吞吐量优化型存储。要在多个可用区间利用高持久性和复制功能,请使用 Amazon EFS 支持的持久性优化代理。要利用大容量应用程序的高吞吐量,请使用 EBS 支持的吞吐量优化代理。吞吐量优化型代理可以减少所需代理的数量,并降低使用 Amazon MQ 运行大容量应用程序的成本。

问:Amazon MQ for RabbitMQ 可使用哪些插件?

Amazon MQ for RabbitMQ 包含在所有代理上的管理、shovel、联合和一致的散列交换插件。

问:Amazon MQ 代理网络是什么?

Amazon MQ for ActiveMQ 使用 Apache ActiveMQ 中的“代理网络”功能。代理网络由多个互连的代理组成。网络中的代理会共享有关每个代理托管的客户端及目标的信息。代理使用这些信息通过网络路由消息。借助 Amazon MQ,网络中的代理可以使主动-备用代理(网络中的每个主动代理都有使用共享存储的备用节点,备用节点会在主动节点出故障时接管其工作),也可以是单实例代理(如果节点出故障,在重新启动前将一直不可用)。网络中的每个代理都维护着自己唯一的消息存储,可在同一区域中的多个可用区中进行复制。网络中的节点会互相转发消息,因此消息在任何给定时间会由单个代理存储。

如果需要高可用性,且在代理出故障时需要快速重新连接,或者需要横向扩展,应使用代理网络。

Amazon MQ 入门

Amazon MQ 教程
了解有关定价的更多信息
访问 Amazon MQ 定价页面。
了解更多 »
Next-Steps-Create-account
注册免费账户
立即享受 AWS 免费套餐。
注册 »
开始使用 Amazon MQ 进行构建
开始在控制台中构建
在 AWS 管理控制台中,使用 Amazon MQ 开始构建。
开始使用 »