使用前に
Q. Simple RabbitMQ Service 商品とは何ですか?
- Simple RabbitMQ Serviceはメッセージシステムを構成できるAMQP 0-9-1基盤のオープンソースメッセージブローカーであるRabbitMQのクラスタに関する設定及び関連設定を提供する商品です。
- Simple RabbitMQ ServiceはNAVERクラウドプラットフォームのバーチャルマシーンとロードバランサを基盤にサービスされます。バーチャルマシーンにはクラスタを構成するRabbitMQサーバが設置され、ロードバランサを通じてRabbitMQクラスタに負荷の分散及びアクセスのためのホストアドレスを提供します。
- Simple RabbitMQ Serviceは Pivotalで開発したオープンソースメッセージブローカーソフトウェアであるRabbitMQを利用しています。
Q. Simple RabbitMQ Serviceを使用するとどのようなメリットがありますか?
- Simple RabbitMQ ServiceはRabbitMQに対して複数のノードで構成されたクラスタを提供します。
- Simple RabbitMQ Serviceのクラスタ生成オプションでHighly Available Mirrored Queueに関するポリシー(Policy)を設定できます。ポリシーが適用されたキューは複数のノードに位置し、マスター(Master) キューが障害の際にMirrorキューがその役割を代行してサービス障害を最小化できます。
Q. Simple RabbitMQ Serviceはどのように利用しますか?
- コンソール> Application Service > Simple RabbitMQ Service メニューからサービスをご利用できます。
- 簡単なRabbitMQクラスタ生成のためのダッシュボードを提供します。ユーザーは必要な仕様に応じてサーバタイプを選択できます。
- クラスタ生成後は MQ サーバリストからRabbitMQサーバにアクセスするためのホストアドレスを確認できます。
- MQ サーバリストからRabbitMQサーバが運営中、または部分運営中の場合はRabbitMQクラスタを管理できる Management UIを利用できます。
Q. RabbitMQを使用するためのUser 及びPasswordはどこで探せますか?
- RabbitMQサーバ及びManagement UIのログインに必要なUser及びPasswordはクラスタ生成 2段階のMQ 設定で入力した値です。
- Passwordを失くした場合はSimple RabbitMQ ServiceのMQ User管理メニューでパスワードを修正できます。
Step 1. MQ User管理メニューへ移動
① MQ管理 ボタンをクリックします。
② MQ User管理をクリックします。
Step 2. パスワードを変更するユーザーを選択
① パスワードを変更しようとするUser IDがある行の修正 ボタンをクリックします。
Step 3. ユーザーパスワードの変更
① 変更しようとするTagを選択します。
② 変更しようとするパスワードを入力します。
③ Tagとパスワードを入力後、保存をクリックします。
Q. RabbitMQ Management UIのパスワードを失くしました。新たなユーザーの追加はどうすれば良いですか?
- RabbitMQ Management UIの権限のあるユーザーのパスワードを失くした場合、新たなユーザーを追加してManagement UIにアクセスできます。
① 生成しようとするIDを入力します。
② 生成されるIDに割り当てるTagを選択します。
③ パスワードを入力します。
④ MQ User を追加 ボタンをクリックします。
Simple RabbitMQ Service 商品のご紹介
Simple RabbitMQ ServiceはRabbitMQサーバが設置された複数のノードをクラスタリングして提供する商品です。バーチャルマシーンにRabbitMQが設置され、負荷の分散及びホストのためのロードバランサを提供します。
Simple RabbitMQ Serviceが提供するRabbitMQクラスタを利用される場合、単一の RabbitMQサーバに発生することのある単一障害点(SPOF)の問題を解決でき、従ってサービス障害を最小化できます。
Simple RabbitMQ Serviceを利用したRabbitMQクラスタの生成
RabbitMQクラスタ生成過程は以下の通りです。
Step 1. コンソールへアクセス
Simple RabbitMQ ServiceはApplication Service メニューから確認できます。
① 生成したMQサーバがないため、次のような文が表示されます。
登録されたRabbitMQクラスタがありません。
新たなRabbitMQクラスタを生成するためには上段の 生成する ボタンをクリックしてください。
② RabbitMQ クラスタを生成するためには上段の 生成する ボタンをクリックします。
Step 2. サーバの設定
RabbitMQ Serverを設定します。
① 設置されるRabbitMQバージョンを選択します。
- 使用するRabbitMQバージョンを選択します。
- RabbitMQライセンスはGoPivotal社からMPLライセンスで提供する配布版を使用します。
② RabbitMQが設置されるサーバのOSを選択します。
③ RabbitMQクラスタが生成されるZoneを選択します。
④ RabbitMQサーバのデータストレージタイプを選択します。
⑤ RabbitMQサーバが設置されるサーバタイプを選択します。
⑥ RabbitMQクラスタを構成するノード数を選択します。
- 2つまたは3つの値の中から選択できます。
⑦ RabbitMQ サーバに直接的なアクセスが必要であれば、管理者パスワードを確認するための認証キーを選択します。
⑧ クラスタ名を入力します。
- クラスタ名は顧客がクラスタを区別するための名称です。
⑨ クラスタのサーバ名を入力します。
- 生成されるサーバ名は前に選択したノード数によってpostfixが001から順番に付いて生成されます。
⑩ Simple RabbitMQ Serviceは負荷の分散及びアクセスのためのロードバランサを生成します。生成するロードバランサ名を入力します。
⑪ ロードバランサネットワークを選択します。 Private IPで設定した場合は外部ネットワークにアクセスできません。
⑫ 全て入力して[次へ] ボタンをクリックしてMQ設定画面に移動します。
Step 3. MQの設定
RabbitMQの関連項目を設定します。
① RabbitMQのVirtual Host "/"に関する管理者IDを入力します。
② 管理者IDのパスワードを入力します。
③ RabbitMQクラスタにアクセスするためのポートです。クラスタ生成後にアクセス情報を確認できます。
④ ネットワークパーティション発生の際、それに対応するためのポリシーです。
Step 2. サーバの設定段階で選択したノード数によってネットワークパーティションの対応ポリシーが異なります。
ノードが2二つであれば'autoheal', 3つであれば'pause_minority'が選択されます。
'autoheal' モードでRabbitMQはネットワークパーティションが生じた際、自動で特定ノードを代表ノードに選択して他のノードを再実行させます。
'pause-minority' モードでは他のノードが中断されたのを確認してから自動で少数のノードを停止させます。
このような措置はネットワークパーティションが生じた場合、代表するノードまたはノードを代表で選択してブローカーが運営できるようにします。
⑤ 'ha-mode'を選択します。
Step 2. サーバの設定段階で選択したノード数によって 'ha-mode' オプションを変更できます。ノードが3つであれば'all'と'exactly'モードの中から選択できます。
'all'を選択すると全てのノードにキューが位置し、メッセージは全てミラーにコピーされます。これは可用性は高いですが(high availability)、メッセージコピー作業はメッセージブローカーの性能を減少させます。
'exactly'を選択すると2つのノードにのみキューが存在します。この場合、 allに比べて可用性は低いですが、比較的高い性能を提供できます。
⑥ 'ha-sync-mode'を選択します。
'manual'は基本モードです。新たな Mirrorキューは既にあったメッセージを受信せず、新たなメッセージのみ受信します。
'automatic' モードでキューは新たな Mirrorが参加した際に自動でメッセージを同期化します。キューの同期化はBlocking operationであるため、必要な時だけ設定するのが望ましいです。
⑦ 'ha'が適用されるキュー名に関するパターンポリシーを定義します。
ミラーキューに使用するポリシーを入力します。例えば^ha.\のパターンポリシーは名前がha.で始まるキューについてクラスタ内でミラリングを実行します。
⑧ 全て入力後、 [次へ] ボタンをクリックして最終確認へ移動します。
Step 4. 最終確認
設定した内容を最終確認します。
① MQのサーバ情報を確認します。
② MQの設定情報を確認します。
③ 全て確認してから[生成] ボタンをクリックしてRabbitMQクラスタを生成します。
MQクラスタリストからクラスタ生成段階を確認できます。
MQ サーバリストで確認
① アクセス情報
- RabbitMQクラスタにアクセスするためのアドレスとポートを確認します。
- User IDとPasswordはMQ の設定段階で入力した値を使用します。
② Management UI
- RabbitMQを管理できるManagement UIを利用できます。
- User IDとPasswordはMQの設定段階で入力した値を使用します。
関連情報へショートカット
以下のガイドから関連情報を確認できます。