オープンソースの RabbitMQ クラスターからメタデータをエクスポートし、ApsaraMQ for RabbitMQ インスタンスにインポートすることで、メタデータをクラウドに移行できます。インポートが成功すると、ApsaraMQ for RabbitMQ はそのメタデータを使用して、移行先の ApsaraMQ for RabbitMQ インスタンスに対応する vhost、キュー、エクスチェンジ、およびバインディングを作成します。オープンソースの RabbitMQ クラスターから、すべての vhost または特定の vhost のメタデータをエクスポートできます。
前提条件
-
移行先として、ApsaraMQ for RabbitMQ インスタンスと vhost を作成します。詳細については、「インスタンスを作成する」および「vhost を作成する」をご参照ください。
説明サーバーレス専用インスタンスを選択することを推奨します。 このインスタンスタイプは、オープンソースの認証と権限をサポートしており、オープンソース RabbitMQ からシームレスに移行できます。
背景
RabbitMQ クラスターのメタデータには、ユーザー、vhost、キュー、エクスチェンジ、ルーティングキー、権限、パラメーターなどの情報が含まれます。 このメタデータは RabbitMQ クラスターの内部データベースに保存され、すべてのノード間で自動的に複製されます。 クラスター内の各ノードのメタデータは同一です。
制約
インスタンスの認証と権限のモデルによって、異なる制約が適用されます。 移行には、オープンソースの認証と権限モデルを持つインスタンスを使用することを推奨します。
-
オープンソースの認証と権限管理
-
オープンソースの RabbitMQ と ApsaraMQ for RabbitMQ にはいくつかの相違点があるため、
rabbit_version、parameters、global_parameters、およびpoliciesのメタデータは ApsaraMQ for RabbitMQ インスタンスへのインポートがサポートされておらず、インポート中に自動的に無視されます。 -
guest ユーザーのインポートはサポートされていません。 メタデータに guest ユーザーが含まれている場合、そのユーザーと権限はインポート中に無視されます。
-
パスワードなしでユーザーをインポートできますが、接続を確立することはできません。
-
ApsaraMQ for RabbitMQ はユーザータグによる権限管理をサポートしていないため、
tagsデータ内のusers属性はインポートされません。
-
-
Resource Access Management (RAM)
オープンソースの RabbitMQ と Alibaba Cloud の Resource Access Management (RAM) とでは権限管理が異なるため、
rabbit_version、users、permissions、parameters、global_parameters、およびpoliciesのメタデータは ApsaraMQ for RabbitMQ インスタンスにインポートできず、インポートプロセス中に自動的に無視されます。
オープンソース RabbitMQ からのメタデータのエクスポート
すべての vhost または特定の vhost のメタデータをエクスポートできます。
オープンソースコンソール
-
Web ブラウザーで、オープンソース RabbitMQ コンソールを開きます。
オープンソース RabbitMQ コンソールの URL:
http://<Your RabbitMQ IP address>:15672/ -
ログインページで、[ユーザー名] フィールドにユーザー名を入力し、[パスワード] フィールドにパスワードを入力してから、[ログイン] をクリックします。
-
[概要] タブで [定義のエクスポート] をクリックし、[仮想ホスト] ドロップダウンリストから [すべて] または特定の vhost 名を選択して、[ブローカー定義のダウンロード] をクリックします。
[仮想ホスト] リストでは、以下のオプションが利用可能です。
-
All :すべての vhost のメタデータをエクスポートします。
-
Vhost 名:指定された vhost のメタデータをエクスポートします。
-
-
ダウンロードしたメタデータファイルをローカルコンピューターに保存します。
オープンソース API
-
ターミナルを開きます。
-
適切なコマンドを実行して、メタデータファイルをエクスポートします。
-
すべての vhost のメタデータをエクスポート
wget --user <Your RabbitMQ username> --password <Your RabbitMQ password> http://<Your RabbitMQ IP address>:15672/api/definitions -O <Path to save your metadata file> -
特定の vhost のメタデータをエクスポート
wget --user <Your RabbitMQ username> --password <Your RabbitMQ password> http://<Your RabbitMQ IP address>:15672/api/definitions/<Vhost name> -O <Path to save your metadata file>
-
ApsaraMQ for RabbitMQ へのメタデータのインポート
-
ApsaraMQ for RabbitMQ コンソールにログインします。 左側のナビゲーションペインで、クラウドへの移行をクリックします。
-
クラウドへの移行 ページのトップナビゲーションバーでリージョンを選択します。 次に、ページの左上隅にある タスクの作成 をクリックします。
-
タスクの作成 パネルで、パラメーターを設定し、OK をクリックします。
パラメーター
説明
例
[インスタンス]
メタデータ移行の移行先インスタンス。
amqp-cn-7mz2cjgk****
[インポートモード]
-
ALL: オープンソースの RabbitMQ から ApsaraMQ for RabbitMQ インスタンスにすべての vhost メタデータをインポートします。
-
Vhost: オープンソースの RabbitMQ の指定された vhost から、ApsaraMQ for RabbitMQ インスタンスの vhost にメタデータをインポートします。
Vhost
[vhost]
ApsaraMQ for RabbitMQ インスタンスの移行先の vhost。このパラメーターは、インポートモード を [Vhost] に設定した場合にのみ表示されます。
test-vhost****
[メタデータ]
インポートするメタデータファイル。 ファイルの選択 をクリックし、ローカルコンピューターからメタデータファイルを選択して、[開く] をクリックします。
説明メタデータファイルのサイズは 20 MB を超えることはできません。
rabbit_mq-amqp-load-test011122063****
移行タスクを作成した後、インポートされたメタデータの詳細とタスク失敗の原因を表示できます。
-
インポートされたメタデータの表示
-
クラウドへの移行 ページで、目的のタスクを見つけ、ターゲットインスタンス 列にあるインスタンス名をクリックします。
-
左側のナビゲーションペインでvHost リストをクリックし、対象の仮想ホストを見つけて操作列の詳細をクリックすると、仮想ホストの詳細情報を表示できます。
詳細については、「vhost 接続詳細の表示」をご参照ください。
-
-
失敗したタスクの詳細の表示
-
クラウドへの移行 ページで、目的のタスクを見つけ、操作 列の 詳細 をクリックします。
別の方法として、クラウドへの移行 ページで、対象タスクの同期済みメタデータ数をクリックできます。
-
移行詳細 ページで、Vhost、Exchange、Queue、または Binding タブをクリックして失敗原因を確認します。
-
-