Amazon MQ ブローカーで RabbitMQ Federation プラグインをセットアップするにはどうすればよいですか?

最終更新日: 2022 年 8 月 22 日

RabbitMQ Federation プラグインを使用して、オンプレミスブローカーから Amazon MQ for RabbitMQ ブローカーにメッセージを配信したいと考えています。RabbitMQ Federation プラグインと連動するように Amazon MQ for RabbitMQ ブローカーを設定するにはどうすればよいですか?

簡単な説明

Amazon MQ for RabbitMQ ブローカーで RabbitMQ Federation プラグインをセットアップするには、ダウンストリームブローカーで以下を設定する必要があります。

  • リモートキューまたはエクスチェンジへのフェデレーション接続を定義する federation-upstream パラメーター (1 つまたは複数)。
  • 特定のリモートキューまたはエクスチェンジのフェデレーションを許可する RabbitMQ ポリシー。
  • メッセージを受信するためにバインドされた新しいキューを含むエクスチェンジ。

解決方法

注意: この手順には、アップストリームブローカー (オンプレミスまたはクラウドベース) とダウンストリームブローカー (Amazon MQ for RabbitMQ ブローカー) の 2 つのブローカーが必要です

リモートキューまたはエクスチェンジへのフェデレーション接続を定義する 1 つまたは複数のフェデレーションアップストリームパラメーターを作成する

1.    Amazon MQ コンソールを開きます。

2.    左側のナビゲーションペインで、[ブローカー] を選択します。

3.    [名前] 列で、ダウンストリームブローカーの名前を選択します。

4.    [接続] ペインで、RabbitMQ ウェブコンソールの下に表示されている URL を選択します。ダウンストリームブローカーの RabbitMQ ウェブコンソールログインページが開きます。

5.    ブローカーのユーザー名パスワードを入力します。次に、[Login] を選択して RabbitMQ ウェブコンソールにログインします。

6.    RabbitMQ Web コンソールで、[Admin] (管理) タブを選択します。次に、右側のナビゲーションペインで [Federation Upstreams] (フェデレーションアップストリーム) を選択します。

7.    [Add a new upstream] (新しいアップストリームを追加) を選択します。

8.    [Name] (名前) にアップストリームパラメータの名前を入力します。

9.    URI で、デフォルトの amqp:// テキストを削除し、アップストリームブローカーの URI を以下の形式で入力します。

amqps://$UPSTREAM_BROKER_USER:$UPSTREAM_BROKER_PASSWORD@$UPSTREAM_BROKER_ENDPOINT:5671

10.    [Add upstream] (アップストリームを追加) を選択します。

特定のリモートキューまたはエクスチェンジのフェデレーションを許可する RabbitMQ ポリシーを作成する

1.    ダウンストリームブローカーの RabbitMQ ウェブコンソールを開きます。手順については、この記事の「RabbitMQ ウェブコンソールを使用して federation-upstream パラメーターを作成するには」セクションのステップ 1 ~ 5 を参照してください。

2.    [Admin] (管理) タブを選択します。次に、右側のナビゲーションペインで [Policies] (ポリシー) を選択します。

3.    [Add / update a policy] (ポリシーの追加/更新) を選択します。

4.    [Name] (名前) にポリシーの名前を入力します。

5.    [Pattern] (パターン) にフェデレーションを許可するキューまたはエクスチェンジの名前と一致する正規表現を入力します。

6.    [Apply to] (適用先) のドロップダウンリストから [Exchanges] (エクスチェンジ) を選択します。

注意: ポリシーをエクスチェンジに適用すると、ダウンストリームブローカーのエクスチェンジにのみポリシーを適用できます。

7.    [Priority] (優先度) に数字の 1 を入力します。

注意: [Priority] 設定は、複数のポリシーが同じ名前を持つ場合に、エクスチェンジまたはキューに適用するポリシーを決定するために使用されます。[Priority] 設定を 1 に指定すると、同じ名前を持つデフォルトの Amazon MQ ポリシーによってポリシーが上書きされるのを防ぐことができます。

8.    [Definition] (定義) で、= 記号の前にある最初のテキストボックスのキーとして federation-upstream-set を入力します。次に、= 記号の右にある 2 番目のテキストボックスの値として all を入力します。

9.    [Add / update policy] (ポリシーの追加/更新) を選択します。

メッセージを受信する新しいキューがバインドされたエクスチェンジを作成する

1.    ダウンストリームブローカーの RabbitMQ ウェブコンソールを開きます。手順については、この記事の「RabbitMQ ウェブコンソールを使用して federation-upstream パラメーターを作成するには」セクションのステップ 1 ~ 5 を参照してください。

2.    [Queues] (キュー) タブを選択します。

3.    [Add a new queue] (新しいキューの追加) の [Name] (名前) に、メッセージを受信する新しいキューの名前を入力します。

4.    [Add queue] (キューの追加) を選択します。

5.    [Exchanges] (エクスチェンジ) タブを選択します。

6.    [Add a new exchange] (新しいエクスチェンジの追加) の [Name] (名前) に、RabbitMQ ポリシーの作成時に使用したエクスチェンジ名と一致する正規表現を入力します。

7.    [Add exchange] (エクスチェンジの追加) を選択します。

注意: RabbitMQ によって同じ名前のエクスチェンジがアップストリームブローカーに自動的に作成されます。

8.    [Exchanges] (エクスチェンジ) タブを選択します。

9.    [All exchanges] (すべてのエクスチェンジ) で、作成した新しいエクスチェンジの名前を選択します。

10.    [Binding] (バインディング) の [Add binding from this exchange] (このエクスチェンジからバインディングを追加) のドロップダウンリストから [To queue] (キュー) を選択します。次に、作成したキューの名前を入力します。

11.    [Routing key] (ルーティングキー) に任意の値を入力します。この値を使用してアップストリームブローカーのエクスチェンジに送信されたメッセージは、このエクスチェンジにバインドされたキューにも送信されます。

12.    [Bind] (バインド) を選択します。

セットアップをテストする

アップストリームブローカーのソースエクスチェンジにテストメッセージを送信する

1.    アップストリームブローカーの RabbitMQ ウェブコンソールを開きます。

注意: RabbitMQ ウェブコンソールにアクセスする方法の詳細については、RabbitMQ ドキュメントの「Management plugin」を参照してください。

2.    [Exchanges] (エクスチェンジ) タブを選択します。次に、ソースエクスチェンジの名前を選択します。

3.    左側のナビゲーションペインで、[Publish message] (メッセージの発行) を選択します。[Publish message] (メッセージの発行) セクションが開きます。

4.    [Routing key] (ルーティングキー) テキストボックスに、作成したルーティングキーの値を入力します。

5.    [Payload] (ペイロード) テキストボックスにテストメッセージを入力します。

注意: [Headers] (ヘッダー) および [Properties] (プロパティ) テキストボックスは空白のままにすることができます。

6.    [Publish message] (メッセージの発行) ボタンを選択します。テストメッセージがソースエクスチェンジに送信されます。フェデレーションパラメーターが正しく設定されていれば、メッセージはダウンストリームブローカーの宛先キューにも送信されます。

テストメッセージがダウンストリームブローカーの宛先キューで受信されたことを確認する

1.    ダウンストリームブローカーの RabbitMQ ウェブコンソールを開きます。

2.    [Queues] (キュー) タブを選択します。次に、宛先キューの名前を選択します。

3.    左のナビゲーションペインで、[Get messages] (メッセージの取得) をクリックします。[Get messages] (メッセージの取得) セクションが開きます。

4.    [Get messages] (メッセージを取得) ボタンを選択します。フェデレーションパラメータが正しく設定されていれば、ソースエクスチェンジに送信したテストメッセージが Payoad 値として表示されます。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?