创建和配置 Amazon MQ 经纪商网络 - Amazon MQ
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建和配置 Amazon MQ 经纪商网络

A代理网络由多个同时活动单实例代理或者主动/备用代理。您可以在各种配置代理网络拓扑(例如,集中器集中器中心和辐条,或者网格),具体取决于您的应用程序的需求,例如高可用性和可扩展性。例如,中心辐射型网络可以提高弹性,并在无法访问某个代理商时保留消息。一个由经纪人组成的网络集中器集中器拓扑结构可以从接受传入消息的更多经纪商收集消息,并将其集中到更多的中心经纪商,以便更好地处理许多传入消息的负载。在本教程中,您将了解如何使用创建一个具有两个代理的代理网络。源和汇拓扑。

有关概念概述和详细配置信息,请参阅以下内容:

您可以使用 Amazon MQ 控制台创建 Amazon MQ 代理网络。因为您可以开始并行创建这两个代理,所以此过程大约需要 15 分钟。

Prerequisites

要创建代理网络,您必须具备以下条件:

  • 两个或多个同时处于活动状态的代理(在本教程中命名为 MyBroker1MyBroker2)。有关创建代理的更多信息,请参阅Creating and configuring a broker

  • 这两个代理必须位于相同的 VPC 或对等的 VPC 中。有关 VPC 的更多信息,请参阅Amazon VPC 是什么?中的Amazon VPC 用户指南什么是 VPC 对等?中的Amazon VPC 对等指南

    重要

    如果您没有默认 VPC、子网或安全组,则必须先创建它们。有关更多信息,请参阅中的以下内容。Amazon VPC 用户指南

  • 对这两个代理具有相同用户名和密码的两个用户。有关创建用户的更多信息,请参见 创建和管理 ActiveMQ 代理用户

    注意

    将 LDAP 身份验证与代理网络集成时,请确保该用户既作为 ActiveMQ 代理,也作为 LDAP 用户存在。

以下示例使用两个单实例代理。但是,您可以使用主动/备用代理或代理部署模式的组合来创建代理网络。

第 1 步:允许代理之间的流量

创建代理后,必须允许它们之间的流量。

  1. 在存储库的Amazon MQ 控制台,在我的经纪人 2页面上,在详细信息部分,位置在Security and network下,选择您的安全组的名称或

    此时将显示 EC2 Dashboard 的 Security Groups (安全组) 页面。

  2. 从安全组列表中,选择您的安全组。

  3. 在页面底部,选择 Inbound (入站),然后选择 Edit (编辑)

  4. Edit inbound rules (编辑入站规则) 对话框中,为 OpenWire 终端节点添加规则。

    1. 选择 Add Rule

    2. 对于 Type (类型),选择 Custom TCP (自定义 TCP)

    3. 对于 Port Range (端口范围),键入 OpenWire 端口 (61617)。

    4. 请执行下列操作之一:

      • 如果您想要限制访问特定 IP 地址,对于 Source (源),请将 Custom (自定义) 选定,然后输入主机的 IP 地址 MyBroker1,然后输入 /32。(这会将 IP 地址转换为有效的 CIDR 记录)。有关更多信息,请参阅弹性网络接口

        提示

        检索的 IP 地址MyBroker1,在Amazon MQ 控制台,选择代理的名称并导航到详细信息部分。

      • 如果所有代理都是私有的,并且属于相同的 VPC,则对于 Source (源),请将 Custom (自定义) 选定,然后键入要编辑的安全组的 ID。

        注意

        对于公有代理,您必须使用 IP 地址限制访问。

    5. 选择保存

      您的代理现在可以接受入站连接。

第 2 步:为您的代理配置网络连接器

在允许代理之间的流量后,必须为其中一个代理配置网络连接器。

  1. 编辑代理 MyBroker1 的配置修订。

    1. MyBroker1 页面上,选择 Edit (编辑)

    2. Edit MyBroker1 (编辑 MyBroker1) 页面上的 Configuration (配置) 部分中,选择 View (视图)

      将会显示配置所使用的代理引擎类型和版本(例如,Apache ActiveMQ 5.15.0)。

    3. Configuration details 选项卡上,会显示配置修订号、描述和 XML 格式的代理配置。

    4. 选择 Edit configuration (编辑配置)

    5. 在配置文件的底部,取消注释 <networkConnectors> 部分并包含以下信息:

      • 网络连接器的 name

      • 两个代理共有的 ActiveMQ Web 控制台username

      • 启用 duplex 连接。

      • 请执行下列操作之一:

        • 如果要将代理连接到单实例代理,请对 MyBroker2 使用 static: 前缀和 OpenWire 终端节点 uri。例如:

          <networkConnectors> <networkConnector name="connector_1_to_2" userName="myCommonUser" duplex="true" uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>
        • 如果要将代理连接到主动/备用代理,请对这两个代理使用 masterslave: 前缀和 OpenWire 终端节点 uri。例如:

          <networkConnectors> <networkConnector name="connector_1_to_2" userName="myCommonUser" duplex="true" uri="masterslave:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617, ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>
        注意

        请勿包含 ActiveMQ 用户的密码。

    6. 选择保存

    7. Save revision (保存修订) 对话框中,键入 Add network of brokers connector for MyBroker2

    8. 选择 Save (保存) 以保存配置的新修订。

  2. 编辑 MyBroker1 以将最新的配置修订设置为立即应用。

    1. MyBroker1 页面上,选择 Edit (编辑)

    2. Edit MyBroker1 (编辑 MyBroker1) 页面上的 Configuration (配置) 部分中,选择 Schedule Modifications (计划修改)

    3. Schedule broker modifications (计划代理修改) 部分中,选择 Immediately (立即) 应用修改。

    4. 选择 Apply

      MyBroker1 会重新启动,而且会应用您的配置修订。

    将会创建代理网络。

后续步骤

配置代理网络后,可以通过生成和使用消息来测试它。

重要

确保您启用入站连接 从本地计算机代理的MyBroker1端口 8162(用于 ActiveMQ Web 控制台)和端口 61617(用于打 OpenWire 端点)上。

您可能还需要调整安全组设置,以允许创建者和使用者连接到代理网络。

  1. 在存储库的Amazon MQ 控制台中,导航到连接部分,记下代理的 ActiveMQ Web 控制台终端节点MyBroker1

  2. 导航到代理 MyBroker1 的 ActiveMQ Web 控制台。

  3. 要验证网桥是否已连接,请选择 Network (网络)

    Network Bridges (网桥) 部分中,MyBroker2 的名称和地址列在 Remote Broker (远程代理)Remote Address (远程地址) 列中。

  4. 从任何可以访问代理 MyBroker2 的计算机上,创建一个使用者。例如:

    activemq consumer --brokerUrl "ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617" \ --user commonUser \ --password myPassword456 \ --destination queue://MyQueue

    该使用者连接到 MyBroker2 的 OpenWire 终端节点,并开始从队列 MyQueue 中使用消息。

  5. 从任何可以访问代理 MyBroker1 的计算机上,创建一个创建者并发送一些消息。例如:

    activemq producer --brokerUrl "ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-1.mq.us-east-2.amazonaws.com:61617" \ --user commonUser \ --password myPassword456 \ --destination queue://MyQueue \ --persistent true \ --messageSize 1000 \ --messageCount 10000

    该创建者连接到 MyBroker1 的 OpenWire 终端节点,并开始向队列 MyQueue 中生成持久消息。