デバイス通信プロトコル - AWS IoT コア

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

デバイス通信プロトコル

AWS IoT Core は、MQTT および MQTT over WebSocket Secure (WSS) プロトコルを使用するデバイスとクライアント、メッセージのパブリッシュとサブスクライブに使用されるデバイスとクライアント、およびメッセージのパブリッシュに HTTPS プロトコルを使用するデバイスおよびクライアントをサポートします。すべてのプロトコルは IPv4 と IPv6 をサポートしています。 このセクションでは、デバイスとクライアントのさまざまな接続オプションについて説明します。

TLS v1.2

AWS IoT Core は、TLS バージョン 1.2 を使用してすべての通信を暗号化します。クライアントは、Server Name Indication (SNI) TLS 拡張も送信する必要があります。SNI を含まない接続試行は拒否されます。詳細については、「AWS IoT のトランスポートセキュリティ」を参照してください。

は MQTT および MQTT over WSS をサポートし、クライアント接続のセキュリティ要件をサポートします。AWS IoT デバイス SDKsを使用してクライアントを AWS IoT デバイス SDKs に接続することをお勧めします。AWS IoT

プロトコル、ポートマッピング、認証

デバイスエンドポイントを使用してデバイスまたはクライアントがメッセージブローカーに接続する方法は、使用するプロトコルによって異なります。次の表に、AWS IoT デバイスエンドポイントがサポートするプロトコル、およびそれらが使用する認証方法とポートを示します。

プロトコル、認証、ポートマッピング
プロトコル サポートされているオペレーション 認証 ポート ALPN プロトコル名

を介した MQTTWebSocket

発行、サブスクライブ 署名バージョン 4 443

該当なし

を介した MQTTWebSocket

発行、サブスクライブ カスタム認証 443

該当なし

MQTT

発行、サブスクライブ

X.509 クライアント証明書

443

x-amzn-mqtt-ca

MQTT 発行、サブスクライブ X.509 クライアント証明書 8883 該当なし

MQTT

発行、サブスクライブ

カスタム認証

443

mqtt

HTTPS

発行のみ

署名バージョン 4

443

該当なし

HTTPS

発行のみ

X.509 クライアント証明書

443

x-amzn-http-ca

HTTPS 発行のみ X.509 クライアント証明書 8443 該当なし
HTTPS 発行のみ カスタム認証 443 該当なし
Application Layer Protocol Negotiation (ALPN)

†X.509 クライアント証明書の認証を使用してポート 443 に接続するクライアントは、Application Layer Protocol Negotiation (ALPN) TLS 拡張機能を実装し、 メッセージの一部としてクライアントによって送信された ALPN にリストされた ALPN プロトコル名ProtocolNameListを使用する必要があります。ClientHello

ポート 443 では、:Data-ATSIoT エンドポイントは ALPN x-amzn-http-ca HTTP をサポートしていますが、:Jobs エンドポイントはサポートしていません。IoT

ポート 8443 HTTPS および ALPN x-amzn-mqtt-ca を使用したポート 443 MQTT では、カスタム認証は使用できません。

クライアントは、AWS アカウントのデバイスエンドポイントに接続します。アカウントのデバイスエンドポイントを見つける方法については、「AWS IoT デバイスデータおよびサービスエンドポイント」を参照してください。

AWS IoT Core に接続する

プロトコル

エンドポイントまたは URL

MQTT

iot-endpoint

MQTT over WSS

wss://iot-endpoint/mqtt

HTTPS

https://iot-endpoint/topics

デバイス通信用のプロトコルの選択

デバイスエンドポイントを介したほとんどの IoT デバイス通信では、WSS プロトコルを介した MQTT または MQTT を使用します。ただし、デバイスエンドポイントも HTTPS をサポートしています。以下の表では、AWS IoT Core が 2 つのプロトコルを使用してデバイス通信を行う方法を比較しています。

AWS IoT デバイスプロトコルをサイドバイサイドで

機能

MQTT

HTTPS

パブリッシュ/サブスクライブのサポート

パブリッシュとサブスクライブ

発行のみ

SDK サポート

デバイス AWS は MQTT および WSS プロトコルをサポートします。SDKs

SDK はサポートしていませんが、言語固有の方法を使用して HTTPS リクエストを行うことができます

サービスサポートの品質

MQTT QoS レベル 0 および 1

サポートなしQoS

デバイスがオフラインのときに不在着信メッセージを受信する可能性 はい いいえ

clientId フィールドのサポート

はい

いいえ

デバイスの切断の検出

はい

いいえ

安全な通信

はい。「プロトコル、ポートマッピング、認証」を参照してください

はい。「プロトコル、ポートマッピング、認証」を参照してください

接続時間 最大で数週間 最大 24 時間

トピックの定義

定義されたアプリケーション

定義されたアプリケーション

メッセージのデータ形式

定義されたアプリケーション

定義されたアプリケーション

プロトコルオーバーヘッド 下へ
消費電力 下へ