AWS IoT Greengrass のアイコン

AWS IoT Greengrass

エッジデバイスでローカルコンピュート、メッセージング、ML 推論を実行するサービス

何ができるか

AWS IoT Greengrass は、エッジデバイス上で AWS Lambda 関数、Docker コンテナ、ML 推論モデルをローカルに実行するサービスです。クラウドとの接続が断続的な環境でも、デバイス上でデータ処理や意思決定を行えます。クラウドとの同期はネットワーク復旧時に自動的に行われます。

どのような場面で使うか

工場の製造ラインでのリアルタイム異常検知、農業 IoT でのセンサーデータのローカル処理、自動車のエッジコンピューティング、小売店舗でのローカル ML 推論に利用されます。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。

身近な例え

支店に配置された小型コンピュータに例えられます。本社 (クラウド) と通信できないときでも、支店 (エッジ) で独自に判断・処理を行い、通信が回復したら結果を本社に報告します。

IoT Greengrass とは

AWS IoT Greengrass は、クラウドの機能をエッジデバイスに拡張するサービスです。Greengrass Core ソフトウェアをデバイスにインストールすると、Lambda 関数やコンテナをローカルで実行できます。デバイス間のローカルメッセージングや、SageMaker でトレーニングした ML モデルのエッジ推論にも対応しています。

コンポーネントとデプロイ

Greengrass V2 ではコンポーネントという単位でソフトウェアをデバイスにデプロイします。AWS 提供のコンポーネント (ログマネージャー、ストリームマネージャーなど) とカスタムコンポーネントを組み合わせて、デバイスの機能を構成します。デプロイはクラウドから OTA (Over-The-Air) で実行でき、デバイスグループ単位での一括デプロイも可能です。

はじめかた

Greengrass Core ソフトウェアを Raspberry Pi や Linux デバイスにインストールします。IoT Greengrass コンソールでコンポーネントを選択し、デバイスにデプロイします。Hello World コンポーネントから始めて、段階的にローカル ML 推論やデバイス間通信を追加していくのが推奨されます。

注意点

  • Greengrass Core デバイスには最低 128 MB の RAM と Linux OS が必要。リソースが限られたマイクロコントローラーには FreeRTOS を検討する
  • デバイス数に応じた月額課金。10 台までは無料利用枠で利用可能

さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。