2017年に発表されたAWS Greengrassは、IoTシステムのセットアップと管理のタスクを容易にすることを目的としている。バージョン2.0では、コマンドラインインターフェイスの刷新や、ビルド済みコンポーネントの追加と削除のサポートなど、新しい開発者機能が追加されている。さらに、Edge ランタイムはオープンソースになり、GitHubで利用できるようになった。
AWS Greengrassには、IoT Edge ランタイムとクラウドサービスの2つの主要部分がある。これらは一緒になって、IoTデバイスフリートにローカルコンピューティング、メッセージング、およびデータ管理機能を提供することを目指している。たとえば、Greengrassを使用して、IoTデバイスで ML 推論を有効にする、デバイス間でメッセージを送信する、Docker コンテナのデプロイ、実行、管理などの Lambda 関数をローカルで実行できる。
IoT Edge ランタイムをオープンソース化するAmazonは、開発者がアプリケーションを統合して問題のトラブルシューティングを簡単に行えるようにすることを目指している。ただし、Amazonがオープンでさらなる開発を推進する予定なのか、それとも開発者向けのリファレンスとしてリポジトリを用意するだけなのかは明らかではない。
Greengrass 2.0では、使用するビルド済みコンポーネントを選択できるため、IoTデバイスのメモリとCPU使用率を最適化できる。このようなコンポーネントにより、開発者は他のAWSサービスやサードパーティアプリケーションに簡単に接続できる。たとえば、ストリームマネージャまたはMLコンポーネントは、それらの機能が必要な場合のみ含めることができる。
IoTアプリケーションを開発した後、AWS IoT Greengrassを使用すると、フィールド内のデバイスフリートにそれらのアプリケーションをリモートでデプロイ、構成、および管理できます。
Greengrass 2.0は、AWS IoTモノグループとも統合されており、静的または動的なグループ化に基づいて、複数のIoTデバイスでタスクを一度に実行できる。静的グループは階層的であり、継承可能なポリシーを指定できる。動的グループは、バッテリー寿命が例えば80%を超える場合にのみ、デバイスのファームウェアのアップグレードなどのタスクを有効にする。
Greengrass 2.0に含まれている新しいコマンドラインインターフェイスを使用すると、デバイス上でアプリケーションをローカルで開発およびデバッグしたり、ローカルデバッグコンソールを使用したりできる。Amazonによると、これらの新機能を使用すると、クラウドを使用して残りのフリートにデプロイする前に、テストデバイスでアプリを開発およびデバッグできる。
re:Invent 2020でのIoT関連の発表はIoT Greengrass 2.0だけではなかった。Amazonが発表したその他の関連製品は、AWS IoT Core for LoRaWANであり、デバイスに適した低電力、1マイルから10マイルまでのデータの送信で長距離の広域ネットワーキングをサポートによりIoT Coreを拡張する。AWS Fleet Managerは、SSHやRDPに頼ることなく、IoTデバイスフリートの管理を可能にする運用ハブだ。Amazonは、マイクロコントローラオペレーティングシステムのAWS FreeRTOSの長期サポートも発表した。これはここからダウンロードできる。