AWS IoTは組み込み向けのサービス群になります。
SaaS型のサービスになりますので、まずは基本構成を理解することが必要となります。
基本構成
AWS IoTで中心となるのは、その名の通り「IoT Core」になります。
「IoT Core」を中心として、拡張サービスのようにその他サービスが構成されています。
サービスの分類としては「デバイス側」「AWS側」と分けて考えるのが一番整理しやすいと思います。
IoT Core
「IoT Core」はIoTサービスの中核となるサービスです。
デバイスの認証及びデータの送受信を行います。
また、受信したデータを保持するのも「IoT Core」になります。
「ルールエンジン」を使用してS3やLambdaにデータを保存したり連携することが可能です。
また、デバイスシャドウにデータを格納し外部プログラムから参照できるようにします。
デバイス
デバイス側というか、デバイスそのものに影響するのが「FreeRTOS」と「IoT Greengrass」の2つになります、
「FreeRTOS」はデバイスに登録するOSになります。他のOSでもAWSのSDKを組み込むことにより通信できるようになりますが、AWS純正(?)サポートのOSという意味では「FreeRTOS」を使用したほうが良いでしょう。
「IoT Device Management」を使用する場合、「FreeRTOS」であればプッシュ配信での更新が可能となります。
「IoT Greengrass」はAWSの機能をデバイス上まで拡張します。
AWSと連携するためのリッチクライアントと捉えて良いと思います。
デバイス側機能
デバイスを直接意識するサービスとしては「IoT Device Defender」「IoT Device Management」の2つがあります。
「IoT Device Defender」はAWS IoT用の監査機能になります。
デバイスから不正な通信が発生していたり、他の機器、経路から不正な通信や不正な証明書での通信が行われていないか監査を行います。
監査機能なので「セキュリティツール」と捉えないよう注意しましょう。
(厳密には監査もセキュリティの一環ですが・・・)
「IoT Device Management」はデバイス管理サービスになります。
AWS側
「IoT Analytics」「IoT Events」「IoT SiteWise」「IoT Things Graph」はAWS側になります。
「IoT Core」が受信したデータを分析したり、特定のデータを受信した際にそのデータをトリガーとして処理を行うサービス群になります。
これらのサービス群で処理を行うか、一度別なサービスにデータを保存しアプリケーションで処理をするかは設計思想により決定されます。
コメント