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

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

デバイスとの接続 AWS IoT

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

メッセージブローカー

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

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

AWS IoT X.509 クライアント証明書使用するデバイス接続と認証用の V4 AWS 署名 デバイス通信は TLS バージョン 1.3 によって保護されており、デバイスは接続時にサーバー名表示 (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 エンドポイントタイプを使用することを強くお勧めします。下位互換性を保つため、iot:Data VeriSign 証明書を使用する古いエンドポイントからデータを取得するためのエンドポイントをデバイスに提供しています。詳細については、「サーバーの認証」を参照してください。

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

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

AWS IoT デバイスアドバイザーの操作

iot:DeviceAdvisor

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

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

iot:Data-Beta

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

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

AWS IoT デバイス SDK

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

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

モバイルデバイス

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

C++

AWS IoT C++ デバイス SDK

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

Python

AWS IoT Python 用デバイス SDK

AWS IoT Device SDK for Pythonを使用すると、 WebSocket 開発者は自分のデバイスを使用してセキュア(WSS)プロトコルを介して MQTT または MQTT AWS IoT を介してプラットフォームにアクセスするための Python スクリプトを作成できます。 AWS IoT Core デバイスをサービスの API に接続することで、ユーザーは Amazon Kinesis や Amazon S3 AWS などの他のサービスを提供するメッセージブローカー、ルール AWS Lambda、Device Shadow サービスを安全に操作できます。 AWS IoT Core

JavaScript

AWS IoT 用デバイス SDK JavaScript

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

Java

AWS IoT Java 用デバイス SDK

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

Embedded C

AWS IoT エンベデッド C 用デバイス SDK

重要

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

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

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

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