AWS IoT Greengrass の働き - AWS IoT Greengrass

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS IoT Greengrass の働き

AWS IoT Greengrass クライアントソフトウェアはAWS IoT Greengrass Core ソフトウェアとも呼ばれ、ARM または x86 アーキテクチャを持つデバイス向けの、Windows および Linux ベースのディストリビューション (Ubuntu や Raspberry Pi OS など) で動作します。AWS IoT Greengrass を使用すると、デバイスが生成するデータに対してローカルに動作するようプログラミングを行い、機械学習モデルに基づく予測を実行し、デバイスデータのフィルタリングおよび集計を行うことができます。AWS IoT Greengrass は AWS Lambda 関数、Docker コンテナ、ネイティブ OS プロセス、または任意のカスタムランタイムのローカル実行を可能にします。

AWS IoT Greengrass には、エッジデバイスの機能を簡単に拡張できる、事前に構築されたソフトウェアモジュール (コンポーネントと呼ばれます) が用意されています。AWS IoT Greengrass コンポーネントを使用すると、エッジでAWS サービスおよびサードパーティ製アプリケーションに接続できます。IoT アプリケーションの開発後、AWS IoT Greengrass は現場のデバイスフリートにおいてこれらのアプリケーションをリモートでデプロイ、設定、および管理することを可能にします。

以下の例は、AWS IoT Greengrass デバイスが AWS IoT Greengrass のクラウドサービスおよび AWS クラウド のその他の AWS サービスとどのように連携するかを示しています。

AWS IoT Greengrass デバイスと、AWS IoT Greengrass クラウドサービスおよび AWS クラウド のその他の AWS サービスとの連携についての概要。

AWS IoT Greengrass の主要なコンセプト

AWS IoT Greengrass を理解して使用する上で不可欠な概念を以下に示します:

AWS IoT モノ

AWS IoT モノは、特定のデバイスまたは論理エンティティを表します。モノに関する情報は AWS IoTレジストリに保存されます。

Greengrass コアデバイス

AWS IoT Greengrass Core ソフトウェアを実行するデバイス。Greengrass コアデバイスは AWS IoT モノです。複数のCore デバイスを AWS IoT モノグループに追加して、Greengrass コアデバイスのグループを作成および管理できます。詳細については、「AWS IoT Greengrass コアデバイスのセットアップ」を参照してください。

Greengrass クライアントデバイス

MQTT を介して Greengrass コアデバイスに接続して通信するデバイス。Greengrass クライアントデバイスは AWS IoT モノです。コアデバイスは、接続されたクライアントデバイスからのデータの処理、フィルタリング、および集計を行うことができます。クライアントデバイス、AWS IoT Core クラウドサービス、Greengrass コンポーネントの間で MQTT メッセージをリレーするように、コアデバイスを設定できます。詳細については、「ローカル IoT デバイスとやり取りする」を参照してください。

クライアントデバイスは FreeRTOS を実行、または AWS IoT Device SDK またはGreengrass 検出 API を使用して、接続可能なコアデバイスに関する情報を取得できます。

Greengrass コンポーネント

Greengrass コアデバイスにデプロイされ実行されるソフトウェアモジュールです。AWS IoT Greengrass で開発およびデプロイされるソフトウェアはすべてコンポーネントとしてモデル化されます。AWS IoT Greengrass は構築済みのパブリックコンポーネントを提供し、これによりアプリケーションで使用できる機能が提供されます。ローカルデバイスまたはクラウドで、独自のカスタムコンポーネントを開発することもできます。カスタムコンポーネント開発後は、AWS IoT Greengrass クラウドサービスを使用して、単一または複数のコアデバイスにコンポーネントをデプロイできます。カスタムコンポーネントを作成して、そのコンポーネントをコアデバイスにデプロイできます。これを行うとき、コアデバイスはコンポーネントを実行するために、以下のリソースをダウンロードします。

  • レシピ: コンポーネントの詳細、設定、およびパラメータを定義してソフトウェアモジュールを記述する JSON または YAML ファイル。

  • アーティファクト: デバイスで実行するソフトウェアを定義するソースコード、バイナリ、またはスクリプト。アーティファクトをゼロから作成することも、Lambda 関数、Docker コンテナ、またはカスタムランタイムを使用してコンポーネントを作成することもできます。

  • 依存関係: コンポーネント間の関係で、依存コンポーネントの自動更新または再起動を強制できるもの。たとえば、暗号化コンポーネントに依存させることにより、セキュアなメッセージ処理コンポーネントを得ることができます。これにより、暗号化コンポーネントが更新されると、メッセージ処理コンポーネントも自動的に更新され再起動されるようになります。

詳細については、「AWS が提供したコンポーネントAWS IoT Greengrass コンポーネントを開発する」を参照してください。

デプロイメント

コンポーネントを送信し、目的のコンポーネント設定を宛先ターゲットデバイスに適用するプロセス。ターゲットデバイスには、単一の Greengrass コアデバイスまたは Greengrass コアデバイスのグループを指定できます。デプロイでは、更新されたコンポーネント設定がターゲットに自動的に適用されます。依存関係が定義されているその他のコンポーネントもこの処理に含まれます。既存のデプロイをクローンして、同じコンポーネントを使用しつつ別のターゲットにデプロイされる新しいデプロイを作成することもできます。デプロイは連続的なものです。つまり、デプロイによるコンポーネントまたはコンポーネント設定に対する更新は、自動的にすべてのターゲットに送信されます。詳細については、「デバイスに AWS IoT Greengrass コンポーネントのデプロイ」を参照してください。

AWS IoT Greengrass Core ソフトウェア

コアデバイスにインストールするすべての AWS IoT Greengrass ソフトウェアのセットです。AWS IoT GreengrassCore ソフトウェアの設定は次のとおりです。

  • nucleus: このコンポーネントは必須であり、AWS IoT Greengrass Core ソフトウェアの最小限の機能を提供します。nucleus は他のコンポーネントのデプロイ、オーケストレーション、およびライフサイクル管理を管理します。また、個々のデバイスで AWS IoT Greengrass コンポーネント間のローカルなコミュニケーションを円滑化します。詳細については、「Greengrass nucleus」を参照してください。

  • オプションのコンポーネント: これらの設定可能なコンポーネントは AWS IoT Greengrass によって提供され、エッジデバイスの追加機能を有効にします。必要に応じて、データストリーミング、ローカル機械学習推論、ローカルコマンドラインインターフェイスなど、デバイスにデプロイするオプションコンポーネントを選択できます。詳細については、「AWS が提供したコンポーネント」を参照してください。

コンポーネントの新しいバージョンをデバイスにデプロイすることにより、AWS IoT Greengrass Core ソフトウェアをアップグレードできます。

AWS IoT Greengrass の機能

AWS IoT Greengrass Version 2 は以下の要素で設定されています。

  • ソフトウェアディストリビューション

  • クラウドサービス

    • AWS IoT Greengrass V2 API

    • AWS IoT Greengrass V2 コンソール

AWS IoT Greengrass Core ソフトウェア

エッジデバイスで実行可能な AWS IoT Greengrass Core ソフトウェアを使用して、以下を実行できます。

Greengrass コアデバイスの設定と管理は AWS IoT Greengrass API で行います。ここでは、継続的なソフトウェアのデプロイの作成を行います。詳細については、「デバイスに AWS IoT Greengrass コンポーネントのデプロイ」を参照してください。

一部の機能は、特定のプラットフォームのみでサポートされています。詳細については、「オペレーティングシステム別 Greengrass 機能の互換性」を参照してください。

サポートされるプラットフォーム、要件、およびダウンロードの詳細については、「AWS IoT Greengrass コアデバイスのセットアップ」を参照してください。

このソフトウェアをダウンロードすると、Greengrass Core ソフトウェアのライセンス契約に同意したものと見なされます。