デバイスの AWS IoT への接続
デバイスは、AWS IoT Core を介して AWS IoT やその他のサービスに接続します。AWS IoT Core を通じて、デバイスは、アカウントに固有のデバイスエンドポイントを使用してメッセージを送受信します。MQTT および WSS プロトコルを使用した AWS IoTDevice SDKs サポートデバイス通信。デバイスが使用できるプロトコルの詳細については、「デバイス通信プロトコル」を参照してください。
メッセージブローカー
AWS IoT は、メッセージブローカーを通じてデバイス通信を管理します。デバイスおよびクライアントは、メッセージブローカーにメッセージを発行するとともに、メッセージブローカーが発行するメッセージにサブスクライブします。メッセージは、アプリケーション定義のトピックによって識別されます。メッセージブローカーは、デバイスまたはクライアントによって発行されたメッセージを受信すると、そのメッセージのトピックにサブスクライブしているデバイスとクライアントにそのメッセージを再発行します。メッセージブローカーは、メッセージの内容に基づいてアクションを実行する AWS IoT ルールエンジンにもメッセージを転送します。
AWS IoT メッセージセキュリティ
AWS IoT へのデバイス接続では、認証のために X.509 クライアント証明書 と AWS 署名 V4 を使用します。デバイスの通信は TLS バージョン 1.2 によって保護されており、AWS IoT では、デバイスは接続時に Server Name Indication (SNI) 拡張
AWS IoT デバイスデータとサービスエンドポイント
重要
エンドポイントはデバイスにキャッシュまたは保存できます。このため、新しいデバイスが接続されるたびに DescribeEndpoint
API にクエリを実行する必要はありません。AWS IoT Core によってアカウントのエンドポイントが作成された後で、それらのエンドポイントが変更されることはされません。
各アカウントには、アカウントに固有で、特定の IoT 機能をサポートする複数のデバイスエンドポイントがあります。AWS IoT デバイスデータエンドポイントは、IoT デバイスの通信ニーズに合わせて設計された発行/サブスクライブプロトコルをサポートします。ただし、アプリやサービスなどの他のクライアントも、これらのエンドポイントが提供する特殊な機能をそれらのアプリケーションが必要とする場合には、このインターフェイスを使用できます。AWS IoT デバイスサービスエンドポイントは、セキュリティおよび管理サービスへのデバイス中心のアクセスをサポートします。
アカウントのデバイスデータエンドポイントについては、AWS IoT Core コンソールの [Settings
デバイスデータエンドポイントなど、特定の目的のためにアカウントのデバイスエンドポイントを知るには、ここに示されている describe-endpoint CLI コマンドまたは DescribeEndpoint
REST API を使用して、次の表の
パラメータ値を指定します。endpointType
aws iot describe-endpoint --endpoint-type
endpointType
このコマンドは、次の形式で iot-endpoint
を返します:
。account-specific-prefix
.iot.aws-region
.amazonaws.com
すべてのカスタマーには iot:Data-ATS
および iot:Data
エンドポイントがあります。各エンドポイントは X.509 証明書を使用して、クライアントを認証します。Symantec 認証機関の広範な不信用に関連する問題を避けるために、新しい iot:Data-ATS
エンドポイントタイプを使用することを強くお勧めします。下位互換性のために VeriSign 証明書を使用する古いエンドポイントからデータを取得するための iot:Data
エンドポイントをデバイスに提供します。詳細については、「サーバーの認証」を参照してください。
デバイス用 AWS IoT エンドポイント | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
エンドポイントの目的 |
|
説明 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AWS IoT Core - データプレーンオペレーション |
|
メッセージブローカー、Device Shadow、およびAWS IoTのルールエンジンのコンポーネント間のデータを送受信するために使用されました。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AWS IoT Core – データプレーンオペレーション (レガシー) |
|
iot:Data は、下位互換性のために提供された VeriSign 署名付きデータエンドポイントを返します。MQTT 5 は Symantec (iot:Data ) エンドポイントではサポートされていません。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AWS IoT Core認証情報アクセス |
|
直接他のAWSサービスへ接続するために、デバイス組み込みの X.509 証明書を一時的な認証情報と交換するために使用されます。他のAWS のサービスへの接続の詳細については、「AWSサービス への直接呼び出しを承認する」を参照してください。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AWS IoT Device Management – ジョブデータオペレーション |
|
デバイスがJobs Device HTTPS API を使用して AWS IoTJobs サービスとインタラクションできるようにするために使用されます。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AWS IoT Device Advisor のオペレーション |
|
Device Advisor を使用してデバイスをテストするために使用されるテストエンドポイントタイプ。詳細については、「Device Advisor」を参照してください。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AWS IoT Coreデータベータ (プレビュー) |
|
ベータリリース用に予約されたエンドポイントの種類。現在の使用については、設定可能なエンドポイント を参照してください。 |
また、example.com
などの独自の完全修飾ドメイン名 (FQDN) および関連するサーバー証明書を使用して、設定可能なエンドポイント を使用してデバイスを AWS IoT に接続することもできます。
AWS IoTDevice SDKs
AWS IoT Device SDK は、IoT デバイスを AWS IoT Core に接続するのに役立ち、MQTT および MQTT over WSS プロトコルをサポートします。
AWS IoT Device SDK は、AWS IoT Device SDK が IoT デバイスの特殊な通信ニーズをサポートする点で AWS SDK とは異なりますが、AWS SDK でサポートされるすべてのサービスをサポートしているわけではありません。AWS IoT Device SDK は、すべての AWS のサービスをサポートする AWS SDK と互換性があります。ただし、それらは異なる認証方法を使用し、異なるエンドポイントに接続するため、IoT デバイスで AWS SDK を使用することが非現実的になる可能性があります。
モバイルデバイス
AWS Mobile SDK は、MQTT デバイス通信、一部の AWS IoT サービス API、および他の AWS のサービスの API のすべてをサポートします。サポートされているモバイルデバイスで開発している場合は、その SDK を確認して、それが IoT ソリューションの開発に最適なオプションであるかどうかを確認してください。