AWS IoT Greengrassとは
AWS IoT Greengrassとは
AWS IoT Greengrassは、IoTにおけるエッジデバイス上でAWS LambdaなどAWS各種サービスとの連携を行いエッジコンピューティングを可能にするソフトウェアです。
エッジコンピューティングとは
IoTの普及に伴い、数多くのデバイスがネットワークに接続されデータの収集・蓄積が行われています。これらはクラウドに転送され、データを分析しまたインターネットを介してデバイスに送られます。リアルタイムでデータを処理・分析する場合にはデバイス→クラウド→デバイスというデータのやり取りは適切とは言えません。また、クラウドへのアクセスに何かしらの障害が発生した場合にはデータ転送の遅延、またはデータアクセスができなくなり適切な処理を行うことができません。AWS IoT Greengrassを使用することでリアルタイムにデータを処理し、また必要に応じてクラウドと通信を行うエッジコンピューティングが可能になるのです。
AWS IoT Greengrassの構成要素
Greengrass Core
Green grass Coreとはエッジデバイスにインストールするアプリケーションのことです。
エッジデバイス上でGreengrass Coreを動作させることでクラウドに依存しないデバイス管理が可能となります。このソフトウェアでは今まではAWS IoT Core というクラウドサービスで行っていたAWS Rambda関数をローカルサポートしています。また、クラウドとの通信に何らかの障害が発生している状態でもデータストリームの収集・処理及びエクスポート、配置されたLambda関数の実行、機械学習の推論の実行、セキュア通信、データの同期と維持などを行うことができます。これらのデータはクラウドへの接続が再び可能になったタイミングで通信が行われシームレスなデバイス管理を可能にしています。
Greengrass gruop
Greengrass gruopとはエッジ環境に合わせた設定を定義させることができます。Greengrass groupには以下の要素が設定できます。
・デバイス
AWS IoT レジストリでモノとして表されます。グループに追加されたデバイスのみが Core に接続できます。
・Lamda関数
AWS IoT Greengrass Coreで実行されるサーバーレスアプリケーションです。
・コネクタ
Core でコードを実行する事前定義されたサーバーレスアプリケーションです。コネクタは、ローカルインフラストラクチャ、デバイスプロトコル、AWS、その他のクラウドサービスとの組み込み統合を提供できます。
・サブスクリプション
MQTT 通信が承認されている発行者、受信者、および MQTT トピック(またはサブジェクトなど)を定義します。
・リソース
Greengrass Lambda 関数とコネクタによるアクセス制御に使用されるローカル デバイスおよびボリューム、機械学習モデル、および シークレット への参照ができます。
・Loggers
AWS IoT Greengrass システムコンポーネントと Lambda 関数のログ設定です。
Greengrass service
Greengrass serviceとはAWS IoT GreengrassでのLamda関数やデータの収集・管理、そして認証証明書の管理などを行うクラウドサービスです。
AWS IoT Greengrassのセキュリティ
AWS IoT Greengrass 環境にあるデバイスは、認証に X.509 証明書を使用し、認可に AWS IoT ポリシーを使用します。証明書とポリシーにより、デバイスは、AWS IoT Core と AWS IoT Greengrass に安全に接続できます。
また、ハードウェアレベルで保護されたエンドツーエンドの暗号化を AWS IoT Greengrass Core と AWS クラウドの間で送信されるメッセージに活用することもできます。この暗号化は、AWS IoT Device SDK を使用して、AWS IoT Greengrass Core と他のローカルデバイスとの間のメッセージにも活用できます。
おわりに
AWS IoT Greengrassを活用することにより、エッジコンピューティングが可能となり、より効果的なIoT運用を行うことができるようになるということがお分かりでしょうか。加えてデータ通信も効率化されコストを抑えたクラウド運用も可能となります。
実践例としてはヤンマーがAWS IoT Greengrassを運用し、クラウドを経由せずにビニールハウス内の水耕栽培システムを管理しています。将来的には農作物の生育状況をクラウドで一元管理する技術開発や実証を進めているようですので今後の動向にぜひ注目してみてください。