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/certsbridge_cafile /etc/mosquitto/isrgrootx1.pemに置き換えます。

最後に、Mosquittoサーバーを再起動します。

ブリッジ設定の詳細については、公式Mosquittoドキュメントを参照してください。