AWS IoT Greengrass のアイコン

AWS IoT Greengrass

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

何ができるか

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

どのような場面で使うか

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

身近な例え

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

IoT Greengrass とは

この記事は約 2 分で読めます。 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 推論やデバイス間通信を追加していくのが推奨されます。

Azure・オンプレミスとの比較

Azure の対応サービス Azure IoT Edge
オンプレミスでの対応手段 EdgeX Foundry、自前のエッジゲートウェイ

AWS の優位点

  • Lambda 関数と Docker コンテナの両方をエッジで実行でき、クラウドと同じプログラミングモデルを使用可能
  • SageMaker でトレーニングした ML モデルをエッジデバイスにデプロイし、低レイテンシの推論を実現
  • OTA デプロイで数千台のデバイスにソフトウェアを一括配信・更新可能

注意点

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

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