Mosquitto: Mosquittoを他のサーバーに接続するための設定(ブリッジ)
このドキュメントはブリッジガイドの一部です。完全なガイドはこちらからご覧いただけます:Mosquittoサーバーを接続する方法(ブリッジ)。
👋 Stackhero ドキュメントへようこそ!
Stackhero では、信頼性と柔軟性を重視したフルマネージドの Mosquitto MQTT クラウド 環境をご提供しています:
- 無制限のメッセージスループットとデータ転送により、ワークフローが人工的な制限に達することはありません。
- 独自の外部 API を利用した 無制限のデバイス認証で、オンボーディングやアクセス管理もシームレスに行えます。
- トピック、ユーザー、アクションごとに細かく制御できる 高度な ACL。
- HTTPS 対応の カスタムドメイン名で、セキュアかつブランド化されたエンドポイントを提供します(例:https://mqtt.your-company.com)。
- ワンクリックで適用できるアップデートにより、改善やセキュリティパッチも手間なく実施可能です。
- すべてのインスタンスが プライベートかつ専用インフラ上で稼働し、安定した パフォーマンスと強固な セキュリティを実現します。
IoT プロジェクトを加速し、運用負荷を大幅に削減しましょう。セキュアで本番運用に対応した Mosquitto MQTT クラウドホスティング インスタンスを、わずか数分で立ち上げることができます。
この例では、リモートサーバーが専用ユーザーとTLS暗号化を使用してStackheroインスタンスに接続します。
まず、Stackhero MQTTインスタンスに新しいユーザーを作成します。これをbridge-1と呼び、パスワードをsecretPasswordとします。
次に、リモートMosquittoサーバーで、mosquitto.conf設定ファイル(通常は/etc/mosquitto/mosquitto.confにあります)を編集し、次の行を末尾に追加します。
# TODO: "<XXXXXX>.stackhero-network.com"と"<PORT_TLS>"をStackheroインスタンス情報に置き換えてください
connection <XXXXXX>.stackhero-network.com
address <XXXXXX>.stackhero-network.com:<PORT_TLS>
# TODO: "bridge-1"と"secretPassword"を新しく作成したユーザーの資格情報に置き換えてください
remote_clientid bridge-1
remote_username bridge-1
remote_password secretPassword
start_type automatic
try_private true
# 共有するトピック、方向、QOS。
"both"は不明な理由で機能しないようです。
topic # out 2
topic # in 2
# リモートMosquittoサーバーとStackheroインスタンス間のデータを暗号化するためにTLS接続を有効にします。
bridge_insecure false
bridge_capath /etc/ssl/certs
新しい設定でMosquittoを再起動する前に、リモートサーバーにTLS証明書が存在することを確認してください。
/etc/ssl/certsディレクトリが存在し、ファイルが含まれているかを次のコマンドで確認します。
ls /etc/ssl/certs
存在し、ファイルが含まれている場合は、Mosquittoサーバーを再起動するだけです。
存在しない場合は、次のコマンドのいずれかを実行することを検討してください。
-
Ubuntu/Debianでは、次を実行できます。
sudo apt-get install ca-certificates -
Alpine Linuxでは、次を実行できます。
apk add ca-certificates
または、手動で証明書をダウンロードすることもできます。これを行うには、次のコマンドを使用してCA証明書を/etc/mosquitto/isrgrootx1.pemにダウンロードします。
wget https://letsencrypt.org/certs/isrgrootx1.pem -O /etc/mosquitto/isrgrootx1.pem
次に、mosquitto.confファイルを編集してbridge_capath /etc/ssl/certsをbridge_cafile /etc/mosquitto/isrgrootx1.pemに置き換えます。
最後に、Mosquittoサーバーを再起動します。
ブリッジ設定の詳細については、公式Mosquittoドキュメントを参照してください。