デバイスを に接続する 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 で保護されており、デバイスは接続時に Server Name Indication (SNI) 拡張機能を送信 AWS IoT する必要があります。詳細については、「 のトランスポートセキュリティ AWS IoT」を参照してください。

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

重要

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

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

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

デバイスデータエンドポイントなど、特定の目的のためにアカウントのデバイスエンドポイントを知るには、ここに示されている 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 デバイスの エンドポイント

エンドポイントの目的

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 HTTPS APIs を使用してデバイスが Jobs サービスとやり取りできるようにするために使用されます。

AWS IoT Device Advisor オペレーション

iot:DeviceAdvisor

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

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

iot:Data-Beta

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

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

AWS IoT デバイス SDKs

AWS IoT Device SDKs、IoT デバイスを に接続 AWS IoT Core し、MQTT および MQTT over WSS プロトコルをサポートします。

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

モバイルデバイス

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

C++

AWS IoT C++ デバイス SDK

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

Python

AWS IoT Device SDK for Python

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

JavaScript

AWS IoT Device SDK for JavaScript

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

Java

AWS IoT Device SDK for Java

AWS IoT Device SDK for Java を使用すると、Java 開発者は MQTT または MQTT over the WebSocket プロトコル AWS IoT Core を介して の APIs にアクセスできます。SDK では、デバイスシャドウサービスがサポートされています。GET、UPDATE、DELETE を含む HTTP メソッドを使用して、 Shadows にアクセスできます。SDK では、簡略化された Shadow アクセスモデルもサポートしていて、デベロッパーが、JSON ドキュメントをシリアル化または逆シリアル化することなく、ゲッターメソッドとセッターメソッドを使用して Shadows とデータを交換できます。詳細については、以下を参照してください。

Embedded C

AWS IoT Device SDK for Embedded C

重要

この SDK は、経験豊富な組み込みソフトウェアデベロッパーによる使用を想定しています。

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

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

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