翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 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 Core ソフトウェア
-
バージョン 2.14 の時点で、 は nucleus と呼ばれる実行可能ファイルである、デバイスランタイムの 2 つの代替実装 AWS IoT Greengrass を提供します。最初の nucleus は Java に実装されています。この選択により、アーキテクチャとオペレーティングシステム間で最大の移植性が提供されます。ただし、Java 仮想マシンへの依存も伴うため、メモリフットプリントが大きくなります。
2 番目に新しく追加された nucleus は C に実装されています。この選択により、フットプリントが大幅に削減されます。ただし、ターゲットアーキテクチャやオペレーティングシステムごとに個別にディストリビューション (またはソースからのコンパイル) が必要です。この 2 つを区別する必要がある場合は、最初の実装を nucleus classic、後者を nucleus lite と呼びます。
-
オプションコンポーネント: これらの設定可能なコンポーネントは によって提供され AWS IoT Greengrass 、エッジデバイスで追加機能を有効にします。必要に応じて、データストリーミング、ローカル機械学習推論、ローカルコマンドラインインターフェイスなど、デバイスにデプロイするオプションコンポーネントを選択できます。詳細については、「AWSが提供したコンポーネント」を参照してください。
AWS IoT Greengrass Core ソフトウェアをアップグレードするには、新しいバージョンのコンポーネントをデバイスにデプロイします。
-
の機能 AWS IoT Greengrass
AWS IoT Greengrass Version 2 は、次の要素で構成されます。
-
ソフトウェアディストリビューション
-
Greengrass nucleus コンポーネント。 AWS IoT Greengrass これは Core ソフトウェアの最小インストールです。このコンポーネントは、Greengrass コンポーネントのデプロイ、オーケストレーション、ライフサイクル管理を管理します。
-
サービス、プロトコル、およびソフトウェアと統合するために、追加オプションとして AWSが提供するコンポーネントです。
-
カスタム Greengrass コンポーネントの作成、テスト、構築、パブリッシュ、デプロイに使用する、Greengrass 開発ツールです。
-
には AWS IoT Device SDK、カスタム Greengrass コンポーネント用のプロセス間通信 (IPC) ライブラリと、クライアントデバイス用の Greengrass 検出ライブラリが含まれています。
-
コアデバイスでデータストリームの管理に使用する、ストリームマネージャー SDK です。
-
-
クラウドサービス
-
AWS IoT Greengrass V2 API
-
AWS IoT Greengrass V2 コンソール
-
AWS IoT Greengrass Core ソフトウェア
エッジデバイスで実行される AWS IoT Greengrass Core ソフトウェアを使用して、以下を実行できます。
-
AWS クラウドへの自動エクスポートにより、データストリームをローカルデバイスで処理します。詳細については、「Greengrass コアデバイスでのデータストリームの管理」を参照してください。
-
AWS IoT と コンポーネント間の MQTT メッセージングをサポートします。詳細については、「AWS IoT Core MQTT メッセージの発行/サブスクライブ」を参照してください。
-
MQTT 経由で接続および通信を行うローカルデバイスとやり取りします。詳細については、「ローカル IoT デバイスとやり取りする」を参照してください。
-
コンポーネント間のローカルパブリッシュおよびサブスクライブメッセージをサポートします。詳細については、「ローカルメッセージをパブリッシュ/サブスクライブする」を参照してください。
-
コンポーネントと Lambda 関数をデプロイして呼び出します。詳細については、「AWS IoT Greengrass コンポーネントをデバイスにデプロイする」を参照してください。
-
インストールスクリプトや実行スクリプトのサポートなどにより、コンポーネントのライフサイクルを管理します。詳細については、「AWS IoT Greengrass コンポーネントレシピリファレンス」を参照してください。
-
AWS IoT Greengrass Core ソフトウェアとカスタムコンポーネントの安全なover-the-air (OTA) ソフトウェア更新を実行します。詳細については、AWS IoT Greengrass Core ソフトウェア (OTA) を更新するおよびAWS IoT Greengrass コンポーネントをデバイスにデプロイするを参照してください。
-
ローカルシークレットの安全な暗号化されたストレージおよびコンポーネントによる制御されたアクセスを提供します。詳細については、「シークレットマネージャー」を参照してください。
-
デバイスの認証と認可による、デバイスと AWS クラウド間の安全な接続。詳細については、「AWS IoT Greengrassのデバイス認証と認可」を参照してください。
Greengrass コアデバイスは、継続的なソフトウェアデプロイを作成する AWS IoT Greengrass APIs を使用して設定および管理します。詳細については、「AWS IoT Greengrass コンポーネントをデバイスにデプロイする」を参照してください。
一部の機能は、特定のプラットフォームのみでサポートされています。詳細については、「Greengrass 機能の互換性」を参照してください。
サポートされるプラットフォーム、要件、およびダウンロードの詳細については、「AWS IoT Greengrass コアデバイスのセットアップ」を参照してください。
このソフトウェアをダウンロードすると、Greengrass Core ソフトウェアのライセンス契約