

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

# の AWS IoT 仕組み
<a name="aws-iot-how-it-works"></a>

 AWS IoT は、IoT ソリューションの実装に使用できるクラウドサービスとデバイスサポートを提供します。 は、IoT ベースのアプリケーションをサポートするために多くのクラウドサービス AWS を提供します。どこから始めればよいかを理解できるように、このセクションでは、IoT ユニバースの概要を知るための重要な概念の図と定義を示します。

## IoT ユニバース
<a name="iot-universe"></a>

一般に、モノのインターネット (IoT) は、この図に示す主要なコンポーネントで構成されています。

![IoT ユニバース](http://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/images/iot-universe.png)


### アプリケーション
<a name="iot-universe-apps"></a>

 アプリケーションを使用すると、エンドユーザーは IoT デバイスと、それらのデバイスが接続されているクラウドサービスによって提供される機能にアクセスできます。

### クラウドサービス
<a name="iot-universe-cloud"></a>

クラウドサービスは、インターネットに接続されている分散型の大規模データストレージおよび処理サービスです。以下に例を示します。
+ IoT 接続および管理サービス 

  *AWS IoT は、IoT 接続および管理サービスの例*です。
+ Amazon Elastic Compute Cloud や などのコンピューティングサービス AWS Lambda
+ Amazon DynamoDB などのデータベースサービス

### 通信
<a name="iot-universe-comms"></a>

 デバイスは、さまざまな技術やプロトコルを使用してクラウドサービスと通信します。その例を以下に示します。
+ Wi-Fi/ブロードバンドインターネット
+ ブロードバンドセルラーデータ
+ 狭帯域セルラーデータ
+ Long-range Wide Area Network (LoRaWAN)
+ 独自の RF 通信

### デバイス
<a name="iot-universe-devices"></a>

デバイスとは、インターフェイスと通信を管理するハードウェアの一種です。デバイスは、通常、監視および制御対象の実際のインターフェイスの近くに配置されます。デバイスには、マイクロコントローラ、CPU、メモリなどのコンピューティングおよびストレージリソースを含めることができます。その例を以下に示します。
+ Raspberry Pi
+ Arduino
+ 音声インターフェイスアシスタント
+ LoRaWAN およびデバイス
+ Amazon Sidewalk デバイス
+ カスタム IoT デバイス

### インターフェイス
<a name="iot-universe-interfaces"></a>

 インターフェイスは、デバイスを物理世界に接続するコンポーネントです。
+ ユーザーインターフェイス

  デバイスとユーザーが相互に通信することを可能にするコンポーネント。
  + 入力インターフェイス

    ユーザーがデバイスと通信できるようにする

    例: キーパッド、ボタン
  + 出力インターフェイス

    デバイスがユーザーと通信できるようにする

    例：英数字表示、グラフィック表示、インジケーターライト、アラームベル
+ センサー

  デバイスが理解できる方法で外部で何かを測定または感知する入力コンポーネント。以下に例を示します。
  + 温度センサー (温度をアナログ信号またはデジタル信号に変換)
  + 湿度センサー (相対湿度をアナログ信号またはデジタル信号に変換)
  + アナログ-デジタル変換器 (アナログ電圧を数値に変換)
  + 超音波距離測定単位 (距離を数値に変換)
  + 光学センサー (光レベルを数値に変換)
  + カメラ (画像データをデジタルデータに変換)
+ アクチュエータ

  デバイスが外部で何かを制御するために使用できる出力コンポーネント。その例を以下に示します。
  + ステッピングモーター (電気信号を動きに変換)
  + リレー (高電圧と電流を制御)

## AWS IoT サービスの概要
<a name="aws-iot-components"></a>

IoT ユニバースでは、 は、世界とやり取りするデバイスをサポートするサービスと、それらと の間を通過するデータ AWS IoT を提供します AWS IoT。 AWS IoT はIoT ソリューションをサポートするためにこの図に示すサービスで構成されます。

![AWS IoT アーキテクチャ](http://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/images/architecture-diagram.png)


### AWS IoT デバイスソフトウェア
<a name="aws-iot-components-device"></a>

AWS IoT は、 IoT デバイスをサポートするためにこのソフトウェアを提供します。

**AWS IoT デバイス SDKs**  
[AWS IoT Device SDK と Mobile SDKs](iot-sdks.md)は、デバイスを効率的に接続するのに役立ちます AWS IoT。 AWS IoT Device SDK と Mobile SDKs には、オープンソースライブラリ、サンプルを含む開発者ガイド、移植ガイドが含まれており、選択したハードウェアプラットフォームで革新的な IoT 製品またはソリューションを構築できます。

**AWS IoT Device Tester**  
[AWS IoT Device Tester](https://docs.aws.amazon.com//freertos/latest/userguide/device-tester-for-freertos-ug.html) for FreeRTOS および AWS IoT Greengrass は、マイクロコントローラー用のテスト自動化ツールです。 は、FreeRTOS または を実行し AWS IoT Greengrass 、 AWS IoT サービスと相互運用するかどうかを判断するためにデバイスを AWS IoT Device Tester テストします。

**AWS IoT ExpressLink**  
AWS IoT ExpressLink は、 [AWS パートナー](https://aws.amazon.com/iot-expresslink/partners/?nc=sn&loc=6)によって開発および提供されるさまざまなハードウェアモジュールを強化します。接続モジュールには AWS検証済みソフトウェアが含まれているため、デバイスをクラウドに安全に接続し、さまざまな AWS サービスとシームレスに統合できます。詳細については、[AWS IoT Express Link](https://aws.amazon.com/iot-expresslink/) 概要ページにアクセスするか、[AWS IoT ExpressLink プログラマーガイド](https://docs.aws.amazon.com/iot-expresslink/latest/programmersguide/elpg.html)を参照してください。

**AWS IoT Greengrass**  
 [AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/) はエッジデバイスに AWS IoT を拡張し、生成したデータに対してローカルに動作し、機械学習モデルに基づいて予測を実行し、デバイスデータをフィルタリングおよび集計できるようにします。 AWS IoT Greengrass は、デバイスがそのデータが生成される場所に近いデータを収集および分析し、ローカルイベントに自律的に反応し、ローカルネットワーク上の他のデバイスと安全に通信できるようにします。を使用して AWS IoT Greengrass 、エッジデバイスを AWS サービスまたはサードパーティーサービスに接続できるコンポーネントと呼ばれる構築済みのソフトウェアモジュールを使用してエッジアプリケーションを構築できます。

**FreeRTOS**  
[FreeRTOS](https://docs.aws.amazon.com//freertos/) は、マイクロコントローラー用のオープンソースのリアルタイムオペレーティングシステムであり、IoT ソリューションに小型で低電力のエッジデバイスを含めることを可能にします。FreeRTOS には、カーネルと、多くのアプリケーションをサポートする一連のソフトウェアライブラリが含まれています。FreeRTOS システムは、小型で低電力のデバイスを [AWS IoT](https://docs.aws.amazon.com//iot/) に安全に接続し、[AWS IoT Greengrass](https://docs.aws.amazon.com//greengrass/) を実行するより強力なエッジデバイスをサポートできます。

### AWS IoT コントロールサービス
<a name="aws-iot-components-control"></a>

次の AWS IoT サービスに接続して、IoT ソリューションのデバイスを管理します。

**AWS IoT Core**  
[AWS IoT Core](https://docs.aws.amazon.com//iot/) は、接続されたデバイスがクラウドアプリケーションやその他のデバイスと安全にやり取りできるようにするマネージドクラウドサービスです。 は多くのデバイスやメッセージをサポート AWS IoT Core でき、それらのメッセージを AWS IoT エンドポイントやその他のデバイスに処理してルーティングできます。を使用すると AWS IoT Core、アプリケーションは接続されていない場合でもすべてのデバイスを操作できます。

**AWS IoT Core Device Advisor**  
[AWS IoT Core Device Advisor](https://docs.aws.amazon.com//iot/latest/developerguide/device-advisor.html) は、デバイスソフトウェア開発中に IoT デバイスを検証するためのクラウドベースのフルマネージドテスト機能です。Device Advisor は、デバイスを本稼働環境にデプロイする前に AWS IoT Core、IoT デバイスとの信頼性と安全な接続を検証するために使用できる構築済みのテストを提供します。

**AWS IoT Device Defender**  
[AWS IoT Device Defender](https://docs.aws.amazon.com//iot-device-defender/) は、IoT デバイスのフリートを保護するのに役立ちます。 AWS IoT Device Defender はIoT 設定を継続的に監査して、セキュリティのベストプラクティスから逸脱していないことを確認します。 AWS IoT Device Defender は、複数のデバイス間で共有されている ID 証明書や、 に接続しようとしている ID 証明書が取り消されたデバイスなど、セキュリティリスクを引き起こす可能性のある IoT 設定のギャップを検出すると、アラートを送信します[AWS IoT Core](https://aws.amazon.com/iot-core/)。

**AWS IoT デバイス管理**  
[AWS IoT デバイス管理](https://docs.aws.amazon.com//iot-device-management/)サービスは、デバイスフリートを構成する多数の接続デバイスの追跡、モニタリング、管理に役立ちます。 AWS IoT デバイス管理サービスは、IoT デバイスがデプロイされた後に適切かつ安全に動作することを確実にするのに役立ちます。また、デバイスへのアクセスのためのセキュアなトンネリングを提供し、デバイスの正常性を監視し、問題を検出してリモートでトラブルシューティングし、デバイスのソフトウェアとファームウェアの更新を管理するサービスも提供します。

### AWS IoT データサービス
<a name="aws-iot-components-data"></a>

IoT ソリューション内のデバイスからのデータを分析し、次の AWS IoT サービスを使用して適切なアクションを実行します。

**Amazon Kinesis Video Streams**  
[Amazon Kinesis Video Streams](https://docs.aws.amazon.com//kinesisvideostreams/latest/dg/what-is-kinesis-video.html) を使用すると、デバイスから AWS クラウドにライブビデオをストリーミングできます。このビデオは永続的に保存、暗号化、インデックス作成され、easy-to-useを介してデータにアクセスできます。 APIs Amazon Kinesis Video Streams を使用すると、スマートフォン、セキュリティカメラ、ウェブカメラ、車、ドローンやその他のソースに設置されるカメラのような何百万ものソースからライブ動画データの膨大な量を取得できます。Amazon Kinesis Video Streams を使用すると、ライブおよびオンデマンド視聴のために動画を再生し、Amazon Rekognition Video と ML フレームワーク用のライブラリとの統合を通じて、コンピュータービジョンと動画分析を活用するアプリケーションをすばやく構築できます。また、オーディオデータ、熱画像、深度データ、RADAR データなどの多くの時刻シリアル化された非ビデオデータも送信できます。

**Amazon Kinesis Video Streams with WebRTC**  
[Amazon Kinesis Video Streams with WebRTC](https://docs.aws.amazon.com//kinesisvideostreams-webrtc-dg/latest/devguide/what-is-kvswebrtc.html) は、標準に準拠した WebRTC をフルマネージド機能として実装しています。Amazon Kinesis Video Streams with WebRTC を使用して、メディアを安全にライブストリーミングしたり、カメラ IoT デバイスと WebRTC 準拠のモバイルプレーヤーやウェブプレーヤー間で、双方向のオーディオ対話やビデオ対話を実行したりできます。フルマネージド機能を実装しているため、アプリケーションとデバイス間でメディアを安全にストリーミングするために、シグナリングサーバーやメディアリレーサーバーなど、WebRTC 関連のクラウドインフラストラクチャを構築、運用、または拡張する必要はありません。Amazon Kinesis Video Streams with WebRTC を使用すると、ライブピアツーピアメディアストリーミング、またはカメラ IoT デバイス、Web ブラウザ、およびモバイルデバイス間のリアルタイムのオーディオ対話やビデオ対話のためのアプリケーションをさまざまなユースケースで簡単に構築できます。

**AWS IoT FleetWise**  
[AWS IoT FleetWise](https://docs.aws.amazon.com//iot-fleetwise/latest/developerguide/what-is-iotfleetwise.html) は、車両データを収集してほぼリアルタイムでクラウドに転送するために使用できるマネージドサービスです。 AWS IoT FleetWise を使用すると、さまざまなプロトコルとデータ形式を使用する車両からデータを簡単に収集して整理できます。 AWS IoT FleetWise は、低レベルのメッセージを人間が読める値に変換し、データ分析のためにクラウドのデータ形式を標準化するのに役立ちます。また、データ収集スキームを定義して、車両で収集するデータとクラウドに転送するタイミングを制御することもできます。

**AWS IoT SiteWise**  
[AWS IoT SiteWise](https://docs.aws.amazon.com//iot-sitewise/) は、施設内のゲートウェイ上で動作するソフトウェアを提供することにより、MQTT メッセージまたは API によって産業機器から渡されたデータを大規模に収集、保存、整理、監視します。ゲートウェイはオンプレミスのデータサーバーに安全に接続し、データを収集して整理し、 AWS クラウドに送信するプロセスを自動化します。

**AWS IoT TwinMaker**  
[AWS IoT TwinMaker](https://docs.aws.amazon.com//iot-twinmaker/) は、物理システムとデジタルシステムの運用デジタルツインを構築します。 AWS IoT TwinMaker は、さまざまな実世界のセンサー、カメラ、エンタープライズアプリケーションの測定値と分析を使用してデジタル視覚化を作成し、物理的な工場、建物、または産業プラントを追跡するのに役立ちます。実際のデータを使用して、オペレーションのモニタリング、エラーの診断と修正、およびオペレーションの最適化を行うことができます。

## AWS IoT Core サービス
<a name="aws-iot-core-services"></a>

AWS IoT Core は、IoT デバイスを AWS クラウドに接続するサービスを提供し、他のクラウドサービスやアプリケーションがインターネットに接続されたデバイスとやり取りできるようにします。

![デバイスゲートウェイ、メッセージブローカー、ルールエンジン、デバイスシャドウ、およびそれらが提供するその他のサービス AWS IoT Core を示す の概要ビュー](http://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/images/aws_iot_data_services.png)


次のセクションでは、図に示す各 AWS IoT Core サービスについて説明します。

### AWS IoT Core メッセージングサービス
<a name="aws-iot-core-connect"></a>

 AWS IoT Core 接続サービスは、IoT デバイスとの安全な通信を提供し、デバイスとデバイス間を通過するメッセージを管理します AWS IoT。

**デバイスゲートウェイ **  
デバイスから AWS IoTへのセキュアかつ効率的な通信を可能にします。デバイス通信は X.509 証明書を使用するセキュアなプロトコルによって保護されます。

**メッセージブローカー **  
デバイスと AWS IoT アプリケーションが相互にメッセージを発行および受信するための安全なメカニズムを提供します。パブリッシュとサブスクライブには、MQTT を直接または WebSocket を介して使用できます。 AWS IoT がサポートするプロトコルの詳細については、[デバイス通信プロトコル](protocols.md) を参照してください。デバイスおよびクライアントは、HTTP REST インターフェイスを使用して、メッセージをブローカーにデータを発行することもできます。  
メッセージブローカーは、デバイスデータをサブスクライブしているデバイスと、Device Shadow AWS IoT Core サービスやルールエンジンなどの他のサービスに配信します。

**AWS IoT Core for LoRaWAN**  
AWS IoT Core for LoRaWAN を使用すると、LoRaWAN ネットワークサーバー (LNS) を開発および運用することなくLoRaWAN デバイスとゲートウェイを AWS に接続することで、プライベート LoRaWAN ネットワークを設定できます。LoRaWAN デバイスから受信したメッセージは、ルールエンジンに送信され、そこでフォーマットされて、他の AWS IoT サービスに送信されます。

**ルールエンジン **  
ルールエンジンは、ストレージと追加処理のために、メッセージブローカーから他の AWS IoT サービスにデータを接続します。例えば、DynamoDB テーブルを挿入、更新、または照会したり、Rules エンジンで定義した式に基づいて Lambda 関数を呼び出したりできます。SQL ベースの言語を使用して、メッセージペイロードからデータを選択し、データを処理して、他のサービス (Amazon Simple Storage Service (Amazon S3)、Amazon DynamoDB、 AWS Lambdaなど) にデータを送信できます。メッセージブローカーや他のサブスクライバーにメッセージを再発行するルールを作成することもできます。詳細については、「[のルール AWS IoT](iot-rules.md)」を参照してください。

### AWS IoT Core コントロールサービス
<a name="aws-iot-core-control"></a>

 AWS IoT Core コントロールサービスは、デバイスのセキュリティ、管理、登録機能を提供します。

**カスタム認証サービス**  
カスタム認証サービスと Lambda 関数を使用して､独自の認証および認可戦略を管理できるカスタムオーソライザーを定義できます。カスタムオーソライザーにより、 AWS IoT はデバイスを認証し、ベアラトークンの認証と認可戦略を使用してオペレーションを認可することができます。  
カスタムオーソライザーは、JSON Web Token の検証や OAuth プロバイダーのコールアウトなど、さまざまな認証戦略を実装できます。MQTT オペレーションを認可するためにデバイスゲートウェイが使用するポリシー文書を戻す必要があります。詳細については、「[カスタム認証と認可](custom-authentication.md)」を参照してください。

**デバイスプロビジョニングサービス**  
デバイスに必要なリソース (*モノのオブジェクト*、証明書、1 つ以上のポリシー) を記述したテンプレートを使用して、デバイスをプロビジョニングできます。モノのオブジェクトは、デバイスを記述する属性を含むレジストリのエントリです。デバイスは証明書を使用して認証します AWS IoT。ポリシーは、デバイスが AWS IoTで実行できるオペレーションを決定します。  
テンプレートには、ディクショナリ (マップ) の値で置き換えられる変数が含まれています。同じテンプレートを使用して、ディクショナリのテンプレート変数に異なる値を渡すだけで、複数のデバイスをプロビジョニングすることができます。詳細については、「[デバイスプロビジョニング](iot-provision.md)」を参照してください。

**グループレジストリ**  
グループはこれらをグループに分類することで、複数のデバイスを一度に管理できるようにします。グループ内にもグループが含まれているので、グループ階層を構築することもできます。親グループで行った操作は、子グループでも適用されます。親グループ内のすべてのデバイスおよび子グループ内のすべてのデバイスにも同じアクションが適用されます。グループに付与されたアクセス許可は、グループ内のすべてのデバイスとそのすべての子グループに適用されます。詳細については、「[を使用したデバイスの管理 AWS IoT](iot-thing-management.md)」を参照してください。

**ジョブサービス**  
 AWS IoTに接続された 1 つ以上のデバイスに送信され実行される一連のリモート操作を定義できます。たとえば、一連のデバイスに対して、アプリケーションやファームウェア更新のダウンロードとインストール、再起動、証明書のローテーション、またはリモートトラブルシューティングオペレーションの実行を指示するジョブを定義できます。  
ジョブを作成するには、実行するリモートオペレーションの説明と、それを実行するターゲットのリストを指定します。ターゲットは個々のデバイス、グループ、またはその両方にすることができます。詳細については、「[AWS IoT ジョブ](iot-jobs.md)」を参照してください。

**[Registry]**  
 AWS クラウドで各デバイスに関連付けられたリソースの整理に使用されます。デバイスを登録し、各デバイスに最大 3 つのカスタム属性を関連付けることができます。また、各デバイスに証明書と MQTT クライアント ID を関連付けて、デバイスの管理とトラブルシューティングの機能を強化することもできます。詳細については、「[を使用したデバイスの管理 AWS IoT](iot-thing-management.md)」を参照してください。

**セキュリティとアイデンティティサービス **  
 AWS クラウドのセキュリティに関する責任を共有します。デバイスは、メッセージブローカーにデータをセキュアに送信するために、認証情報を安全な場所に保管する必要があります。メッセージブローカーとルールエンジンは、 AWS のセキュリティ機能を使用して、デバイスまたは他の AWS のサービスにデータをセキュアに送信します。詳細については、「[認証](authentication.md)」を参照してください。

### AWS IoT Core データサービス
<a name="aws-iot-core-data"></a>

 AWS IoT Core データサービスは、必ずしも接続されていないデバイスでも、IoT ソリューションが信頼性の高いアプリケーションエクスペリエンスを提供するのに役立ちます。

**デバイスシャドウ **  
デバイスの現在の状態情報の保存と取得に使用される JSON ドキュメントです。

**Device Shadow サービス **  
Device Shadow サービスはデバイスの状態を維持し、デバイスがオンラインであるかどうかにかかわらず、アプリケーションがデバイスと通信できるようにします。デバイスがオフラインの場合、Device Shadow サービスは接続されたアプリケーションのためにデータを管理します。デバイスが再接続すると、Device Shadow サービス内のシャドウの状態と同期します。デバイスは、常に接続されていない可能性のあるアプリケーションやその他のデバイスで使用できるように、現在の状態をシャドウに発行することもできます。詳細については、「[AWS IoT Device Shadow サービス](iot-device-shadows.md)」を参照してください。

### AWS IoT Core サポートサービス
<a name="aws-iot-core-integ"></a>

**の Amazon Sidewalk 統合 AWS IoT Core**  
[Amazon Sidewalk](https://www.amazon.com/Amazon-Sidewalk/b?ie=UTF8&node=21328123011) は、接続オプションを改善してデバイスの連携を改善する共有ネットワークです。Amazon Sidewalk は、ペットや貴重品を探すデバイス、スマートホームセキュリティと照明制御を提供するデバイス、家電製品やツールのリモート診断を提供するデバイスなど、お客様のさまざまなデバイスをサポートしています。の Amazon Sidewalk 統合 AWS IoT Core により、デバイスメーカーは Sidewalk デバイスフリートを AWS IoT クラウドに追加できます。  
詳細については、「[AWS IoT Core for Amazon Sidewalk](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/iot-sidewalk.html)」を参照してください。