すべてのプロダクト
Search
ドキュメントセンター

ApsaraMQ for RabbitMQ:グローバルメッセージルーティング

最終更新日:Jan 14, 2025

オープンソース RabbitMQ の Shovel プラグインを使用するのと同じ方法で、ApsaraMQ for RabbitMQ が提供するグローバルメッセージルーティング機能を使用できます。この機能を使用して、キューから別のキューまたはエクスチェンジにメッセージを転送できます。メッセージソースとメッセージデスティネーションは、同じリージョンまたは異なるリージョンの異なるインスタンスまたは vhost に属することができます。

使用上の注意

  • 追加料金が発生します。グローバルメッセージルーティング機能に対して課金される合計料金は、次の式を使用して計算されます。合計料金 = ApsaraMQ for RabbitMQ で発生した料金 + EventBridge で発生した転送料金 + クラウドエンタープライズネットワーク(CEN)で発生したトラフィック料金。トラフィック料金は、リージョンをまたいでメッセージを転送する場合にのみ発生します。ApsaraMQ for RabbitMQ の課金については、サブスクリプションインスタンスの課金をご参照ください。EventBridge の課金については、課金をご参照ください。CEN の課金については、課金ルールをご参照ください。

  • リレーメッセージルーティングはサポートされていません。インスタンス A からインスタンス C にメッセージを転送する場合、インスタンス A からインスタンス C へのルートを作成する必要があります。インスタンス A からインスタンス B、さらにインスタンス C にメッセージを転送することはできません。

  • 同期中に遅延が発生する場合があります。メッセージ同期の際、同期されるメッセージの数と限られたネットワーク帯域幅が原因で遅延が発生する可能性があります。

  • メッセージサイズに制限があります: デスティネーションインスタンスに指定された最大メッセージサイズが、ソースインスタンスに指定された最大メッセージサイズ以上であることを確認してください。デスティネーションインスタンスに指定された最大メッセージサイズが、ソースインスタンスに指定された最大メッセージサイズよりも小さい場合、サイズがデスティネーションインスタンスに指定された最大メッセージサイズを超えるメッセージはルーティングに失敗し、失われます。

前提条件

  • ApsaraMQ for RabbitMQ

    ソースインスタンス、vhost、エクスチェンジ、およびキューが作成され、使用可能です。デスティネーションインスタンス、vhost、エクスチェンジ、およびキューが作成され、使用可能です。詳細については、次のトピックをご参照ください。

  • EventBridge

グローバルメッセージルーティングタスクの作成

  1. ApsaraMQ for RabbitMQ コンソール にログオンします。左側のナビゲーションペインで、グローバルメッセージルーティング をクリックします。

  2. グローバルメッセージルーティング ページで、タスクの作成 をクリックします。

  3. (オプション) [alibaba Cloud サービス認証 - Message Queue Rabbitmq] ダイアログボックスで、メッセージを読み、[OK] をクリックします。

    グローバルメッセージルーティングタスクを初めて作成すると、次のサービスリンクロールが自動的に作成されます: AliyunServiceRoleForEventBridgeSourceRabbitMQ および AliyunServiceRoleForEventBridgeSendToRabbitMQ。詳細については、サービスリンクロールをご参照ください。

    説明
    • EventBridge は、AliyunServiceRoleForEventBridgeSourceRabbitMQ ロールを引き受けて、ソースインスタンスから送信されたメッセージを受信します。

    • EventBridge は、AliyunServiceRoleForEventBridgeSendToRabbitMQ ロールを引き受けて、デスティネーションインスタンスにメッセージを転送します。

  4. メッセージルーティングタスクの作成 ページで、メッセージルーティングタスクのソースインスタンスとデスティネーションインスタンスに関する情報を構成します。

    1. 基本情報 手順で、タスク名と説明を指定し、次へ をクリックします。

    2. ソースとターゲット 手順で、メッセージルーティングタスクのソースインスタンスとデスティネーションインスタンスに関する情報を構成し、次へ をクリックします。

      パラメーター

      説明

      ソース情報

      プロダクトタイプ

      メッセージをルーティングするインスタンスのタイプ。このパラメーターは自動的に Message Queue for RabbitMQ に設定されます。

      Message Queue for RabbitMQ

      リージョン

      ソースインスタンスがデプロイされているリージョン。

      中国 (深圳)

      インスタンス

      ソースインスタンスの ID。

      amqp-cn-i7m2a8bq****

      vhost

      ソースインスタンスに作成された vhost。

      test-001

      Queue

      ソースインスタンスに作成されたキュー。

      test-001-q

      ターゲット情報

      プロダクトタイプ

      メッセージのルーティング先のインスタンスのタイプ。このパラメーターは自動的に Message Queue for RabbitMQ に設定されます。

      Message Queue for RabbitMQ

      リージョン

      宛先インスタンスがデプロイされているリージョン。

      中国 (深圳)

      インスタンス

      宛先インスタンスの ID。

      amqp-cn-7pp2a85q****

      vhost

      宛先インスタンスに作成された vhost。

      test-routing

      ターゲットタイプ

      メッセージの転送先のタイプ。有効な値:

      • キュー: メッセージは、宛先インスタンスの 1 つ以上のキューに転送されます。

      • エクスチェンジ: メッセージは、宛先インスタンスの 1 つ以上のエクスチェンジに転送されます。

        説明

        ターゲットタイプ パラメーターを [エクスチェンジ] に設定する場合は、宛先エクスチェンジがキューにバインドされていることを確認してください。そうでない場合、宛先エクスチェンジに転送されたメッセージは、メッセージを格納するために使用できるキューがないため、失われます。

      test-routing-ex

      Routing Key

      メッセージルーティングに使用されるルーティングキー。このパラメーターは、ターゲットタイプ パラメーターを エクスチェンジ に設定した場合にのみ使用できます。有効な値:

      • 設定しない: 既存のルーティングキーを使用して、メッセージを宛先エクスチェンジに転送します。

      • 設定: 構成されたルーティングキーを使用して、メッセージを宛先エクスチェンジに転送します。

      test

    3. 作成して開始 手順で、メッセージルーティングタスクの構成を確認し、作成して開始 をクリックします。

    メッセージルーティングタスクが作成されると、グローバルメッセージルーティング ページでタスクを表示できます。メッセージルーティングタスクのステータスは、ステータス  列に 実行中 として表示されます。

関連情報

オープンソース RabbitMQ の Shovel プラグインについては、Shovel Plugin をご参照ください。