の AWS IoT Greengrass 仕組み - AWS IoT Greengrass

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

の AWS IoT Greengrass 仕組み

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

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 のものです。 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 コアソフトウェア

バージョン 2.14 以降、 は nucleus と呼ばれる実行可能ファイルであるデバイスランタイムの 2 つの代替実装 AWS IoT Greengrass を提供します。最初の (以前は唯一の) nucleus は Java で実装されています。これにより、アーキテクチャおよびオペレーティングシステム間での移植性が最大限に高まります。ただし、Java 仮想マシンに依存しているため、メモリフットプリントも大きくなります。

新しく追加された 2 番目の nucleus は C 言語で実装されています。これにより、フットプリントが大幅に削減されます。ただし、ターゲットアーキテクチャやオペレーティングシステムごとにディストリビューション (またはソースからのコンパイル) が必要です。この 2 つを区別する必要がある場合は、最初の実装を Greengrass nucleus と呼び、後者を Greengrass nucleus lite と呼びます。

  • オプションコンポーネント: これらの設定可能なコンポーネントは によって提供され 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 コアソフトウェア

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

Greengrass コアデバイスは、継続的なソフトウェアデプロイを作成する AWS IoT Greengrass APIs を使用して設定および管理します。詳細については、「AWS IoT Greengrass コンポーネントをデバイスにデプロイする」を参照してください。

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

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

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