デバイスを に接続する 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 で保護されており、接続時にサーバー名表示 (SNI) 拡張機能を送信 AWS IoT する必要があります。詳細については、「」の「Transport Security 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 は、IoT デバイスを に接続 AWS IoT Core し、 WSS プロトコルMQTTを介して MQTT をサポートするSDKsのに役立ちます。

AWS IoT デバイスは、 AWS IoT デバイスが IoT デバイスの特殊な通信ニーズSDKsをサポートしているが、 でサポートされているすべてのサービスをサポートしていないという点で、 SDKsとは異なり AWS 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 Python SDK用デバイス

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

JavaScript

AWS IoT SDKのデバイス JavaScript

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

Java

AWS IoT Java SDK用デバイス

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

Embedded C

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

重要

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

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

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

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