RabbitMQは、最も人気のあるフリーでオープンソースのメッセージキューまたはメッセージブローカーソフトウェアです。 RabbitMQは元々AdvancedMessageQueuing Protocol(AMQP)を実装していました。また、STOMP(ストリーミングテキスト指向メッセージングプロトコル)やMQTT(メッセージキューテレメトリトランスポート)などのプロトコルもサポートしています。
一般に、メッセージブローカーソフトウェアは、さまざまな種類の分散サービス、システム、またはアプリケーション間でメッセージを送受信するために使用されます。
Erlangプログラミング言語で記述されたRabbitMQには、次の機能があります。
- 複数のプロトコルのサポート– AMQP、MQTT、STOMP、HTTP
- すべての主要なプログラミング言語のクライアントインターフェイスとライブラリのサポート
- クラスタリング/高可用性
- さまざまなツールとプラグインのセット
- 交換とキュー間のメッセージのルーティング
- メッセージブローカーを監視および制御するためのユーザーフレンドリーなWebインターフェイス
- トレース機能
このチュートリアルでは、Ubuntu 18.04(Bionic Beaver)でRabbitMQをセットアップする方法を紹介します。
UbuntuへのRabbitMQのインストール
まず、ubuntuリポジトリを更新しましょう:
sudo apt-get update
次のコマンドのいずれかを使用して、署名キーを追加します。
wget -O - "https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc" | sudo apt-key add -
または
sudo apt-key adv --keyserver "hkps.pool.sks-keyservers.net" --recv-keys "0x6B73A36E6026DFCA"
Rabbitmqリポジトリファイルを作成します。
vim /etc/apt/sources.list.d/bintray.rabbitmq.list
次のリポジトリをファイルに追加します。
deb https://dl.bintray.com/rabbitmq-erlang/debian bionic erlang deb https://dl.bintray.com/rabbitmq/debian bionic main
ファイルを保存して閉じます。
リポジトリ更新を実行します。
sudo apt-get update
RabbitMQサーバーをインストールします。
sudo apt-get install rabbitmq-server
RabbitMQサーバーのステータスを確認してください。
sudo systemctl status rabbitmq-server.service
RabbitMQが実行されていない場合は、次のコマンドでサービスを開始します。
sudo systemctl start rabbitmq-server.service
システムの起動時にRabbitMQサービスを有効にします。
sudo systemctl enable rabbitmq-server
RabbitMQポート
4369:epmd、RabbitMQノードとCLIツールで使用されるピア検出サービス
5672、5671:TLSの有無にかかわらずAMQP0-9-1および1.0クライアントで使用
25672:ノード間およびCLIツール通信
35672-35682:ノードとの通信にCLIツール(Erlangディストリビューションクライアントポート)によって使用され、動的範囲から割り当てられます
15672:HTTP APIクライアント、管理UI、rabbitmqadmin(管理プラグインが有効になっている)
61613、61614:TLSの有無にかかわらずSTOMPクライアント(STOMPプラグインが有効になっている場合のみ)
1883、8883 :( MQTTプラグインが有効になっている場合、TLSの有無にかかわらずMQTTクライアント
15674:STOMP-over-WebSocketsクライアント(Web STOMPプラグインが有効になっている場合のみ)
15675:MQTT-over-WebSocketsクライアント(Web MQTTプラグインが有効になっている場合のみ)
ファイアウォールを介したRabbitMQ管理UIの許可
RabbitMQ管理コンソールはポート15672で実行され、ファイアウォールを介してアクセス許可を付与する必要があります。
sudo ufw allow 15672
インストールが正常に完了すると、Web管理コンソールにアクセスでき、「15672」ポートで実行されます。
ただし、デフォルトでは、「InstallationManagementConsole」プラグインは有効になっていません。このプラグインは、RabbitMQサーバーを監視および管理するために必要です。また、キュー、メッセージレートを監視し、キュー、バインディング、ユーザーなどを管理するためにも使用されます。
「インストール管理コンソール」プラグインを有効にする方法を見てみましょう。ただし、その前に、利用可能なすべてのRabbitMQプラグインを見てみましょう。
sudo rabbitmq-plugins list
次に、RabbitMQ管理プラグインを有効にします
sudo rabbitmq-plugins enable rabbitmq_management
デフォルトのゲストユーザーを使用して管理コンソールにアクセスできます。ただし、管理コンソールにアクセスするには、新しい管理者ユーザーを作成して追加する必要があります。
ここでは、ユーザー名が「admin」で、パスワードも「admin」のユーザーを作成します。ただし、セキュリティのために強力なパスワードを使用することをお勧めします。
sudo rabbitmqctl add_user admin admin
次に、上記の手順で作成したユーザー「admin」に「administrator」のタグを付けます
sudo rabbitmqctl set_user_tags admin administrator
これで、RabbitMQサービスを再起動する準備が整いました
sudo systemctl restart rabbitmq-server.service
管理UIにアクセスする前に、サーバーのポートを確認しましょう
sudo netstat -tunlp
管理UIアクセス
管理コンソールには、次のURLのいずれかを使用してアクセスできます。
- http://ServerIpまたは
- ホスト名:15672 /
例:–http://13.236.85.236:15672/またはhttp://rabbitmq.fosslinux.com:15672
コンソールのログインウィンドウを表示できるようになります。
次に、作成済みの管理者ユーザー名とパスワードを使用してダッシュボードにアクセスします。
これで、RabbitMQサーバーが正常にインストールおよび構成されました。
問題や質問がある場合は、下のコメントセクションでお気軽にお問い合わせください。