デバイスを に接続するAWS IoT - AWS IoT コア

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

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

AWS IoTデバイスデータおよびサービスエンドポイント

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

特定の目的でアカウントのデバイスエンドポイントを確認するには、ここに示す describe-endpoint CLI コマンドまたは DescribeEndpointREST 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 value

説明

IoT データ

iot:Data-ATS

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

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

IoTデータ (レガシー)

iot:Data

iot:Dataは、下位互換性のために提供されたVeriSign署名付きデータエンドポイントを返します。

IoT認証情報へのアクセス

iot:CredentialProvider

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

IoTジョブ管理

iot:Jobs

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

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

AWS IoTデバイスSDKs

AWS IoTデバイスは、SDKsデバイスを に接続IoTするのに役立ちます。AWS IoT Coreまた、MQTT と MQTT over WSS プロトコルがサポートされます。

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

モバイルデバイス

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

C++

AWS IoT C++ デバイス SDK

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

Python

AWS IoT Device SDK for Python

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

JavaScript

AWS IoT の Device SDK JavaScript

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

Java

AWS IoT Device SDK for Java

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

Embedded C

AWS IoT Device SDK for Embedded C

重要

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

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

フリートプロビジョニングの場合は、 を使用します。v4_beta_deprecated https://github.com/aws/aws-iot-device-sdk-embedded-C/tree/v4_beta_deprecated AWS IoT Device SDK for Embedded C の のバージョン

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

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