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

iot:Jobs は、IPv4 にのみ使用可能です。デュアルスタックエンドポイント (IPv4 と IPv6) を使用している場合は、iot:Data-ATS エンドポイントタイプを使用します。

AWS IoTDevice Advisor オペレーション

iot:DeviceAdvisor

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

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

iot:Data-Beta

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

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

AWS IoTデバイス SDKs

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

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

モバイルデバイス

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

C++

AWS IoTC++ デバイス SDK

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

Python

AWS IoTDevice SDK for Python

AWS IoTDevice 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 IoTDevice SDK for JavaScript

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

Java

AWS IoTDevice SDK for Java

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

Embedded C

AWS IoTDevice SDK for Embedded C

重要

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

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

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

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