MQTT Broker Mosquitto/EMQX(エムキュータイティー)
MQTT(Message Queuing Telemetry Transport)IoT protocol。Mosquitto(Eclipse OSS・軽量・Raspberry Pi定番・MQTT 5.0)・EMQX(高性能・MQTT 5.0/QUIC・Cloud)・HiveMQ(Enterprise)・VerneMQ(Erlang・cluster)・NanoMQ(IoT Edge)・MQTT-explorer GUI client・MQTT Topic階層 (sensor/temperature/livingroom)・QoS 0/1/2(配信保証 levels)・Retained message・Will message・TLS encryption・Home Assistant MQTT Discovery・ESPHome MQTT publish・2026年 IoT/Home Lab必須tech、Mosquitto + Home Assistant主流。
概要
MQTT(Message Queuing Telemetry Transport)は、IoTデバイス同士の軽量通信を実現するプロトコルで、2025–2026年のIoT・ホームラボ環境で不可欠な技術となっている。代表的なブローカーとして、Eclipse 社が提供する Mosquitto(軽量・Raspberry Pi 標準)と、商用も含む高性能ブローカー EMQX(MQTT 5.0 / QUIC / クラウド対応)が主流である。さらに、エンタープライズ向け HiveMQ、クラスタ構成が特徴の VerneMQ、IoT Edge に最適化された NanoMQ も選択肢に入る。これらは、MQTT 5.0 の豊富な機能(Topic Hierarchy、QoS 0/1/2、Retained/Will Message、TLS 1.3、QUIC)を活用し、Home Assistant との自動発見や ESPHome のパブリッシュでスマートホームを実現する。
主な特徴・仕組み
- MQTT 5.0 対応:リクエスト/レスポンスのセッション管理、ブローカーの可観測性を提供。
- QoS 0/1/2:配信保証レベルを選択でき、最大 99.999% のデリバリ確率を実現。
- Retained Message:最新状態を保持し、新規サブスクライバーに即時配信。
- Will Message:クライアントの異常切断時に事前定義メッセージを送信。
- TLS 1.3 / 128‑bit AES:通信の機密性を確保。
- QUIC プロトコル:UDP ベースでレイテンシ 10 ms 以内の高速通信。
- クラスタリング:VerneMQ は Erlang ベースで 10 000 ノードまでスケール。
- クラウド統合:EMQX は AWS、Azure、GCP でマネージドサービスとして提供。
- MQTT Explorer:GUI クライアントでトピック構造を可視化。
- Home Assistant MQTT Discovery:デバイスを自動検出し設定を簡略化。
スペック比較表
| ブローカー | 主要機能 | 最大同時接続 | 1 秒あたりメッセージ数 | ストレージ | 価格帯 |
|---|---|---|---|---|---|
| Mosquitto | 軽量・MQTT 5.0 | 5 000 | 50 000 | 256 MB | 無料(OSS) |
| EMQX | QUIC・クラスタ | 1 000 000 | 10 000 000 | 8 GB | 3 000 USD/年(クラウド) |
| HiveMQ | エンタープライズ | 500 000 | 2 000 000 | 4 GB | 20 000 USD/年 |
| VerneMQ | Erlang クラスタ | 10 000 | 200 000 | 1 GB | 5 000 USD/年 |
| NanoMQ | IoT Edge | 1 000 | 10 000 | 64 MB | 無料(OSS) |
具体例・対応製品
- Raspberry Pi 4 Model B (4 GB RAM) – Mosquitto をインストールし、家庭内センサー(温度・湿度)と連携。
- ESP32‑DevKitC – ESPHome を用いて MQTT パブリッシュし、Home Assistant で可視化。
- AWS IoT Core (EMQX ベース) – 10 000 台の産業機器をクラウドに接続し、リアルタイムダッシュボードで監視。
- Synology NAS (DiskStation DS920+) – VerneMQ をインストールし、ローカルネットワークのデバイス群をクラスタ化。
- Dell PowerEdge R740xd – HiveMQ を高可用性構成で稼働させ、企業内のセキュリティ監査を実施。
自作PCでの選び方・注意点
- CPU:最低 4 コア、8 スレッド(例:AMD Ryzen 5 5600X)で高同時接続を処理。
- メモリ:ブローカーのキャッシュと接続情報を保持するため 16 GB 以上推奨。
- ストレージ:SSD(NVMe 1 TB)でログと Retained Message の I/O を高速化。
- ネットワーク:1 Gbps LAN(例:Intel I350-T4)で大容量トラフィックをサポート。
- 電源:450 W 80 PLUS Gold で安定供給。
- 冷却:CPU クーラー(例:Noctua NH‑D14)とケースファン(例:Corsair iCUE 120 RGB)で温度管理。
- TLS 証明書:Let's Encrypt で 90 日有効な証明書を自動更新。
- バックアップ:定期的にブローカー設定とデータベースを外部ストレージへコピー。
- ファイアウォール:ポート 1883(MQTT)と 8883(MQTT TLS)を制限し、不要なアクセスを遮断。
- 監視:Prometheus + Grafana でメトリクスを収集し、CPU・メモリ・ネットワーク使用率を可視化。
関連用語との違い
- AMQP(Advanced Message Queuing Protocol):MQTT より重いメッセージングで、複雑なルーティングやトランザクションを提供。
- CoAP(Constrained Application Protocol):RESTful な設計で、MQTT のパブリッシュ/サブスクライブよりもリクエスト/レスポンスに適する。
- HTTP/3(QUIC ベース):MQTT 5.0 の QUIC 対応と競合するが、Web コンテンツ配信に最適化されている。
- WebSocket:MQTT の TCP 代替として利用されるが、プロトコルレベルの軽量化は行わない。
よくある質問(FAQ)
Q1. Mosquitto と EMQX の主な違いは何ですか?
A1. Mosquitto は軽量で単一ノードの用途に最適。EMQX はクラスタリング、QUIC、クラウド統合を備え、エンタープライズレベルのスケールを実現します。
Q2. MQTT 5.0 の QUIC 対応はどのようなメリットがありますか?
A2. QUIC は UDP ベースで 10 ms 以内のレイテンシを実現し、TLS 1.3 のハンドシェイクを高速化。特に 2025 年のエッジデバイス増加に伴い、低遅延通信が重要になります。
Q3. Home Assistant で MQTT を使う際に注意すべき設定は?
A3. MQTT Discovery を有効にし、discovery_prefix を homeassistant に設定。TLS 証明書を正しく指定し、clean_session を false にしてデバイス再接続時の状態保持を確保します。
まとめ
2025–2026 年の IoT とホームラボ環境では、MQTT 5.0 の機能拡張と QUIC の高速化が鍵となります。Mosquitto は低コストで入門に最適、EMQX はクラウド・クラスタ対応で拡張性が高く、HiveMQ はエンタープライズ向けの堅牢性を備えています。自作 PC でブローカーを構築する際は、CPU・メモリ・ネットワークを十分に確保し、TLS と QUIC を組み合わせたセキュアで高速な通信を実現してください。これにより、スマートホームや産業 IoT のデータフローをスムーズに管理できる環境が整います。