MQTT 3.1.1 ブローカー (モケット) - AWS IoT Greengrass

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

MQTT 3.1.1 ブローカー (モケット)

モケット MQTT ブローカーコンポーネント (aws.greengrass.clientdevices.mqtt.Moquette) は、クライアントデバイスと Greengrass コアデバイス間の MQTT メッセージを処理します。このコンポーネントは、モケット MQTT ブローカーの修正バージョンを提供します。この MQTT ブローカーをデプロイして、軽量 MQTT ブローカーを実行します。MQTT ブローカーの選択方法の詳細については、「MQTT ブローカーを選択する」を参照してください。

このブローカーは、MQTT 3.1.1 プロトコルを実装します。これには、QoS 0、QoS 1、QoS 2 が保持するメッセージ、最終意志メッセージ、永続セッションに対するサポートが含まれます。

注記

クライアントデバイスは、Greengrass コアデバイスに接続し、処理するために MQTT メッセージとデータを送信するローカル IoT デバイスです。詳細については、「ローカル IoT デバイスとやり取りする」を参照してください。

バージョン

このコンポーネントには、次のバージョンがあります。

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

タイプ

このコンポーネントはプラグインコンポーネント (aws.greengrass.plugin) です。Greengrass nucleus は、nucleus と同じ Java バーチャルマシン (JVM) でこのコンポーネントを実行します。コアデバイスでこのコンポーネントのバージョンを変更するとき、nucleus が再起動します。

このコンポーネントは、Greengrass nucleus と同じログファイルを使用します。詳細については、「AWS IoT Greengrass ログのモニタリング」を参照してください。

詳細については、「コンポーネントタイプ」を参照してください。

オペレーティングシステム

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。

  • Linux

  • Windows

要件

このコンポーネントには次の要件があります。

  • コアデバイスは、MQTT ブローカーが動作するポートで接続を受け入れられる必要があります。このコンポーネントは、デフォルトでポート 8883 で MQTT ブローカーを実行します。このコンポーネントを設定するとき、別のポートを指定できます。

    別のポートを指定し、MQTT ブリッジコンポーネントを使用して MQTT メッセージを他のブローカーにリレーする場合、MQTT ブリッジ v2.1.0 以降を使用する必要があります。MQTT ブローカーが動作するポートを使用するように設定します。

    別のポートを指定し、IP ディテクターコンポーネントを使用して MQTT ブローカーエンドポイントを管理する場合、IP ディテクタ v2.1.0 以降を使用する必要があります。MQTT ブローカーが動作するポートを報告するように設定します。

  • Moquette MQTT ブローカーコンポーネントは、VPC での実行がサポートされています。

依存関係

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントのリリースされたバージョンの依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、AWS IoT Greengrass コンソールでも確認できます。コンポーネントの詳細ページで [Dependencies] (依存関係) リストを確認します。

2.3.7

次の表に、このコンポーネントのバージョン 2.3.7 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
クライアントデバイス認証 >=2.2.0 <2.6.0 ハード
2.3.2 – 2.3.6

次の表に、このコンポーネントのバージョン 2.3.2 から 2.3.6 までの依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
クライアントデバイス認証 >=2.2.0 <2.5.0 ハード
2.3.0 and 2.3.1

次の表に、このコンポーネントのバージョン 2.3.0 および 2.3.1 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
クライアントデバイス認証 >=2.2.0 <2.4.0 ハード
2.2.0

次の表に、このコンポーネントのバージョン 2.2.0 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
クライアントデバイス認証 >=2.2.0 <2.3.0 ハード
2.1.0

次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
クライアントデバイス認証 >=2.0.0 <2.2.0 ハード
2.0.0 - 2.0.2

次の表に、このコンポーネントのバージョン 2.0.0 から 2.0.2 までの依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
クライアントデバイス認証 >=2.0.0 <2.1.0 ハード

コンポーネントの依存関係の詳細については、「コンポーネント recipe のリファレンス」を参照してください。

構成

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

moquette

(オプション) 使用するモケット MQTT ブローカー設定。このコンポーネントでモケット設定オプションのサブセットを設定できます。詳細については、モケット設定ファイルのインラインコメントを参照してください。

このオブジェクトには、次の情報が含まれます。

ssl_port

(オプション) MQTT ブローカーが動作するポート。

注記

別のポートを指定し、MQTT ブリッジコンポーネントを使用して MQTT メッセージを他のブローカーにリレーする場合、MQTT ブリッジ v2.1.0 以降を使用する必要があります。MQTT ブローカーが動作するポートを使用するように設定します。

別のポートを指定し、IP ディテクターコンポーネントを使用して MQTT ブローカーエンドポイントを管理する場合、IP ディテクタ v2.1.0 以降を使用する必要があります。MQTT ブローカーが動作するポートを報告するように設定します。

デフォルト: 8883

host

(オプション) MQTT ブローカーがバインドするインターフェイス。例えば、MQTT ブローカーが特定のローカルネットワークにのみバインドするように、このパラメータを変更できます。

デフォルト: 0.0.0.0 (すべてのネットワークインターフェイスにバインドする)

startupTimeoutSeconds

(オプション) コンポーネントが起動する最大時間 (秒)。このタイムアウトを超えている場合、コンポーネントの状態が BROKEN に変わります。

デフォルト: 120

例: 設定マージの更新

次の設定例では、MQTT ブローカーをポート 443 で操作するように指定しています。

{ "moquette": { "ssl_port": "443" } }

ローカルログファイル

このコンポーネントは、Greengrass nucleus コンポーネントと同じログファイルを使用します。

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
このコンポーネントのログを確認するには
  • コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。/greengrass/v2 または C:\greengrass\v2 を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

変更ログ

次の表は、コンポーネントの各バージョンにおける変更を示します。

バージョン

変更

2.3.7

クライアントデバイス認証バージョン 2.5.0 のリリース用にバージョンが更新されました。

2.3.6

バグ修正と機能向上
  • 一般的なバグ修正と機能強化。

2.3.5

バグ修正と機能向上
  • Moquette をバージョン 0.17 に更新しました。

2.3.4

バグ修正と機能向上
  • クライアントのメッセージ送受信時に、クライアント ID が重複しているために無効なセッションエラーが発生することがある問題を修正しました。この問題により、クライアントのセッションが終了する事象が発生していました。

2.3.3

新機能

新しい startupTimeoutSeconds 構成オプションを追加します。

2.3.2

クライアントデバイス認証バージョン 2.4.0 リリース用に、バージョンが更新されました。

2.3.1

バグ修正と機能向上
  • セッションが無効なため、再接続を試みた後にクライアントが切断される可能性がある競合状態を修正します。

2.3.0

証明書チェーンのサポートを追加しました。

2.2.0

クライアントデバイス認証バージョン 2.2.0 リリース用にバージョンが更新されました。

2.1.0

バグ修正と機能向上
  • このコンポーネントがモケットバージョン 0.16 使用するように更新します。このバージョンは、パフォーマンスを向上させて、他にもいくつかの改善点が含まれています。

  • 特定のシナリオで、ローカル MQTT サーバー証明書が意図した回数よりも頻繁にローテーションされる問題を修正しました。

    この修正を適用するには、v2.1.0 以降のクライアントデバイス認証コンポーネントも使用する必要があります。

2.0.2

バグ修正と機能向上
  • MQTT メッセージの最大サイズを 8,092 バイトから 128 キロバイトに増やします。メッセージサイズ上限にメッセージヘッダーが含まれているため、有効な MQTT メッセージペイロード上限はわずかに小さくなります。

  • ssl_port パラメータの整数値にサポートを追加します。

2.0.1

Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。

2.0.0

当初のバージョン