AWS IoT Greengrass では、AWS Lambda がサポートされています。 AWS IoT Greengrass を使用すると、AWS Lambda 関数をデバイス上で実行して、ローカルイベントにすばやく応答し、ローカルリソースと対話し、データを処理して、データをクラウドに送信するコストを最小限に抑えることができます。
AWS IoT Greengrass デバイスで Docker コンテナをデプロイ、実行、管理できます。Docker イメージは、Amazon Elastic Container Registry (Amazon ECR)、Docker Hub、プライベートな Docker Trusted Registries (DTR) などの Docker コンテナーレジストリに保存できます。
AWS IoT Greengrass には、AWS IoT の Device Shadow 機能も含まれています。Device Shadow では、仮想バージョンのようなデバイスの状態、つまり各デバイスの "シャドウ" がキャッシュされます。シャドウでは、デバイスの理想的な状態と比較した現在の状態が追跡され、接続が利用可能になったときにその状態がクラウドに同期されます。
AWS IoT Greengrass では、AWS IoT Greengrass SDK を使用して AWS IoT Device Core とデバイスの間のメッセージングをローカルネットワーク上で実行できます。これにより、AWS への接続がない場合でも簡単に通信を行うことができます。AWS IoT Greengrass を使用すると、ユーザーが定義したビジネスルールに基づいて、メッセージがデバイスで処理され、別のデバイスまたはクラウドに配信されます。
AWS IoT Greengrass Core にデプロイされている AWS Lambda 関数により、デバイスにアタッチされているローカルリソースにアクセスできます。これにより、シリアルポート、周辺機器 (アドオンセキュリティデバイス、センサー、アクチュエーターなど)、オンボード GPU、ローカルファイルシステムを使用して、ローカルデータに簡単にアクセスして処理できるようになります。
AWS IoT Greengrass lを使用すると、実稼働状態のデバイスへのデプロイにクラウドを使用する前に、テスト用デバイス上のコードのデバッグを、すばやく実施することが可能となります。AWS IoT Greengrass コマンドラインインターフェイス (CLI) を使用して、デバイス上のアプリケーションをローカルで開発およびデバッグできます。ローカルデバッグコンソールを使用して、アプリケーションを視覚的にデバッグすることができます。
AWS IoT Greengrass ML 推論は AWS IoT Greengrass の機能で、クラウド内に構築されトレーニングされたモデルを使用して、AWS IoT Greengrass デバイスのローカルで機械学習推論を簡単に実行できます。つまり、アプリケーションで機械学習推論を使用する場合、データ転送コストとレイテンシーの増加が発生することはありません。ML 推論機能の詳細については、こちらをクリックしてください。
AWS IoT Greengrass を使用して、IoT デバイスからデータストリームを収集、処理、エクスポートし、デバイスでそのデータのライフサイクルを管理して開発時間を最小限に抑えることができます。AWS IoT Greengrass は、データストリームを処理し、ローカルデータ保存ポリシーを管理し、デバイスデータを Amazon Simple Storage Service (Amazon S3)、Amazon Kinesis、AWS IoT Core や AWS IoT Analytics などの AWS クラウドサービスに送信する標準メカニズムを備えています。
AWS IoT Greengrass は、一般的なユースケースに向けて事前に構築されたコンポーネントを提供するため、さまざまなデバイスのプロトコルを理解したり、認証情報を管理したり、外部の API とやり取りしたりしなくても、エッジでアプリケーションとサービスを検出、インポート、設定、デプロイできます。また、独自のコンポーネントを作成したり、共通のビジネスロジックをある AWS IoT Greengrass デバイスから別のデバイスに簡単に再利用したりできます。
AWS IoT Greengrass はモジュール式です。IoT のユースケースや、デバイスの CPU とメモリのリソースに応じて、事前に構築された各ソフトウェアコンポーネントの追加や削除が可能です。例えば、アプリケーションがデータストリームを処理する必要がある場合のみ、ストリームマネージャなどの、事前構築済みの AWS IoT Greengrass コンポーネントをインクルードして使用することができます。あるいは、デバイス上でローカルに機械学習による推論を実行したい場合にだけ、機械学習用のコンポーネントを追加します。利用可能な AWS IoT Greengrass コンポーネントについては、AWS のドキュメントを参照してください。
AWS IoT Greengrass を使用すれば、数百万台のデバイスにデバイスソフトウェアをリモートで簡単にデプロイして管理することができます。デバイスをグループに編成し、デバイスのソフトウェアと構成をデバイスのサブセットまたはすべてのデバイスに一度にデプロイおよび管理できます。AWS IoT モノのグループを使用すれば、複数の AWS IoT Greengrass デバイスをグループ化し、デプロイ履歴を表示して、デプロイを開始または停止できます。
AWS IoT Greengrass では、AWS IoT Greengrass デバイスで AWS IoT Greengrass Core ソフトウェアを更新する機能が提供されています。AWS IoT Greengrass コンソール、API、コマンドラインインターフェイスを使用して、デバイスで実行されている AWS IoT Greengrass Core またはコンポーネントのバージョンを更新し、セキュリティ更新、バグ修正、新しい AWS IoT Greengrass の機能をデプロイできます。
AWS は、AWS IoT Greengrass を自社のソフトウェア製品やハードウェア製品に統合している業界トップの IoT シリコンベンダー、デバイス製造元、ゲートウェイパートナーについて絶えず幅広い活用方法をお客様に提供してきました。これらのパートナーは、アイディア化からプロトタイプ、デプロイまでの迅速な移行を支援しています。AWS IoT Greengrass 対応のデバイスの詳細については、「AWS Partner Device Catalog」を参照してください。
AWS IoT Greengrass Secrets Manager では、シークレット (認証情報、キー、エンドポイント、設定) をエッジで安全に保存、利用、更新、管理できます。AWS IoT Greengrass のコンポーネント統合を使用すると、AWS IoT Greengrass コンポーネントにアプリケーションまたはサービスとの認証を行うためのシークレットが必要な場合、コンポーネント構成の一部としてシークレットを選択し、AWS IoT Greengrass Core にデプロイできます。たとえば、AWS IoT Greengrass Secrets Manager を使用して、プライベート Docker コンテナレジストリの認証情報を設定できます。
AWS IoT Greengrass には、デバイスのプライベートキーをハードウェアのセキュアエレメントに保存するオプションが用意されています。AWS IoT Greengrass Secrets Manager を使用してデバイスの機密情報をエッジで保存し、プライベートキーを使用してシークレットを暗号化し、信頼の基点セキュリティを実現できます。対象のハードウェアパートナーのリストについては、「AWS Partner Device Catalog」を参照してください。
AWS IoT Device Tester for AWS IoT Greengrass は、デバイスが AWS IoT Greengrass を実行するためのソフトウェアおよびハードウェアの要件を満たしているかどうかの検証に役立つテスト自動化ツールです。設定や依存性チェック、エンドツーエンドのテストをサポートし、デバイスが機械学習推論などの特定の AWS IoT Greengrass 機能をサポートできるかどうかを検証します。さらに、ハードウェアパートナーは、Device Tester から署名入りの認定レポートをダウンロードし、これらのレポートを AWS Partner Central に送信することで、AWS Partner Device Catalog にデバイスを認定して掲載することができます。
詳細および開始方法については、Device Tester 技術ドキュメントをご覧ください。