メッセージキュー

メッセージキューイングサービスは、OpenStack 内におけるプロセス間通信を担います。OpenStack は次のキューイングサービスをサポートしています。

  • RabbitMQ

  • Qpid

  • ZeroMQ、または、0MQ

RabbitMQ と Qpid は両方とも、Advanced Message Queuing Protocol (AMQP) フレームワークであり、ピアツーピア通信にメッセージキューを提供する仕組みです。キューの実装は通常、キューサーバのプールを集中型か分散型で展開します。ZeroMQ はピア間の通信に直接 TCP ソケットを使うところが異なっています。

Message queues effectively facilitate command and control functions across OpenStack deployments. Once access to the queue is permitted, no further authorization checks are performed. Services accessible through the queue do validate the contexts and tokens within the actual message payload. However, you must note the expiration date of the token because tokens are potentially re-playable and can authorize other services in the infrastructure.

OpenStack は、メッセージへの署名のようなメッセージレベルのコンフィデンスはサポートしていません。そのため、メッセージの通信路そのものがセキュア化され、かつ、キューサーバーへのアクセスの際に認証が行なわれる必要があります。また、HA 設定の際には、キュー間の認証と暗号化も同様に実施するべきです。

ZeroMQ メッセージングでは、IPC ソケットが各マシンで使用されます。これらのソケットは管理者がセキュア化しない限り、ローカルメッセージインジェクションやスヌーピングの攻撃に脆弱な可能性があります。