ブローカーの Amazon MQ ネットワークの作成と設定 - Amazon MQ

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ブローカーの Amazon MQ ネットワークの作成と設定

ブローカーのネットワークは、同時にアクティブな複数の単一インスタンスブローカー、またはアクティブ/スタンバイブローカーで構成されています。ブローカーのネットワークは、高可用性やスケーラビリティなどのアプリケーションのニーズに応じて、さまざまなトポロジ (コンセントレータハブアンドスポークツリー、またはメッシュなど) で設定できます。例えば、ブローカーのハブアンドスポークネットワークは耐障害性を高めることができ、1 つのブローカーが到達不能な場合にはメッセージを保存します。コンセントレータトポロジを使用するブローカーのネットワークは、多数の着信メッセージの負荷をより良く処理するために、着信メッセージを受け入れる多数のブローカーからメッセージを収集し、それらをより中核的なブローカーに集中させます。このチュートリアルでは、ソースとシンクトポロジを使用してブローカーの 2 ブローカーネットワークを作成する方法を学びます。

概念的な概要および詳細な設定情報については、以下を参照してください。

ブローカーの Amazon MQ ネットワークは、Amazon MQ コンソールを使用して作成できます。2 つのブローカーの作成を並行して開始できるため、このプロセスには約 15 分かかります。

前提条件

ブローカーのネットワークを作成するには、以下のものが必要です。

  • 同時にアクティブな 2 つ以上のブローカー (このチュートリアルでは MyBroker2 および MyBroker1 という名前)。ブローカー作成についての詳細は、「Creating and configuring a broker」 を参照してください。

  • 2 つのブローカーは、同じ VPC またはピア接続された VPC に属している必要があります。VPC の詳細については、Amazon VPC ユーザーガイドの「Amazon VPC とは」および Amazon VPC ピアリングガイドの「VPC ピア機能とは」を参照してください。

    重要

    デフォルトの VPC、サブネット、またはセキュリティグループがない場合は、それらを最初に作成する必要があります。詳細については、Amazon VPC ユーザーガイドの以下のトピックを参照してください。

  • 両方のブローカーに対して同じサインイン認証情報を持つ 2 人のユーザー。ユーザー作成の詳細については、「ActiveMQ ブローカーユーザーの作成と管理」を参照してください。

    注記

    LDAP 認証をブローカーのネットワークと統合するときは、ユーザーが ActiveMQ ブローカーと LDAP ユーザーの両方として存在することを確認してください。

以下の例では、2 つの単一インスタンスブローカーを使用します。ただし、アクティブ/スタンバイブローカー、またはブローカーデプロイモードの組み合わせを使用してブローカーのネットワークを作成できます。

ステップ 1: ブローカー間のトラフィックを許可する

ブローカーを作成した後、それらの間のトラフィックを許可する必要があります。

  1. Amazon MQ コンソールの [MyBroker2] ページにある [Details] (詳細) セクションの [Security and network] (セキュリティとネットワーク) で、セキュリティグループの名前または をクリックします。

    EC2 ダッシュボードの [セキュリティグループ] ページが表示されます。

  2. セキュリティグループのリストから、セキュリティグループを選択します。

  3. ページ下部で、[インバウンド] を選択し、次に [編集] を選択します。

  4. [インバウンドルールの編集] ダイアログボックスで、OpenWire エンドポイントのルールを追加します。

    1. [Add Rule] (ルールの追加) をクリックします。

    2. [タイプ] で、[カスタム TCP] を選択します。

    3. [ポート範囲] で、OpenWire ポートを入力します (61617)。

    4. 以下のいずれかを実行します。

      • 特定の IP アドレスへのアクセスを制限する場合は、[ソース] で [カスタム] を選択したままにし、MyBroker1 の IP アドレスに続いて /32 を入力します。(これは IP アドレスを有効な CIDR レコードに変換します)。詳細については、「Elastic Network Interfaces」を参照してください。

        ヒント

        MyBroker1 の IP アドレスを取得するには、Amazon MQ コンソールでブローカーの名前を選択し、[Details] (詳細) セクションに移動します。

      • すべてのブローカーがプライベートで、同じ VPC に属している場合は、[ソース] で、[カスタム] を選択したままにし、編集しているセキュリティグループの ID を入力します。

        注記

        パブリックブローカーの場合は、IP アドレスを使用してアクセスを制限する必要があります。

    5. [Save (保存)] を選択します。

      これで、ブローカーはインバウンド接続を受け入れることができます。

ステップ 2: ブローカー用のネットワークコネクターを設定する

ブローカー間のトラフィックを許可すると、そのうちの 1 つのネットワーク接続を設定する必要があります。

  1. ブローカー MyBroker1 の設定リビジョンを編集します。

    1. [MyBroker1] ページで、[編集] を選択します。

    2. [MyBroker1 の編集] ページの、[設定] セクションで、[表示] を選択します。

      設定が使用するブローカーエンジンタイプとバージョン (例: [Apache ActiveMQ 5.15.0]) が表示されます。

    3. [Configuration details] タブに、設定リビジョン番号、説明、およびブローカー設定が XML 形式で表示されます。

    4. [設定の編集] を選択します。

    5. 設定ファイルの下部で、<networkConnectors> セクションのコメントを解除し、以下の情報を入力します。

      • ネットワークコネクターの name

      • ブローカーの両方に共通の ActiveMQ ウェブコンソールusername

      • duplex 接続を有効にします。

      • 以下のいずれかを実行します。

        • ブローカーを単一インスタンスブローカーに接続している場合は、MyBroker2static: プレフィックスと 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>
        • ブローカーをアクティブ/スタンバイブローカーに接続している場合は、次のクエリパラメータ ?randomize=false&maxReconnectAttempts=0 を使用して、両方のブローカーの static+failover トランスポートと OpenWire エンドポイント uri を使用します。例:

          <networkConnectors> <networkConnector name="connector_1_to_2" userName="myCommonUser" duplex="true" uri="static:(failover:(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)?randomize=false&amp;maxReconnectAttempts=0)"/> </networkConnectors>
        注記

        ActiveMQ ユーザーのサインイン認証情報は含めないでください。

    6. [Save (保存)] を選択します。

    7. [リビジョンの保存] ダイアログボックスで、「Add network of brokers connector for MyBroker2」と入力します。

    8. [保存] を選択して設定リビジョンを保存します。

  2. MyBroker1 を編集して最新の設定リビジョンをすぐに適用するように設定します。

    1. [MyBroker1] ページで、[編集] を選択します。

    2. [MyBroker1 の編集] ページの、[設定] セクションで、[Schedule Modifications (スケジュールの変更)] を選択します。

    3. [Schedule broker modifications (ブローカー変更のスケジュール)] セクションで、変更を適用するには、[即時] を選択します。

    4. [Apply (適用)] を選択します。

      MyBroker1 が再起動され、設定リビジョンが適用されます。

    ネットワークのブローカーが作成されます。

次のステップ

ブローカーのネットワークを設定したら、メッセージを作成して消費することでテストできます。

重要

ポート 8162 (ActiveMQ Web コンソール用) とポート 61617 (OpenWire エンドポイント用) で、ブローカー MyBroker1 に対してローカルマシンからのインバウンド接続を有効化しておくようにしてください。

プロデューサーとコンシューマーがブローカーのネットワークに接続できるように、セキュリティグループの設定を調整する必要がある場合があります。

  1. Amazon MQ コンソールで [Connections] (接続) セクションに移動し、ブローカー MyBroker1 の ActiveMQ ウェブコンソールエンドポイントをメモします。

  2. ブローカー MyBroker1 の ActiveMQ ウェブコンソールに移動します。

  3. ネットワークブリッジが接続されていることを確認するには、[ネットワーク] を選択します。

    [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 に永続的なメッセージを生成し始めます。