デバイスの への接続 AWS IoT - AWS IoT Core

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

デバイスの への接続 AWS IoT

デバイスは、 を介して AWS IoT およびその他の サービスに接続します AWS IoT Core。を通じて AWS IoT Core、デバイスは アカウントに固有のデバイスエンドポイントを使用してメッセージを送受信します。は、 MQTTおよび WSSプロトコルを使用したデバイス通信AWS IoT デバイス SDKsをサポートします。デバイスが使用できるプロトコルの詳細については、「デバイス通信プロトコル」を参照してください。

メッセージブローカー

AWS IoT は、メッセージブローカーを介したデバイス通信を管理します。デバイスおよびクライアントは、メッセージブローカーにメッセージを発行するとともに、メッセージブローカーが発行するメッセージにサブスクライブします。メッセージは、アプリケーション定義のトピックによって識別されます。メッセージブローカーは、デバイスまたはクライアントによって発行されたメッセージを受信すると、そのメッセージのトピックにサブスクライブしているデバイスとクライアントにそのメッセージを再発行します。メッセージブローカーは、メッセージの内容に基づいて動作できる AWS IoT ルールエンジンにメッセージも転送します。

AWS IoT メッセージセキュリティ

認証 AWS IoT に使用するデバイス接続X.509 クライアント証明書AWS 署名 V4。デバイス通信はTLSバージョン 1.3 で保護されており、 AWS IoT 接続時にデバイスが Server Name Indication (SNI) 拡張機能を送信する必要があります。詳細については、「 のトランスポートセキュリティ AWS IoT」を参照してください。

AWS IoT デバイスデータとサービスエンドポイント

重要

エンドポイントはデバイスにキャッシュまたは保存できます。つまり、新しいデバイスが接続されるDescribeEndpointAPIたびに にクエリを実行する必要はありません。エンドポイントは、 がアカウント用に AWS IoT Core 作成した後も変更されません。

各アカウントには、アカウントに固有で、特定の IoT 機能をサポートする複数のデバイスエンドポイントがあります。 AWS IoT デバイスデータエンドポイントは、IoT デバイスの通信ニーズに合わせて設計されたパブリッシュ/サブスクライブプロトコルをサポートしています。ただし、アプリケーションがこれらのエンドポイントが提供する特殊な機能を必要とする場合は、アプリケーションやサービスなどの他のクライアントもこのインターフェイスを使用できます。 AWS IoT デバイスサービスエンドポイントは、セキュリティおよび管理サービスへのデバイス中心のアクセスをサポートします。

アカウントのデバイスデータエンドポイントについては、 AWS IoT Core コンソールの設定ページで確認できます。

デバイスデータエンドポイントを含む特定の目的でアカウントのデバイスエンドポイントを学習するには、ここに示すdescribe-endpointCLIコマンド、または 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 デバイスの エンドポイント

エンドポイントの目的

endpointType

説明

AWS IoT Core- データプレーンオペレーション

iot:Data-ATS

メッセージブローカー、Device Shadow、および AWS IoTのルールエンジンのコンポーネント間のデータを送受信するために使用されました。

iot:Data-ATS は署名ATS付きデータエンドポイントを返します。

AWS IoT Core– データプレーンオペレーション (レガシー)

iot:Data

iot:Data は、下位互換性のために提供された VeriSign 署名付きデータエンドポイントを返します。MQTT 5 は Symantec (iot:Data) エンドポイントではサポートされていません。

AWS IoT Core 認証情報アクセス

iot:CredentialProvider

直接他の AWS サービスへ接続するために、デバイス組み込みの X.509 証明書を一時的な認証情報と交換するために使用されます。他の AWS サービスへの接続の詳細については、「 AWS サービスへの直接呼び出しの承認」を参照してください。

AWS IoT Device Management– ジョブデータオペレーション

iot:Jobs

デバイスが AWS IoT Jobs Device を使用して Jobs HTTPS APIsサービスとやり取りできるようにするために使用されます。

AWS IoT Device Advisor オペレーション

iot:DeviceAdvisor

Device Advisor を使用してデバイスをテストするために使用されるテストエンドポイントタイプ。詳細については、「Device Advisor」を参照してください。

AWS IoT Core データベータ (プレビュー)

iot:Data-Beta

ベータリリース用に予約されたエンドポイントの種類。現在の使用については、設定可能なエンドポイント を参照してください。

などの独自の完全修飾ドメイン名 (FQDN) を使用することもできます。example.com、および AWS IoT を使用してデバイスを に接続するための関連するサーバー証明書設定可能なエンドポイント

AWS IoT デバイス SDKs

AWS IoT Device SDKsは、IoT デバイスを に接続 AWS IoT Core し、WSSプロトコルMQTT経由で MQTT および をサポートするのに役立ちます。

AWS IoT デバイスは、 AWS SDKs AWS IoT デバイスが IoT デバイスの特殊な通信ニーズSDKsをサポートしているが、 でサポートされているすべてのサービスをサポートしていないという点で SDKsとは異なります AWS SDKs。 AWS IoT デバイスはSDKs、すべての AWS サービスをサポートする と AWS SDKs互換性がありますが、異なる認証方法を使用し、異なるエンドポイントに接続するため、IoT デバイスでは を AWS SDKs実用的でない可能性があります。

モバイルデバイス

は、MQTTデバイス通信、一部の AWS IoT サービス APIs、およびAPIs他の AWS サービスの の両方AWS モバイル SDKsをサポートします。サポートされているモバイルデバイスで開発している場合は、 を確認してSDK、IoT ソリューションの開発に最適なオプションであるかどうかを確認します。

C++

AWS IoT C++ デバイス SDK

AWS IoT C++ デバイスSDKを使用すると、デベロッパーは AWS と APIs AWS IoT Core のサービスを使用して接続されたアプリケーションを構築できます。具体的には、これはリソースに制約がなく、メッセージキューイング、マルチスレッドサポート、最新の言語機能などの高度な機能を必要とするデバイス向けにSDK設計されています。詳細については、次を参照してください。

Python

AWS IoT Device SDK for Python

AWS IoT Device SDK for Python を使用すると、デベロッパーは Python スクリプトを記述して、デバイスを使用して WebSocket Secure () プロトコルを介して、MQTTまたは Secure (WSS) プロトコルMQTT経由で AWS IoT プラットフォームにアクセスできます。デバイスを APIs AWS IoT Core サービスの に接続することで、ユーザーは AWS IoT Core が提供するメッセージブローカー、ルール、および Device Shadow サービス、および AWS Lambda、Amazon Kinesis 、Amazon S3 などの他の AWS サービスで安全に作業できます。

JavaScript

AWS IoT SDKのデバイス JavaScript

AWS IoT Device SDK for JavaScript を使用すると、デベロッパーは MQTTまたは MQTT WebSocket プロトコル AWS IoT Core を使用して APIs にアクセスする JavaScript アプリケーションを記述できます。これは、Node.js 環境およびブラウザーアプリケーションで使用できます。詳細については、次を参照してください。

Java

AWS IoT Device SDK for Java

AWS IoT Device SDK for Java を使用すると、Java デベロッパーは MQTTまたは WebSocket MQTTプロトコル AWS IoT Core を介して APIsにアクセスできます。は Device Shadow サービスSDKをサポートしています。シャドウにアクセスするには、GET、、 などのHTTP方法を使用しますUPDATEDELETE。SDK また、 は、JSONドキュメントをシリアル化または逆シリアル化することなく、ゲッターメソッドとセッターメソッドを使用してデベロッパーがシャドウとデータを交換できるようにする簡略化されたシャドウアクセスモデルもサポートしています。詳細については、次を参照してください。

Embedded C

AWS IoT 埋め込み C SDK用のデバイス

重要

これはSDK、経験豊富な組み込みソフトウェア開発者が使用することを目的としています。

AWS IoT Device SDK for Embedded C (C-SDK) は、MITオープンソースライセンスに基づく C ソースファイルのコレクションであり、組み込みアプリケーションで IoT デバイスを IoT AWS IoT Core に安全に接続するために使用できます。これには、MQTT、JSONパーサー、および AWS IoT Device Shadow ライブラリなどが含まれます。ソース形式で配布され、アプリケーションコード、その他のライブラリ、オプションで RTOS (リアルタイムオペレーティングシステム) とともにお客様のファームウェアに組み込むことを目的としています。

は通常 AWS IoT Device SDK for Embedded C 、最適化された C 言語ランタイムを必要とするリソース制約のあるデバイスを対象としています。は任意のオペレーティングシステムSDKで使用でき、任意のプロセッサタイプ ( MCUsや など) でホストできますMPUs。デバイスに十分なメモリと処理リソースがある場合は、 AWS IoT Device SDK for C++、JavaSDKs、 JavaScriptPython など、他の AWS IoT Device および Mobile のいずれかを使用することをお勧めします。

詳細については、次を参照してください。