AWS IoT Greengrass とは - AWS IoT Greengrass

のドキュメントを表示していますAWS IoT Greengrass Version 1。AWS IoT Greengrass Version 2の最新のメジャーバージョンです。AWS IoT Greengrass。の使用方法の詳細については、「」を参照してください。AWS IoT Greengrass V2の詳細については、AWS IoT Greengrass Version 2開発者ガイド

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

AWS IoT Greengrass とは

AWS IoT Greengrass は、クラウドの機能をローカルデバイスに拡張するソフトウェアです。これにより、デバイスは情報源に近いデータを収集および分析して、ローカルイベントに自律的に反応し、ローカルネットワークで互いに安全に通信することができます。ローカルデバイスも AWS IoT Core にエクスポートし、IoT データを AWS クラウド 。AWS IoT Greengrass開発者はAWS Lambda関数と事前ビルドコネクタを使用して、ローカルで実行するためにデバイスにデプロイされるサーバーレスアプリケーションを作成します。

AWS IoT Greengrass の基本的なアーキテクチャを次の図に示します。

AWS IoT Greengrass により、お客様は IoT デバイスとアプリケーションロジックを構築できるようになります。具体的には、AWS IoT Greengrass により、デバイス上で動作するアプリケーションロジックのクラウドベースの管理が可能になります。ローカルにデプロイした Lambda 関数とコネクタは、ローカルイベント、クラウドからのメッセージ、またはその他のソースによってトリガーされます。

AWS IoT Greengrass では、デバイスはローカルネットワーク上で安全に通信し、クラウドに接続することなくメッセージを交換します。AWS IoT Greengrass は、クラウドへのインバウンドおよびアウトバウンドメッセージが保存されるように、接続が失われた場合にインテリジェントにメッセージをバッファできる、ローカル pub/sub メッセージマネージャーを提供します。

AWS IoT Greengrass でのユーザーデータの保護方法は以下のとおりです。

  • デバイスの安全な認証と認可を介して保護。

  • ローカルネットワークの安全な接続を介して保護。

  • ローカルデバイスとクラウドの間で保護。

デバイスのセキュリティ認証情報は、クラウドへの接続が中断された場合でも、失効するまでグループで機能するため、デバイスはローカルで安全に通信を続けることができます。

AWS IoT GreengrassLambda 関数の安全な無線による更新プログラムを提供します。

AWS IoT Greengrass は以下の要素によって構成される

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

    • AWS IoT Greengrass Core ソフトウェア

    • AWS IoT Greengrass Core SDK

  • クラウドサービス

    • AWS IoT Greengrass API

  • 機能

    • Lambda ランタイム

    • シャドウの実装

    • メッセージマネージャー

    • グループ管理

    • 検出サービス

    • 無線通信経由更新エージェント

    • ストリームマネージャー

    • ローカルリソースアクセス

    • ローカル機械学習推論

    • ローカルシークレットマネージャー

    • サービス、プロトコル、およびソフトウェアとの組み込み統合を備えたコネクタ

AWS IoT Greengrass Core ソフトウェア

AWS IoT Greengrass Core ソフトウェアには、以下の機能が用意されています。

  • デプロイメントと、コネクタと Lambda 関数のローカル実行

  • データストリームをローカルで処理し、 AWS クラウド 。

  • マネージドサブスクリプションを使用したデバイス、コネクタ、および Lambda 関数間のローカルネットワークを介した MQTT メッセージング。

  • MQTT メッセージングAWS IoTマネージドサブスクリプションを使用した、およびデバイス、コネクタ、および Lambda 関数をサポートしました。

  • デバイスとデバイス間の安全な接続 AWS クラウド デバイスの認証と許可を使用する。

  • デバイスのローカルシャドウ同期。シャドウは、 AWS クラウド 。

  • ローカルデバイスとボリュームリソースへの制御されたアクセス。

  • ローカル推論を実行するためにクラウドでトレーニングされた機械学習モデルのデプロイ。

  • デバイスで Greengrass コアデバイスを検出するための IP アドレス自動検出。

  • 新規作成または更新されたグループ設定の一元的デプロイ。設定データをダウンロードすると、コアデバイスが自動的に再起動されます。

  • ユーザー定義の Lambda 関数の安全な無線通信経営 (OTA) のソフトウェア更新。

  • コネクタと Lambda 関数で制御される、ローカルシークレットの安全な暗号化されたストレージ。

AWS IoT GreengrassコアインスタンスはAWS IoT Greengrass作成および更新する APIAWS IoT Greengrassグループ定義はクラウド上に保存されています。

AWS IoT Greengrass Core ソフトウェアのバージョン

AWS IoT Greengrass では、tar.gz ダウンロードファイル、クイックスタートスクリプト、および apt をサポートされている Debian プラットフォームにインストールするなど、AWS IoT Greengrass Core ソフトウェアをインストールするためのいくつかのオプションを利用できます。詳細については、「AWS IoT Greengrass Core ソフトウェアをインストールします。」を参照してください。

次のタブでは、AWS IoT Greengrass Core ソフトウェアのバージョンの最新情報と変更について説明しています。

GGC v1.11
1.11.3

バグ修正と機能向上:

  • 発生させている問題を修正しました。AWS IoT GreengrassUbuntu デバイス上で瞬時に実行されるコアソフトウェアが、デバイスへの突然の停電後に応答を停止します。

  • 長寿命の Lambda 関数への MQTT メッセージの配信が遅れる問題を修正しました。

  • MQTT メッセージが正しく送信されない問題を修正しました。maxWorkItemCount値がより大きい値に設定されました。1024

  • OTA アップデートエージェントが MQTT を無視する問題を修正しました。KeepAliveで指定されている期間keepAliveのプロパティconfig.json

  • 一般的なパフォーマンス向上とバグ修正。

注記

ストリームマネージャーを使用してデータをクラウドにエクスポートする場合、AWS IoT Greengrass以前のバージョンのv1.xのコア・ソフトウェアv1.11.3です。OTA の更新を試行すると、ストリームマネージャーが起動せず、更新が失敗します。インストールしている場合AWS IoT Greengrass初めてコアソフトウェアを使用する場合は、最新バージョンのソフトウェアを展開することを強くお勧めします。

1.11.1

バグ修正と機能向上:

  • ストリームマネージャーのメモリ使用量が増える問題を修正しました。

  • ストリームマネージャーがストリームのシーケンス番号を0は、ストリームデータの指定された存続可能時間(TTL)期間よりも長い間、Greengrass コアデバイスをオフにした場合に発生します。

  • ストリームマネージャがデータをエクスポートする再試行を正しく停止できなかった問題を修正しました。 AWS クラウド 。

1.11.0

新機能:

  • Greengrass コアのテレメトリエージェントは、ローカルテレメトリデータを収集し、 AWS クラウド 。さらに処理するためにテレメトリデータを取得するために、お客様は Amazon EventBridge ルールを作成し、ターゲットをサブスクライブできます。詳細については、「」を参照してください。からのシステム正常性テレメトリデータの収集AWS IoT Greengrassコア・デバイス

  • ローカルHTTP APIは、によって開始されたローカルワーカープロセスの現在の状態のスナップショットを返します。AWS IoT Greengrass。詳細については、「」を参照してください。ローカルヘルスチェック API の呼び出し

  • Aストリームマネージャーデータを Amazon S3 に自動的にエクスポートし、AWS IoT SiteWise。

    新規ストリームマネージャーのパラメータを使用すると、既存のストリームを更新し、データのエクスポートを一時停止または再開できます。

  • コア上で Python 3.8.x Lambda 関数を実行するためのSupport。

  • 新しいggDaemonPortのプロパティconfig.jsonは、Greengrass コア IPC ポート番号の設定に使用します。デフォルトのポート番号は 8000 です。

    新しいsystemComponentAuthTimeoutのプロパティconfig.jsonを使用して、Greengrass コア IPC 認証のタイムアウトを設定します。デフォルトのタイムアウトは 5000 ミリ秒です。

  • の最大の数を増加させました。AWS IoTデバイス数AWS IoT Greengrass200から2500までのグループ。

    グループあたりのサブスクリプションの最大数が 1000 から 10000 に増加しました。

    詳細については、「AWS IoT Greengrass エンドポイントとクォータ」を参照してください。

バグ修正と機能向上:

  • Greengrass サービスプロセスのメモリ使用量を減らすことができる一般的な最適化。

  • 新しいランタイム設定パラメータ (mountAllBlockDevices)は、OverlayFSを設定した後、Greengrassがバインドマウントを使用してすべてのブロックデバイスをコンテナにマウントできるようにします。この機能により、Greengrass のデプロイメントが失敗する原因となった問題が解決されました。/usrの下に/階層。

  • 発生していた問題を修正しました。AWS IoT Greengrassコアエラー/tmpシンボリックリンクです。

  • Greengrass デプロイメントエージェントが、未使用の機械学習モデルのアーティファクトをmlmodel_publicfolder

  • 一般的なパフォーマンス向上とバグ修正。

GGC v1.10
1.10.4

バグ修正と機能向上:

  • 発生していた問題を修正しました。AWS IoT GreengrassUbuntu デバイス上で瞬時に実行されるコアソフトウェアが、デバイスへの突然の停電後に応答を停止します。

  • 長寿命の Lambda 関数への MQTT メッセージの配信が遅れる問題を修正しました。

  • MQTT メッセージが正しく送信されない問題を修正しました。maxWorkItemCount値がより大きい値に設定されました。1024

  • OTA アップデートエージェントが MQTT を無視する問題を修正しました。KeepAliveで指定されている期間keepAliveのプロパティconfig.json

  • 一般的なパフォーマンス向上とバグ修正。

1.10.3

バグ修正と機能向上:

  • 新しいsystemComponentAuthTimeoutのプロパティconfig.jsonを使用して、Greengrass コア IPC 認証のタイムアウトを設定します。デフォルトのタイムアウトは 5000 ミリ秒です。

  • ストリームマネージャーのメモリ使用量が増える問題を修正しました。

1.10.2

バグ修正と機能向上:

  • 新しいmqttOperationTimeoutのプロパティconfig.jsonMQTT 接続の発行、サブスクリプション、およびサブスクリプション解除オペレーションのタイムアウトを設定するために使用する AWS IoT Core 。

  • 一般的なパフォーマンス向上とバグ修正。

1.10.1

バグ修正と機能向上:

  • ストリームマネージャーはファイルデータの破損に対する回復性が高くなっています。

  • Linux カーネル 5.1 以降を使用しているデバイスで sysfs マウントエラーが発生する問題を修正しました。

  • 一般的なパフォーマンス向上とバグ修正。

1.10.0

新機能:

  • データストリームをローカルで処理し、データストリームを AWS クラウド を自動的に実行します。この機能を使用するには、Greengrass Core デバイスで Java 8 が使用できる必要があります。詳細については、「AWS IoT Greengrass コアでのデータストリームの管理」を参照してください。

  • コアデバイスで Docker アプリケーションを実行する、新しい Greengrass Docker アプリケーションのデプロイコネクタ。詳細については、「Docker アプリケーションのデプロイコネクタ」を参照してください。

  • AWS IoT SiteWise で産業用デバイスデータを OPC-UA サーバーからのアセットプロパティに送信する、新しい IoT SiteWise コネクタ。詳細については、「IoT SiteWise コネクタ」を参照してください。

  • コンテナ化を使用せずに実行する Lambda 関数は、Greengrass グループの機械学習リソースにアクセスできます。詳細については、「Lambda 関数から機械学習リソースにアクセスする」を参照してください。

  • AWS IoT での MQTT 永続的セッションのサポート。詳細については、「 AWS IoT Core を使用した MQTT 永続セッション」を参照してください。

  • ローカルの MQTT トラフィックは、デフォルトのポート 8883 以外のポートを使用できます。詳細については、「ローカルメッセージング用の MQTT ポートの設定」を参照してください。

  • 新規queueFullPolicyオプションのAWS IoT GreengrassCore SDKLambda 関数から信頼性の高いメッセージを発行できます。

  • コア上で Node.js 12.x Lambda 関数を実行するためのSupport。

  • ハードウェアセキュリティ統合による無線通信 (OTA) アップデートは、OpenSSL 1.1 で設定できます。

  • 一般的なパフォーマンス向上とバグ修正。

Deprecated versions
1.9.4

バグ修正と機能向上:

  • 一般的なパフォーマンス向上とバグ修正。

1.9.3

新機能:

  • Armv6l のサポート。AWS IoT GreengrassCore ソフトウェア v1.9.3 以降は、Armv6l アーキテクチャの Raspbian ディストリビューション (たとえば、Raspberry Pi Zero デバイス) にインストールできます。

  • ALPN を使用したポート 443 での OTA 更新。MQTT トラフィックにポート 443 を使用する Greengrass コアは、無線 (OTA) ソフトウェア更新をサポートするようになりました。AWS IoT Greengrass は Application Layer Protocol Network (ALPN) TLS 拡張を使用してこれらの接続を有効にします。詳細については、「AWS IoT Greengrass Core ソフトウェアの OTA 更新」および「ポート 443 での接続またはネットワークプロキシを通じた接続」を参照してください。

バグ修正と機能向上:

  • Python 2.7 Lambda 関数がバイナリペイロードを他の Lambda 関数に送信できない、v1.9.0 で発生したバグを修正。

  • 一般的なパフォーマンス向上とバグ修正。

1.9.2

新機能:

  • サポート対象OpenWrt。AWS IoT GreengrassCore ソフトウェア v1.9.2 以降は、Armv8 (AArch64) および Armv7l アーキテクチャの OpenWrt ディストリビューションにインストールできます。現在、OpenWrt は ML 推論をサポートしていません。

1.9.1

バグ修正と機能向上:

  • トピックにワイルドカード文字が含まれている cloud からのメッセージが削除される、v1.9.0 で発生したバグを修正しました。

1.9.0

新機能:

  • Python 3.7 および Node.js 8.10 Lambda ランタイムSupport しました。Python 3.7 および Node.js 8.10 ランタイムを使用する Lambda 関数は、AWS IoT Greengrassコア。 (AWS IoT GreengrassPython 2.7 および Node.js 6.10 ランタイムをサポートし続けています。

  • 最適化された MQTT 接続。Greengrass コアは、 AWS IoT Core との間で確立する接続の数を削減します。この変更により、接続の数に基づく料金の運用コストを削減できます。

  • ローカル MQTT サーバー用楕円曲線 (EC) キー。ローカル MQTT サーバーは、RSA キーに加えて EC キーをサポートします。(MQTT サーバー証明書には、キータイプに関係なく、SHA-256 RSA 署名があります。) 詳細については、「AWS IoT Greengrass Core セキュリティプリンシパル」を参照してください。

バグ修正と機能向上:

  • 一般的なパフォーマンス向上とバグ修正。

1.8.4

シャドウ同期とデバイス証明書マネージャーの再接続の問題を修正しました。

一般的なパフォーマンス向上とバグ修正。

1.8.3

一般的なパフォーマンス向上とバグ修正。

1.8.2

一般的なパフォーマンス向上とバグ修正。

1.8.1

一般的なパフォーマンス向上とバグ修正。

1.8.0

新機能:

  • グループ内の Lambda 関数の設定可能なデフォルトアクセス ID。このグループレベルの設定により、Lambda 関数の実行で使用されるデフォルトのアクセス許可が決まります。ユーザー ID、グループ ID、またはその両方を設定できます。個々の Lambda 関数は、そのグループのデフォルトのアクセス ID を上書きできます。詳細については、「グループ内の Lambda 関数のデフォルトアクセス ID の設定」を参照してください。

  • ポート 443 経由の HTTPS トラフィック。HTTPS コミュニケーションは、デフォルトのポート 8443 ではなくポート 443 を経由するように設定できます。これは補完するAWS IoT GreengrassApplication Layer Protocol Network (ALPN) TLS 拡張をサポートし、Greengrass メッセージングトラフィック (MQTT と HTTPS の両方) でポート 443 を使用できます。詳細については、「ポート 443 での接続またはネットワークプロキシを通じた接続」を参照してください。

  • AWS IoT 接続用の予測される名前のクライアント ID。この変更により、AWS IoT Device Defender および AWS IoT ライフサイクルイベントのサポートが有効になり、そのため接続、切断、購読、および購読解除のイベントに関する通知を受け取ることができます。予測可能な命名により、接続 ID を中心としたロジックの作成も容易になります (たとえば、証明書の属性に基づいてサブスクライブポリシーテンプレートを作成します。詳細については、「AWS IoT を使用した MQTT 接続用クライアント ID」を参照してください。

バグ修正と機能向上:

  • シャドウ同期とデバイス証明書マネージャーの再接続の問題を修正しました。

  • 一般的なパフォーマンス向上とバグ修正。

1.7.1

新機能:

  • Greengrass コネクタにより、ローカルインフラストラクチャ、デバイスプロトコル、AWS、およびその他のクラウドサービスを使用します。詳細については、「Greengrass コネクタを使用したサービスおよびプロトコルとの統合」を参照してください。

  • AWS IoT Greengrass拡張AWS Secrets Managerコアデバイスに。これにより、パスワード、トークン、その他のシークレットをコネクタと Lambda 関数で利用可能。シークレットは転送中および保管時に暗号化されます。詳細については、「AWS IoT Greengrass Core にシークレットをデプロイする」を参照してください。

  • 信頼セキュリティオプションのハードウェアルートのサポート。詳細については、「ハードウェアセキュリティ統合」を参照してください。

  • 分離およびアクセス許可の設定で、Lambda 関数が Greengrass コンテナなしで実行され、指定されたユーザーとグループのアクセス許可を使用するように指定可能。詳細については、「Greengrass Lambda 関数のグループ固有の設定による実行の制御」を参照してください。

  • コンテナ化を使用しないで実行するように Greengrass グループを設定することにより、(Windows、macOS、または Linux 上で) Docker コンテナで AWS IoT Greengrass を実行できます。詳細については、「Docker コンテナでの AWS IoT Greengrass の実行」を参照してください。

  • Application Layer Protocol Negotiation (ALPN) またはネットワークを介した接続によるポート 443 での MQTT メッセージング。詳細については、「ポート 443 での接続またはネットワークプロキシを通じた接続」を参照してください。

  • SageMaker Neo 深層学習ランタイム。SageMaker Neo 深層学習コンパイラーで最適化された機械学習モデルをサポートします。Neo 深層学習ランタイムの詳細については、「ML 推論用のランタイムとライブラリ」を参照してください。

  • Raspberry Pi Core デバイスで Raspbian Stretch (2018-06-27) をサポート。

バグ修正と機能向上:

  • 一般的なパフォーマンス向上とバグ修正。

さらに、このリリースでは以下の機能も使用できます。

  • AWS IoT Device Tester for AWS IoT Greengrass。これにより、CPU アーキテクチャ、カーネル設定、ドライバーが AWS IoT Greengrass で動作することを検証できます。詳細については、「を使用するAWS IoTDevice Tester forAWS IoT GreengrassV1」を参照してください。

  • -AWS IoT GreengrassCore ソフトウェア、AWS IoT GreengrassCore SDK、AWS IoT GreengrassMachine Learning SDK パッケージは、Amazon CloudFront を通じてダウンロードできます。詳細については、「AWS IoT Greengrass ダウンロード」を参照してください。

1.6.1

新機能:

  • Greengrass コアでバイナリコードを実行する Lambda 実行可能ファイル。新しいAWS IoT GreengrassC および C++ で Lambda 実行可能ファイルを記述するための C 用 Core SDK。詳細については、「Lambda 実行ファイル」を参照してください。

  • 再起動しても維持される、オプションのローカルストレージメッセージキャッシュ。処理のためにキュー状態にある MQTT メッセージのストレージ設定を構成できます。詳細については、「クラウドターゲットの MQTT メッセージキュー」を参照してください。

  • コアデバイスが切断された場合のための設定可能な再接続の最大再試行。詳細については、「mqttMaxConnectionRetryInterval」の AWS IoT Greengrass Core 設定ファイル プロパティを参照してください。

  • ホストの /proc ディレクトリへのローカルリソースアクセス。詳細については、「Lambda 関数とコネクタを使ってローカルリソースにアクセスする」を参照してください。

  • 設定可能な書き込みディレクトリ。AWS IoT Greengrass Core ソフトウェアは、読み取り専用および読み取り/書き込みの場所にデプロイできます。詳細については、「AWS IoT Greengrass の書き込みディレクトリの設定」を参照してください。

バグ修正と機能向上:

  • Greengrass コア内およびデバイスとコア間のメッセージ発行のパフォーマンスの改善。

  • ユーザー定義の Lambda 関数によって生成されたログを処理するために必要なコンピューティングリソースの数を減らしました。

1.5.0

新機能:

  • AWS IoT Greengrass Machine Learning (ML) Inference は一般公開されています。クラウドで構築されトレーニングされたモデルを使用して、AWS IoT Greengrass デバイスで ML Inference をローカルで実行できます。詳細については、「機械学習の推論を実行する」を参照してください。

  • Greengrass Lambda 関数は、JSON に加えてバイナリデータも入力ペイロードとしてサポートするようになりました。この機能を使用するには、アップグレードする必要があります。AWS IoT GreengrassCore SDK バージョン 1.1.0。この SDK は、AWS IoT GreengrassCore SDKダウンロードページ。

バグ修正と機能向上:

  • 総メモリ使用量の削減。

  • クラウドへのメッセージの送信パフォーマンスの向上。

  • ダウンロードエージェント、Device Certificate Manager、OTA 更新エージェントのパフォーマンスと安定性の向上。

  • 軽微なバグを修正.

1.3.0

新機能:

1.1.0

新機能:

  • DeployedAWS IoT Greengrassグループは、Lambda 関数、サブスクリプションおよび設定を削除することでリセットできます。詳細については、「デプロイのリセット」を参照してください。

  • Python 2.7 に加えて、Node.js 6.10 および Java 8 Lambda ランタイムSupport しました。

以前のバージョンのから移行するにはAWS IoT Greengrassコア:

  • 証明書を /greengrass/configuration/certs フォルダから /greengrass/certs にコピーします。

  • /greengrass/configuration/config.json/greengrass/config/config.json にコピーします。

  • /greengrass/greengrassd の代わりに /greengrass/ggc/core/greengrassd を実行します。

  • 新規コアにグループをデプロイします。

1.0.0

当初のバージョン

AWS IoT Greengrass グループ

Greengrass グループは、Greengrass コア、デバイス、サブスクリプションなどのコンポーネントと設定のコレクションです。グループは、操作の範囲を定義するために使用されます。たとえば、グループは建物の 1 つの階、1 台のトラック、または採掘現場全体を表します。次の図は、Greengrass グループを構成するために使用できるコンポーネントを示しています。

前の図の各オブジェクトについて説明します。

A: Greengrass グループ定義

グループの設定とコンポーネントに関する情報。

B: Greengrass グループ設定

具体的には次のとおりです。

C: Greengrass コア

Greengrass コアを表す AWS IoT モノ (デバイス)。詳細については、「AWS IoT Greengrass Core の設定」を参照してください。

D: Lambda 関数定義

Core でローカルに実行される Lambda 関数および関連する設定データのリスト。詳細については、「Lambda 関数をAWS IoT Greengrasscore」を参照してください。

E: サブスクリプションの定義

MQTT メッセージを使用して通信を可能にするサブスクリプションのリスト。サブスクリプションは以下を定義します。

  • メッセージの送信元とメッセージターゲット。デバイス、Lambda 関数、コネクタ、 AWS IoT Core 、ローカルシャドウサービス。

  • メッセージのフィルタリングに使用するトピックまたは件名。

詳細については、「MQTT メッセージングワークフローにおけるマネージドサブスクリプション」を参照してください。

F: コネクタ定義

コアでローカルに実行され、関連する設定データを含むコネクタのリスト。詳細については、「Greengrass コネクタを使用したサービスおよびプロトコルとの統合」を参照してください。

G: デバイスの定義

Greengrass グループのメンバーである AWS IoT モノ (デバイス) および関連する設定データのリスト。詳細については、「AWS IoT Greengrass のデバイス」を参照してください。

H: リソースの定義

Greengrass コアのローカルリソース、機械学習リソース、シークレットリソース、および関連する設定データのリスト。詳細については、「Lambda 関数とコネクタを使ってローカルリソースにアクセスする」、「機械学習の推論を実行する」、および「AWS IoT Greengrass Core にシークレットをデプロイする」を参照してください。

デプロイすると、Greengrass グループ定義、Lambda 関数、コネクタ、リソース、およびサブスクリプションテーブルがコアデバイスにコピーされます。詳細については、「AWS IoT Greengrass グループを AWS IoT Greengrass Core にデプロイする」を参照してください。

AWS IoT Greengrass のデバイス

Greengrass グループには、次の 2 種類の AWS IoT デバイスを含めることができます。

Greengrass コア

Greengrass コアは、AWS IoT Greengrass Core ソフトウェアを実行するデバイスです。これにより、 AWS IoT Core および AWS IoT Greengrass サービスと直接通信できます。コアには、 AWS IoT Core で認証するための独自のデバイス証明書があります。これは、 AWS IoT Core レジストリ内にデバイスシャドウと エントリを備えています。Greengrass コアは、ローカル Lambda ランタイム、デプロイエージェント、および IP アドレストラッカーを実行します。IP アドレストラッカーから IP アドレス情報をAWS IoT Greengrassサービスを使用すると、Greengrass デバイスはそのグループおよびコア接続情報を自動的に検出できます。詳細については、「AWS IoT Greengrass Core の設定」を参照してください。

注記

Greengrass グループに含められるコアは 1 つのみです。

Greengrass コアに接続されたデバイス

接続されたデバイス (Greengrass デバイスとも呼ばれます) には、独自の AWS IoT Core 認証用のデバイス証明書、デバイスシャドウ、および AWS IoT Core レジストリ内のエントリもあります。Greengrass デバイスが実行できますFreeRTOSを使用するかAWS IoTDevice SDKまたは AWS IoT Greengrassディスカバリー APIを使用して、同じ Greengrass グループ内のコアとの接続と認証に使用される検出情報を取得できます。 を使用する方法については、「」を参照してください。AWS IoTコンソールを使用して、デバイスを作成および設定するにはAWS IoT Greengrass「」を参照してください。モジュール 4: でのデバイスの操作AWS IoT Greengrassグループ。または、使用方法を示す例については、AWS CLIデバイスを作成および設定するにはAWS IoT Greengrass「」を参照してください。デバイス定義の作成()AWS CLIコマンドリファレンス

Greengrass グループでは、デバイスが MQTT を介して Lambda 関数、コネクタ、およびグループ内の他のデバイスと通信できるようにするサブスクリプションを作成できます。また、 AWS IoT Core またはローカルシャドウサービス。MQTT メッセージはコアを通じてルーティングされます。コアデバイスがクラウドから切断された場合、デバイスはローカルネットワークを介して通信を続けることができます。デバイスのサイズは、マイクロコントローラーベースの小型デバイスから大型アプライアンスまでさまざまです。現在、Greengrass グループには最大 2500 台のデバイスを含めることができます。デバイスは、最大 10 個のグループのメンバーにすることができます。

注記

OPC-UA は、産業通信用の情報交換標準です。Greengrass コア上で OPC-UA のサポートを実装するには、IoT SiteWise コネクタ。コネクタは、産業用デバイスデータを OPC-UA サーバーから AWS IoT SiteWise のアセットプロパティに送信します。

これらのデバイスタイプ間の関係を次の表に示します。

-AWS IoT Greengrassコアデバイスでは、証明書が 2 つの場所に保存されます。

  • /greengrass-root/certs のコアデバイス証明書。通常、コアデバイス証明書の名前は hash.cert.pem です (たとえば、86c84488a5.cert.pem)。この証明書は、コアが AWS IoT Core および AWS IoT Greengrass サービスに接続するとき、相互認証のために AWS IoT クライアントによって使用されます。

  • /greengrass-root/ggc/var/state/server の MQTT サーバー証明書。MQTT サーバー証明書の名前は server.crt です。この証明書は、ローカル MQTT サーバー (Greengrass コア上) と Greengrass デバイスとの間で相互認証に使用されます。

    注記

    greengrass-root は、デバイスで AWS IoT Greengrass Core ソフトウェアがインストールされているパスを表します。通常、これは /greengrass ディレクトリです。

SDKs

以下のようになりますAWSが提供する SDK を使用してを操作します。AWS IoT Greengrass:

AWS SDK

の使用AWSSDKを使用して、AWSサービス、Amazon S3、Amazon DynamoDB、AWS IoT,AWS IoT Greengrass、詳細。の文脈でAWS IoT Greengrassの場合、を使用できます。AWSデプロイした Lambda 関数内の SDK を使用してAWSサービス。詳細については、「AWS SDK」を参照してください。

注記

Greengrass に固有の操作は、AWSSDK は、また、はでも利用できます。AWS IoT GreengrassAPIおよびAWS CLI

AWS IoTDevice SDK

-AWS IoTデバイス SDK は、デバイスをに接続するのに役立ちます。 AWS IoT Core およびAWS IoT Greengrass。詳細については、「」を参照してください。AWS IoTDevice SDKs()AWS IoT開発者ガイド

デバイスは、AWS IoTGreengrass コアの接続情報を検出するデバイス SDK v2 プラットフォーム。接続情報には、以下が含まれます。

  • デバイスが属するGreengrass グループの ID。

  • 各グループのGreengrass コアの IP アドレス。これらはまた、と呼ばれます。Core エンドポイント

  • コアとの相互認証にデバイスが使用するグループ CA 証明書。詳細については、「デバイス接続のワークフロー」を参照してください。

注記

のv1でAWS IoTデバイス SDK では、C++ および Python プラットフォームのみが組み込みの検出サポートを提供します。

AWS IoT Greengrass Core SDK

-AWS IoT GreengrassコアSDKにより、Lambda 関数がGreengrassコアと対話し、AWS IoTを使用して、ローカルシャドウサービスとやり取り、他の Lambda 関数の呼び出し、およびシークレットリソースへのアクセスを行うことができます。この SDK は、で実行される Lambda 関数で使用します。この SDK は、AWS IoT Greengrassコア。詳細については、「AWS IoT Greengrass Core SDK」を参照してください。

AWS IoT GreengrassMachine Learning SDK

-AWS IoT GreengrassMachine Learning SDK を使用すると、Lambda 関数は Greengrass コアに機械学習リソースとしてデプロイされる機械学習モデルを使用できます。この SDK は、で実行される Lambda 関数で使用します。この SDK は、AWS IoT Greengrassコアを使用し、ローカル推論サービスとやり取りします。詳細については、「AWS IoT Greengrass Machine Learning SDK」を参照してください。

サポートされているプラットフォームと要件

以下の各タブは、サポートされているプラットフォームと AWS IoT Greengrass Core ソフトウェアの要件を一覧表示します。

注記

ダウンロードできます。AWS IoT GreengrassCore ソフトウェア、AWS IoT GreengrassCore ソフトウェアをダウンロードします。

GGC v1.11

サポートされているプラットフォーム:

  • アーキテクチャ: Armv7l

    • OS: Linux、ディストリビューション: 2019-07-10。AWS IoT Greengrassは、Raspberry Pi 用の他のディストリビューションでも動作する場合がありますが、正式にサポートされているディストリビューションであるため、Raspbian をお勧めします。

    • OS: Linux、ディストリビューション: OpenWrt

  • アーキテクチャ: Armv8 (AArch64)

    • OS: Linux、ディストリビューション: Arch Linux

    • OS: Linux、ディストリビューション: OpenWrt

  • アーキテクチャ: Armv6l

    • OS: Linux、ディストリビューション: 2019-07-10

  • アーキテクチャ: x86_64

    • OS: Linux、ディストリビューション: Amazon Linux (amzn2-ami-hvm-2.0.20190313-x86_64-gp2)、Ubuntu 18.04

  • Windows、macOS、Linux の各プラットフォームで、Docker コンテナで AWS IoT Greengrass を実行できます。詳細については、「Docker コンテナでの AWS IoT Greengrass の実行」を参照してください。

要件:

  • AWS IoT Greengrass コアソフトウェアに対して利用可能な最低 128 MB のディスク空き容量。を使用する場合OTA 更新エージェントの場合、最小値は400 MB

  • AWS IoT Greengrass Core ソフトウェアに割り当てられる最小 128 MB RAM。ストリームマネージャーが有効な場合、最小値は 198 MB の RAM です。

    注記

    ストリームマネージャーは、デフォルトのグループ作成オプションAWS IoTコンソールを使用して Greengrass グループを作成します。

  • Linux カーネルバージョン:

    • Linux カーネルバージョン 4.4 以降が必要とするAWS IoT Greengrassをコンテナ

    • コンテナを使用しない AWS IoT Greengrass の実行をサポートするには、Linux カーネルバージョン 3.17 以降が必要です。この設定では、Greengrass グループのデフォルトの Lambda 関数コンテナ化をコンテナなし。手順については、「グループ内の Lambda 関数のコンテナ化のデフォルト設定」を参照してください。

  • GNU C ライブラリ (glibc) バージョン 2.14 以降。OpenWrt ディストリビューションでは、musl C ライブラリ バージョン 1.1.16 以降が必要です。

  • /var/run ディレクトリがデバイスに存在する必要があります。

  • /dev/stdin/dev/stdout、および /dev/stderr ファイルが利用可能である必要があります。

  • ハードリンクとソフトリンクの保護がデバイス上で有効になっている必要があります。有効になっていない場合、AWS IoT Greengrass は -i フラグを使用してセキュアでないモードでのみ実行できます。

  • 次の Linux カーネル設定をデバイスで有効にする必要があります。

    • 名前空間:

      • CONFIG_IPC_NS

      • CONFIG_UTS_NS

      • CONFIG_USER_NS

      • CONFIG_PID_NS

    • Cgroups:

      • CONFIG_CGROUP_DEVICE

      • CONFIG_CGROUPS

      • CONFIG_MEMCG

      カーネルは cgroup をサポートしている必要があります。以下の要件がに適用されます。AWS IoT Greengrassをコンテナ:

      • -memorycgroup を有効にしてマウントする必要があります。AWS IoT Greengrassを使用して Lambda 関数のメモリ制限を設定することもできます。

      • -デバイスCgroup を有効にしてLambda する必要があります。ローカルリソースアクセス上のファイルを開くために使用されますAWS IoT GreengrassCore デバイス。

    • Others:

      • CONFIG_POSIX_MQUEUE

      • CONFIG_OVERLAY_FS

      • CONFIG_HAVE_ARCH_SECCOMP_FILTER

      • CONFIG_SECCOMP_FILTER

      • CONFIG_KEYS

      • CONFIG_SECCOMP

      • CONFIG_SHMEM

  • Amazon S3 のルート証明書とAWS IoTがシステムの信頼ストアに存在する必要があります。

  • ストリームマネージャーには、Java 8 ランタイムと、基本 AWS IoT Greengrass Core ソフトウェアのメモリ要件に加えて、最低 70 MB の RAM が必要です。ストリームマネージャーは、デフォルトで有効になっています。デフォルトのグループ作成オプションAWS IoTconsole. ストリームマネージャーは OpenWrt ディストリビューションではサポートされていません。

  • サポートしているライブラリAWS Lambdaruntimeローカルで実行する Lambda 関数が必要とする。必須ライブラリは、コアにインストールし、PATH 環境変数に追加する必要があります。同じコアに複数のライブラリをインストールできます。

    • PythonPython 3.8 ランタイムを使用する関数に対応するバージョン 3.8。

    • Python 3.7 ランタイムを使用する関数に対応する Python バージョン 3.7。

    • Python 2.7 ランタイムを使用する関数に対応する Python バージョン 2.7。

    • Node.js 12.x ランタイムを使用する関数に対応する Node.js バージョン 12.x。

    • Java 8 ランタイムを使用する関数に対応する Java バージョン 8 以降。

      注記

      OpenWrt ディストリビューションで Java を実行することは公式にはサポートされていません。ただし、OpenWrt ビルドで Java がサポートされている場合は、Java で作成された Lambda 関数を OpenWrt デバイス上で実行できる可能性があります。

      の詳細AWS IoT GreengrassLambda ランタイムのサポートについては、Lambda 関数をAWS IoT Greengrasscore

  • 次のシェルコマンド (BusyBox バリアントではない) は、無線 (OTA) 更新エージェントで必要です。

    • wget

    • realpath

    • tar

    • readlink

    • basename

    • dirname

    • pidof

    • df

    • grep

    • umount

    • mv

    • gzip

    • mkdir

    • rm

    • ln

    • cut

    • cat

    • /bin/bash

GGC v1.10

サポートされているプラットフォーム:

  • アーキテクチャ: Armv7l

    • OS: Linux、ディストリビューション: 2019-07-10。AWS IoT Greengrassは、Raspberry Pi 用の他のディストリビューションでも動作する場合がありますが、正式にサポートされているディストリビューションであるため、Raspbian をお勧めします。

    • OS: Linux、ディストリビューション: OpenWrt

  • アーキテクチャ: Armv8 (AArch64)

    • OS: Linux、ディストリビューション: Arch Linux

    • OS: Linux、ディストリビューション: OpenWrt

  • アーキテクチャ: Armv6l

    • OS: Linux、ディストリビューション: 2019-07-10

  • アーキテクチャ: x86_64

    • OS: Linux、ディストリビューション: Amazon Linux (amzn2-ami-hvm-2.0.20190313-x86_64-gp2)、Ubuntu 18.04

  • Windows、macOS、Linux の各プラットフォームで、Docker コンテナで AWS IoT Greengrass を実行できます。詳細については、「Docker コンテナでの AWS IoT Greengrass の実行」を参照してください。

要件:

  • AWS IoT Greengrass コアソフトウェアに対して利用可能な最低 128 MB のディスク空き容量。を使用する場合OTA 更新エージェントの場合、最小値は400 MB

  • AWS IoT Greengrass Core ソフトウェアに割り当てられる最小 128 MB RAM。ストリームマネージャーが有効な場合、最小値は 198 MB の RAM です。

    注記

    ストリームマネージャーは、デフォルトのグループ作成オプションAWS IoTコンソールを使用して Greengrass グループを作成します。

  • Linux カーネルバージョン:

    • Linux カーネルバージョン 4.4 以降が必要とするAWS IoT Greengrassをコンテナ

    • コンテナを使用しない AWS IoT Greengrass の実行をサポートするには、Linux カーネルバージョン 3.17 以降が必要です。この設定では、Greengrass グループのデフォルトの Lambda 関数コンテナ化をコンテナなし。手順については、「グループ内の Lambda 関数のコンテナ化のデフォルト設定」を参照してください。

  • GNU C ライブラリ (glibc) バージョン 2.14 以降。OpenWrt ディストリビューションでは、musl C ライブラリ バージョン 1.1.16 以降が必要です。

  • /var/run ディレクトリがデバイスに存在する必要があります。

  • /dev/stdin/dev/stdout、および /dev/stderr ファイルが利用可能である必要があります。

  • ハードリンクとソフトリンクの保護がデバイス上で有効になっている必要があります。有効になっていない場合、AWS IoT Greengrass は -i フラグを使用してセキュアでないモードでのみ実行できます。

  • 次の Linux カーネル設定をデバイスで有効にする必要があります。

    • 名前空間:

      • CONFIG_IPC_NS

      • CONFIG_UTS_NS

      • CONFIG_USER_NS

      • CONFIG_PID_NS

    • Cgroups:

      • CONFIG_CGROUP_DEVICE

      • CONFIG_CGROUPS

      • CONFIG_MEMCG

      カーネルは cgroup をサポートしている必要があります。以下の要件がに適用されます。AWS IoT Greengrassをコンテナ:

      • -memorycgroup を有効にしてマウントする必要があります。AWS IoT Greengrassを使用して Lambda 関数のメモリ制限を設定することもできます。

      • -デバイスCgroup を有効にしてLambda する必要があります。ローカルリソースアクセス上のファイルを開くために使用されますAWS IoT GreengrassCore デバイス。

    • Others:

      • CONFIG_POSIX_MQUEUE

      • CONFIG_OVERLAY_FS

      • CONFIG_HAVE_ARCH_SECCOMP_FILTER

      • CONFIG_SECCOMP_FILTER

      • CONFIG_KEYS

      • CONFIG_SECCOMP

      • CONFIG_SHMEM

  • Amazon S3 のルート証明書とAWS IoTがシステムの信頼ストアに存在する必要があります。

  • ストリームマネージャーには、Java 8 ランタイムと、基本 AWS IoT Greengrass Core ソフトウェアのメモリ要件に加えて、最低 70 MB の RAM が必要です。ストリームマネージャーは、デフォルトで有効になっています。デフォルトのグループ作成オプションAWS IoTconsole. ストリームマネージャーは OpenWrt ディストリビューションではサポートされていません。

  • サポートしているライブラリAWS Lambdaruntimeローカルで実行する Lambda 関数が必要とする。必須ライブラリは、コアにインストールし、PATH 環境変数に追加する必要があります。同じコアに複数のライブラリをインストールできます。

    • Python 3.7 ランタイムを使用する関数に対応する Python バージョン 3.7。

    • Python 2.7 ランタイムを使用する関数に対応する Python バージョン 2.7。

    • Node.js 12.x ランタイムを使用する関数に対応する Node.js バージョン 12.x。

    • Java 8 ランタイムを使用する関数に対応する Java バージョン 8 以降。

      注記

      OpenWrt ディストリビューションで Java を実行することは公式にはサポートされていません。ただし、OpenWrt ビルドで Java がサポートされている場合は、Java で作成された Lambda 関数を OpenWrt デバイス上で実行できる可能性があります。

      の詳細AWS IoT GreengrassLambda ランタイムのサポートについては、Lambda 関数をAWS IoT Greengrasscore

  • 次のシェルコマンド (BusyBox バリアントではない) は、無線 (OTA) 更新エージェントで必要です。

    • wget

    • realpath

    • tar

    • readlink

    • basename

    • dirname

    • pidof

    • df

    • grep

    • umount

    • mv

    • gzip

    • mkdir

    • rm

    • ln

    • cut

    • cat

    • /bin/bash

GGC v1.9

サポートされているプラットフォーム:

  • アーキテクチャ: Armv7l

    • OS: Linux、ディストリビューション: 2019-07-10。AWS IoT Greengrassは、Raspberry Pi 用の他のディストリビューションでも動作する場合がありますが、正式にサポートされているディストリビューションであるため、Raspbian をお勧めします。

    • OS: Linux、ディストリビューション: OpenWrt

  • アーキテクチャ: Armv8 (AArch64)

    • OS: Linux、ディストリビューション: Arch Linux

    • OS: Linux、ディストリビューション: OpenWrt

  • アーキテクチャ: Armv6l

    • OS: Linux、ディストリビューション: 2019-07-10

  • アーキテクチャ: x86_64

    • OS: Linux、ディストリビューション: Amazon Linux (amzn2-ami-hvm-2.0.20190313-x86_64-gp2)、Ubuntu 18.04

  • Windows、macOS、Linux の各プラットフォームで、Docker コンテナで AWS IoT Greengrass を実行できます。詳細については、「Docker コンテナでの AWS IoT Greengrass の実行」を参照してください。

要件:

  • AWS IoT Greengrass コアソフトウェアに対して利用可能な最低 128 MB のディスク空き容量。を使用する場合OTA 更新エージェントの場合、最小値は400 MB

  • AWS IoT Greengrass Core ソフトウェアに割り当てられる最小 128 MB RAM。

  • Linux カーネルバージョン:

    • Linux カーネルバージョン 4.4 以降が必要とするAWS IoT Greengrassをコンテナ

    • コンテナを使用しない AWS IoT Greengrass の実行をサポートするには、Linux カーネルバージョン 3.17 以降が必要です。この設定では、Greengrass グループのデフォルトの Lambda 関数コンテナ化をコンテナなし。手順については、「グループ内の Lambda 関数のコンテナ化のデフォルト設定」を参照してください。

  • GNU C ライブラリ (glibc) バージョン 2.14 以降。OpenWrt ディストリビューションでは、musl C ライブラリ バージョン 1.1.16 以降が必要です。

  • /var/run ディレクトリがデバイスに存在する必要があります。

  • /dev/stdin/dev/stdout、および /dev/stderr ファイルが利用可能である必要があります。

  • ハードリンクとソフトリンクの保護がデバイス上で有効になっている必要があります。有効になっていない場合、AWS IoT Greengrass は -i フラグを使用してセキュアでないモードでのみ実行できます。

  • 次の Linux カーネル設定をデバイスで有効にする必要があります。

    • 名前空間:

      • CONFIG_IPC_NS

      • CONFIG_UTS_NS

      • CONFIG_USER_NS

      • CONFIG_PID_NS

    • Cgroups:

      • CONFIG_CGROUP_DEVICE

      • CONFIG_CGROUPS

      • CONFIG_MEMCG

      カーネルは cgroup をサポートしている必要があります。以下の要件がに適用されます。AWS IoT Greengrassをコンテナ:

      • -memorycgroup を有効にしてマウントする必要があります。AWS IoT Greengrassを使用して Lambda 関数のメモリ制限を設定することもできます。

      • -デバイスCgroup を有効にしてLambda する必要があります。ローカルリソースアクセス上のファイルを開くために使用されますAWS IoT GreengrassCore デバイス。

    • Others:

      • CONFIG_POSIX_MQUEUE

      • CONFIG_OVERLAY_FS

      • CONFIG_HAVE_ARCH_SECCOMP_FILTER

      • CONFIG_SECCOMP_FILTER

      • CONFIG_KEYS

      • CONFIG_SECCOMP

      • CONFIG_SHMEM

  • Amazon S3 のルート証明書とAWS IoTがシステムの信頼ストアに存在する必要があります。

  • サポートしているライブラリAWS Lambdaruntimeローカルで実行する Lambda 関数が必要とする。必須ライブラリは、コアにインストールし、PATH 環境変数に追加する必要があります。同じコアに複数のライブラリをインストールできます。

    • Python 2.7 ランタイムを使用する関数に対応する Python バージョン 2.7。

    • Python 3.7 ランタイムを使用する関数に対応する Python バージョン 3.7。

    • Node.js 6.10 ランタイムを使用する関数に対応する Node.js バージョン 6.10 以降。

    • Node.js 8.10 ランタイムを使用する関数に対応する Node.js バージョン 8.10 以降。

    • Java 8 ランタイムを使用する関数に対応する Java バージョン 8 以降。

      注記

      OpenWrt ディストリビューションで Java を実行することは公式にはサポートされていません。ただし、OpenWrt ビルドで Java がサポートされている場合は、Java で作成された Lambda 関数を OpenWrt デバイス上で実行できる可能性があります。

      の詳細AWS IoT GreengrassLambda ランタイムのサポートについては、Lambda 関数をAWS IoT Greengrasscore

  • 次のシェルコマンド (BusyBox バリアントではない) は、無線 (OTA) 更新エージェントで必要です。

    • wget

    • realpath

    • tar

    • readlink

    • basename

    • dirname

    • pidof

    • df

    • grep

    • umount

    • mv

    • gzip

    • mkdir

    • rm

    • ln

    • cut

    • cat

GGC v1.8
  • サポートされているプラットフォーム:

    • アーキテクチャ: Armv7l、OS: Linux、ディストリビューション: Raspbian ストレッチ、2018-06-29。他のバージョンを AWS IoT Greengrass で使用できる可能性もありますが、公式にサポートされているディストリビューションであるため、これをお勧めします。

    • アーキテクチャ:x86_64、OS: Linux、ディストリビューション: Amazon Linux (amzn-ami-hvm-2016.09.1.20170119-x86_64-ebs)、Ubuntu 14.04

    • アーキテクチャ: Armv8 (AArch64)、OS: Linux、ディストリビューション: Arch Linux

    • Windows、macOS、Linux の各プラットフォームで、Docker コンテナで AWS IoT Greengrass を実行できます。詳細については、「Docker コンテナでの AWS IoT Greengrass の実行」を参照してください。

    • Linux プラットフォームは Greengrass スナップを使用して、機能が制限された AWS IoT Greengrass バージョンを実行できます。これは Snapcraft を通じて入手できます。詳細については、「AWS IoT Greengrass スナップソフトウェア」を参照してください。

  • 以下のアイテムは必須です。

    • AWS IoT Greengrass コアソフトウェアに対して利用可能な最低 128 MB のディスク空き容量。を使用する場合OTA 更新エージェントの場合、最小値は400 MB

    • AWS IoT Greengrass Core ソフトウェアに割り当てられる最小 128 MB RAM。

    • Linux カーネルバージョン:

      • Linux カーネルバージョン 4.4 以降が必要とするAWS IoT Greengrassをコンテナ

      • コンテナを使用しない AWS IoT Greengrass の実行をサポートするには、Linux カーネルバージョン 3.17 以降が必要です。この設定では、Greengrass グループのデフォルトの Lambda 関数コンテナ化をコンテナなし。手順については、「グループ内の Lambda 関数のコンテナ化のデフォルト設定」を参照してください。

    • GNU C ライブラリ (glibc) バージョン 2.14 以降。

    • /var/run ディレクトリがデバイスに存在する必要があります。

    • /dev/stdin/dev/stdout、および /dev/stderr ファイルが利用可能である必要があります。

    • ハードリンクとソフトリンクの保護がデバイス上で有効になっている必要があります。有効になっていない場合、AWS IoT Greengrass は -i フラグを使用してセキュアでないモードでのみ実行できます。

    • 次の Linux カーネル設定をデバイスで有効にする必要があります。

      • 名前空間:

        • CONFIG_IPC_NS

        • CONFIG_UTS_NS

        • CONFIG_USER_NS

        • CONFIG_PID_NS

      • Cgroups:

        • CONFIG_CGROUP_DEVICE

        • CONFIG_CGROUPS

        • CONFIG_MEMCG

        カーネルは cgroup をサポートしている必要があります。以下の要件がに適用されます。AWS IoT Greengrassをコンテナ:

        • -memorycgroup を有効にしてマウントする必要があります。AWS IoT Greengrassを使用して Lambda 関数のメモリ制限を設定することもできます。

        • -デバイスCgroup を有効にしてLambda する必要があります。ローカルリソースアクセス上のファイルを開くために使用されますAWS IoT GreengrassCore デバイス。

      • Others:

        • CONFIG_POSIX_MQUEUE

        • CONFIG_OVERLAY_FS

        • CONFIG_HAVE_ARCH_SECCOMP_FILTER

        • CONFIG_SECCOMP_FILTER

        • CONFIG_KEYS

        • CONFIG_SECCOMP

        • CONFIG_SHMEM

    • Amazon S3 のルート証明書とAWS IoTがシステムの信頼ストアに存在する必要があります。

  • 次の項目は、条件付きで必須です。

    • サポートしているライブラリAWS Lambdaruntimeローカルで実行する Lambda 関数が必要とする。必須ライブラリは、コアにインストールし、PATH 環境変数に追加する必要があります。同じコアに複数のライブラリをインストールできます。

      • Python 2.7 ランタイムを使用する関数に対応する Python バージョン 2.7。

      • Node.js 6.10 ランタイムを使用する関数に対応する Node.js バージョン 6.10 以降。

      • Java 8 ランタイムを使用する関数に対応する Java バージョン 8 以降。

    • 次のシェルコマンド (BusyBox バリアントではない) は、無線 (OTA) 更新エージェントで必要です。

      • wget

      • realpath

      • tar

      • readlink

      • basename

      • dirname

      • pidof

      • df

      • grep

      • umount

      • mv

      • gzip

      • mkdir

      • rm

      • ln

      • cut

      • cat

については、AWS IoT Greengrassクォータ (制限) の詳細については、サービスクォータ()Amazon Web Services 全般的なリファレンス

料金に関する詳細は、「AWS IoT Greengrass 料金表」および「 AWS IoT Core 料金表」を参照してください。

AWS IoT Greengrass ダウンロード

AWS IoT Greengrass で使用するソフトウェアを見つけてダウンロードするには、以下の情報を使用できます。

AWS IoT Greengrass Core ソフトウェア

-AWS IoT GreengrassCore ソフトウェアの拡張AWS機能をAWS IoT Greengrassコアデバイスで、ローカルデバイスが生成したデータをローカルに操作できるようにします。

v1.11
1.11.3

バグ修正と機能向上:

  • 発生させている問題を修正しました。AWS IoT GreengrassUbuntu デバイス上で瞬時に実行されるコアソフトウェアが、デバイスへの突然の停電後に応答を停止します。

  • 長寿命の Lambda 関数への MQTT メッセージの配信が遅れる問題を修正しました。

  • MQTT メッセージが正しく送信されない問題を修正しました。maxWorkItemCount値がより大きい値に設定されました。1024

  • OTA アップデートエージェントが MQTT を無視する問題を修正しました。KeepAliveで指定されている期間keepAliveのプロパティconfig.json

  • 一般的なパフォーマンス向上とバグ修正。

注記

ストリームマネージャーを使用してデータをクラウドにエクスポートする場合、AWS IoT Greengrass以前のバージョンのv1.xのコア・ソフトウェアv1.11.3です。OTA の更新を試行すると、ストリームマネージャーが起動せず、更新が失敗します。インストールしている場合AWS IoT Greengrass初めてコアソフトウェアを使用する場合は、最新バージョンのソフトウェアを展開することを強くお勧めします。

1.11.1

バグ修正と機能向上:

  • ストリームマネージャーのメモリ使用量が増える問題を修正しました。

  • ストリームマネージャーがストリームのシーケンス番号を0は、ストリームデータの指定された存続可能時間(TTL)期間よりも長い間、Greengrass コアデバイスをオフにした場合に発生します。

  • ストリームマネージャがデータをエクスポートする再試行を正しく停止できなかった問題を修正しました。 AWS クラウド 。

1.11.0

新機能:

  • Greengrass コアのテレメトリエージェントは、ローカルテレメトリデータを収集し、 AWS クラウド 。さらに処理するためにテレメトリデータを取得するために、お客様は Amazon EventBridge ルールを作成し、ターゲットをサブスクライブできます。詳細については、「」を参照してください。からのシステム正常性テレメトリデータの収集AWS IoT Greengrassコア・デバイス

  • ローカルHTTP APIは、によって開始されたローカルワーカープロセスの現在の状態のスナップショットを返します。AWS IoT Greengrass。詳細については、「」を参照してください。ローカルヘルスチェック API の呼び出し

  • Aストリームマネージャーデータを Amazon S3 に自動的にエクスポートし、AWS IoT SiteWise。

    新規ストリームマネージャーのパラメータを使用すると、既存のストリームを更新し、データのエクスポートを一時停止または再開できます。

  • コア上で Python 3.8.x Lambda 関数を実行するためのSupport。

  • 新しいggDaemonPortのプロパティconfig.jsonは、Greengrass コア IPC ポート番号の設定に使用します。デフォルトのポート番号は 8000 です。

    新しいsystemComponentAuthTimeoutのプロパティconfig.jsonを使用して、Greengrass コア IPC 認証のタイムアウトを設定します。デフォルトのタイムアウトは 5000 ミリ秒です。

  • の最大の数を増加させました。AWS IoTデバイス数AWS IoT Greengrass200から2500までのグループ。

    グループあたりのサブスクリプションの最大数が 1000 から 10000 に増加しました。

    詳細については、「AWS IoT Greengrass エンドポイントとクォータ」を参照してください。

バグ修正と機能向上:

  • Greengrass サービスプロセスのメモリ使用量を減らすことができる一般的な最適化。

  • 新しいランタイム設定パラメータ (mountAllBlockDevices)は、OverlayFSを設定した後、Greengrassがバインドマウントを使用してすべてのブロックデバイスをコンテナにマウントできるようにします。この機能により、Greengrass のデプロイメントが失敗する原因となった問題が解決されました。/usrの下に/階層。

  • 発生させている問題を修正しました。AWS IoT Greengrassコアエラー/tmpシンボリックリンクです。

  • Greengrass デプロイメントエージェントが、未使用の機械学習モデルのアーティファクトをmlmodel_publicfolder

  • 一般的なパフォーマンス向上とバグ修正。

をインストールするにはAWS IoT Greengrassコアデバイス上のコアソフトウェア、アーキテクチャ、ディストリビューション、およびオペレーティングシステム (OS) 用のパッケージをダウンロードし、入門ガイド

ヒント

AWS IoT Greengrass には、AWS IoT Greengrass Core ソフトウェアをインストールするためのその他のオプションも用意されています。たとえば、Greengrass デバイス設定を使用して環境を設定し、最新バージョンの AWS IoT Greengrass Core ソフトウェアをインストールできます。または、サポートされている Debian プラットフォームで APT パッケージマネージャーを使用して AWS IoT Greengrass Core ソフトウェアをインストールまたはアップグレードできます。詳細については、「AWS IoT Greengrass Core ソフトウェアをインストールします。」を参照してください。

アーキテクチャ

配信

OS

リンク

Armv8 (AArch64)

Arch Linux

Linux

ダウンロード

Armv8 (AArch64)

OpenWrt

Linux

ダウンロード

Armv7l

Raspbian

Linux

ダウンロード

Armv7l

OpenWrt

Linux

ダウンロード

Armv6l

Raspbian

Linux

ダウンロード

x86_64

Linux

Linux

ダウンロード

v1.10
1.10.4

バグ修正と機能向上:

  • 発生させている問題を修正しました。AWS IoT GreengrassUbuntu デバイス上で瞬時に実行されるコアソフトウェアが、デバイスへの突然の停電後に応答を停止します。

  • 長寿命の Lambda 関数への MQTT メッセージの配信が遅れる問題を修正しました。

  • MQTT メッセージが正しく送信されない問題を修正しました。maxWorkItemCount値がより大きい値に設定されました。1024

  • OTA アップデートエージェントが MQTT を無視する問題を修正しました。KeepAliveで指定されている期間keepAliveのプロパティconfig.json

  • 一般的なパフォーマンス向上とバグ修正。

1.10.3

バグ修正と機能向上:

  • 新しいsystemComponentAuthTimeoutのプロパティconfig.jsonを使用して、Greengrass コア IPC 認証のタイムアウトを設定します。デフォルトのタイムアウトは 5000 ミリ秒です。

  • ストリームマネージャーのメモリ使用量が増える問題を修正しました。

1.10.2

バグ修正と機能向上:

  • 新しいmqttOperationTimeoutのプロパティconfig.jsonMQTT 接続の発行、サブスクリプション、およびサブスクリプション解除オペレーションのタイムアウトを設定するために使用する AWS IoT Core 。

  • 一般的なパフォーマンス向上とバグ修正。

1.10.1

バグ修正と機能向上:

  • ストリームマネージャーはファイルデータの破損に対する回復性が高くなっています。

  • Linux カーネル 5.1 以降を使用しているデバイスで sysfs マウントエラーが発生する問題を修正しました。

  • 一般的なパフォーマンス向上とバグ修正。

1.10.0

新機能:

  • データストリームをローカルで処理し、データストリームを AWS クラウド を自動的に実行します。この機能を使用するには、Greengrass Core デバイスで Java 8 が使用できる必要があります。詳細については、「AWS IoT Greengrass コアでのデータストリームの管理」を参照してください。

  • コアデバイスで Docker アプリケーションを実行する、新しい Greengrass Docker アプリケーションのデプロイコネクタ。詳細については、「Docker アプリケーションのデプロイコネクタ」を参照してください。

  • AWS IoT SiteWise で産業用デバイスデータを OPC-UA サーバーからのアセットプロパティに送信する、新しい IoT SiteWise コネクタ。詳細については、「IoT SiteWise コネクタ」を参照してください。

  • コンテナ化を使用せずに実行する Lambda 関数は、Greengrass グループの機械学習リソースにアクセスできます。詳細については、「Lambda 関数から機械学習リソースにアクセスする」を参照してください。

  • AWS IoT での MQTT 永続的セッションのサポート。詳細については、「 AWS IoT Core を使用した MQTT 永続セッション」を参照してください。

  • ローカルの MQTT トラフィックは、デフォルトのポート 8883 以外のポートを使用できます。詳細については、「ローカルメッセージング用の MQTT ポートの設定」を参照してください。

  • 新規queueFullPolicyオプションのAWS IoT GreengrassCore SDKLambda 関数から信頼性の高いメッセージを発行できます。

  • コア上で Node.js 12.x Lambda 関数を実行するためのSupport。

  • ハードウェアセキュリティ統合による無線通信 (OTA) アップデートは、OpenSSL 1.1 で設定できます。

  • 一般的なパフォーマンス向上とバグ修正。

をインストールするにはAWS IoT Greengrassコアデバイス上のコアソフトウェア、アーキテクチャ、ディストリビューション、およびオペレーティングシステム (OS) 用のパッケージをダウンロードし、入門ガイド

アーキテクチャ

配信

OS

リンク

Armv8 (AArch64)

Arch Linux

Linux

ダウンロード

Armv8 (AArch64)

OpenWrt

Linux

ダウンロード

Armv7l

Raspbian

Linux

ダウンロード

Armv7l

OpenWrt

Linux

ダウンロード

Armv6l

Raspbian

Linux

ダウンロード

x86_64

Linux

Linux

ダウンロード

Deprecated versions
1.9.4

v1.9 の新機能:

  • Python 3.7 および Node.js 8.10 Lambda ランタイムSupport しました。Python 3.7 および Node.js 8.10 ランタイムを使用する Lambda 関数は、AWS IoT Greengrassコア。 (AWS IoT GreengrassPython 2.7 および Node.js 6.10 ランタイムをサポートし続けています。

  • 最適化された MQTT 接続。Greengrass コアは、 AWS IoT Core との間で確立する接続の数を削減します。この変更により、接続の数に基づく料金の運用コストを削減できます。

  • ローカル MQTT サーバー用楕円曲線 (EC) キー。ローカル MQTT サーバーは、RSA キーに加えて EC キーをサポートします。(MQTT サーバー証明書には、キータイプに関係なく、SHA-256 RSA 署名があります。) 詳細については、「AWS IoT Greengrass Core セキュリティプリンシパル」を参照してください。

  • サポート対象OpenWrt。AWS IoT GreengrassCore ソフトウェア v1.9.2 以降は、Armv8 (AArch64) および Armv7l アーキテクチャの OpenWrt ディストリビューションにインストールできます。現在、OpenWrt は ML 推論をサポートしていません。

  • Armv6l のサポート。AWS IoT GreengrassCore ソフトウェア v1.9.3 以降は、Armv6l アーキテクチャの Raspbian ディストリビューション (たとえば、Raspberry Pi Zero デバイス) にインストールできます。

  • ALPN を使用したポート 443 での OTA 更新。MQTT トラフィックにポート 443 を使用する Greengrass コアは、無線 (OTA) ソフトウェア更新をサポートするようになりました。AWS IoT Greengrass は Application Layer Protocol Network (ALPN) TLS 拡張を使用してこれらの接続を有効にします。詳細については、「AWS IoT Greengrass Core ソフトウェアの OTA 更新」および「ポート 443 での接続またはネットワークプロキシを通じた接続」を参照してください。

をインストールするにはAWS IoT Greengrassコアデバイス上のコアソフトウェア、アーキテクチャ、ディストリビューション、およびオペレーティングシステム (OS) 用のパッケージをダウンロードし、入門ガイド

アーキテクチャ

配信

OS

リンク

Armv8 (AArch64)

Arch Linux

Linux

ダウンロード

Armv8 (AArch64)

OpenWrt

Linux

ダウンロード

Armv7l

Raspbian

Linux

ダウンロード

Armv7l

OpenWrt

Linux

ダウンロード

Armv6l

Raspbian

Linux

ダウンロード

x86_64

Linux

Linux

ダウンロード

1.8.4
  • 新機能:

    • グループ内の Lambda 関数の設定可能なデフォルトアクセス ID。このグループレベルの設定により、Lambda 関数の実行で使用されるデフォルトのアクセス許可が決まります。ユーザー ID、グループ ID、またはその両方を設定できます。個々の Lambda 関数は、そのグループのデフォルトのアクセス ID を上書きできます。詳細については、「グループ内の Lambda 関数のデフォルトアクセス ID の設定」を参照してください。

    • ポート 443 経由の HTTPS トラフィック。HTTPS コミュニケーションは、デフォルトのポート 8443 ではなくポート 443 を経由するように設定できます。これは補完するAWS IoT GreengrassApplication Layer Protocol Network (ALPN) TLS 拡張をサポートし、Greengrass メッセージングトラフィック (MQTT と HTTPS の両方) でポート 443 を使用できます。詳細については、「ポート 443 での接続またはネットワークプロキシを通じた接続」を参照してください。

    • AWS IoT 接続用の予測される名前のクライアント ID。この変更により、AWS IoT Device Defender および AWS IoT ライフサイクルイベントのサポートが有効になり、そのため接続、切断、購読、および購読解除のイベントに関する通知を受け取ることができます。予測可能な命名により、接続 ID を中心としたロジックの作成も容易になります (たとえば、証明書の属性に基づいてサブスクライブポリシーテンプレートを作成します。詳細については、「AWS IoT を使用した MQTT 接続用クライアント ID」を参照してください。

    バグ修正と機能向上:

    • シャドウ同期とデバイス証明書マネージャーの再接続の問題を修正しました。

    • 一般的なパフォーマンス向上とバグ修正。

をインストールするにはAWS IoT Greengrassコアデバイス上のコアソフトウェア、アーキテクチャ、ディストリビューション、およびオペレーティングシステム (OS) 用のパッケージをダウンロードし、入門ガイド

アーキテクチャ

配信

OS

リンク

Armv8 (AArch64)

Ubuntu 14.04 - 16.04

Linux

ダウンロード

Armv7l

Raspbian

Linux

ダウンロード

x86_64

Linux

Linux

ダウンロード

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

デバイスに AWS IoT Greengrass Core ソフトウェアをインストールするためのその他のオプションについては、「AWS IoT Greengrass Core ソフトウェアをインストールします。」を参照してください。

 

AWS IoT Greengrass スナップソフトウェア

AWS IoT Greengrasssnap 1.11.x を使用すると、AWS IoT Greengrassは、コンテナ化された環境で、便利なソフトウェアパッケージと必要なすべての依存関係を通じて行えます。

注記

-AWS IoT GreengrassスナップはAWS IoT GreengrassCore ソフトウェア v1.11.x。AWS IoT Greengrassv1.10.x のスナップを提供しません。サポートされていないバージョンは、バグ修正や更新プログラムを受け取りません。

-AWS IoT Greengrasssnap は、コネクタおよび機械学習 (ML) 推論をサポートしていません。

詳細については、「スナップでの AWS IoT Greengrass の実行」を参照してください。

 

AWS IoT Greengrass Docker ソフトウェア

AWS には、Docker コンテナで AWS IoT Greengrass を簡単に実行できるように Dockerfile と Docker イメージが用意されています。

Dockerfile

Dockerfile には、AWS IoT Greengrass コンテナのカスタムイメージを構築するためのソースコードが含まれています。イメージを変更して、別のプラットフォームのアーキテクチャで実行したり、イメージサイズを縮小したりできます。手順については、README ファイルを参照してください。

該当する AWS IoT Greengrass Core ソフトウェアバージョンをダウンロードします。

v1.11
v1.10
Deprecated versions

 

Docker イメージ

Docker イメージには、Amazon Linux 2 (x86_64) および Alpine Linux (x86_64、Armv7l、または AArch64) のベースイメージにインストールされた AWS IoT Greengrass Core ソフトウェアと依存関係が含まれています。構築済みのイメージを使用して、AWS IoT Greengrass の試用を開始できます。

ビルド済みのイメージはからダウンロードします。Docker Hubまたは Amazon Elastic Container Registry (Amazon ECR)。

  • Docker Hub の場合は、バージョンタグを使用して、Greengrass Docker イメージの特定のバージョンをダウンロードできます。すべての使用可能なイメージを確認するには、Docker Hub の [タグ] ページを参照してください。

  • Amazon ECR の場合は、latestタグを使用して、Greengrass Docker イメージの最新バージョンをダウンロードできます。利用可能なイメージバージョンのリストと Amazon ECR からのイメージのダウンロードの詳細については、Docker コンテナでの AWS IoT Greengrass の実行

AWS IoT GreengrassはDockerイメージを提供しませんAWS IoT GreengrassCore ソフトウェア v1.11.1。

注記

デフォルトでは、alpine-aarch64 イメージと alpine-armv7l イメージは Armベースのホストでのみ実行できます。これらのイメージを x86 ホストで実行するには、QEMU をインストールして QEMU ライブラリをホストにマウントできます。次に例を示します。

docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

 

AWS IoT Greengrass Core SDK

Lambda 関数は、AWS IoT GreengrassコアSDKを使用してAWS IoT Greengrassコアをローカルにします。これにより、デプロイされた Lambda 関数に以下を許可します。

  • AWS IoT Core で MQTT メッセージを交換します。

  • Greengrass グループのコネクタ、デバイス、その他 Lambda 関数で MQTT メッセージを交換します。

  • ローカル車道サービスとやり取りを行います。

  • 他のローカルの Lambda 関数を呼び出します。

  • シークレットリソースにアクセスします。

  • ストリームマネージャーと対話します。

のダウンロードAWS IoT Greengrassお使いの言語またはプラットフォーム用の Core SDK。

詳細については、「AWS IoT Greengrass Core SDK」を参照してください。

 

サポートされている Machine Learning ランタイムおよびライブラリ

Greengrass コアで推論を実行するには、ML モデルタイプ用の機械学習ランタイムまたはライブラリをインストールする必要があります。

AWS IoT Greengrass は、次の ML モデルタイプをサポートしています。モデルタイプおよびデバイスプラットフォーム用のランタイムまたはライブラリをインストールする方法については、次のリンクを参照してください。

機械学習のサンプル

AWS IoT Greengrass には、サポートされている ML ランタイムとライブラリで使用できるサンプルが用意されています。これらのサンプルは、Greengrass Core ソフトウェアライセンス契約に従ってリリースされます。

Deep learning runtime (DLR)

お使いのデバイスプラットフォームのサンプルをダウンロードします。

DLR サンプルを使用するチュートリアルについては、「最適化された機械学習推論を AWS Management Console を使用して設定する方法」を参照してください。

MXNet

お使いのデバイスプラットフォームのサンプルをダウンロードします。

MXNet サンプルを使用するチュートリアルについては、「AWS Management Console を使用して機械学習推論を設定する方法」を参照してください。

TensorFlow

お使いのデバイスプラットフォーム用の Tensorflow サンプルをダウンロードします。このサンプルは、Raspberry Pi、NVIDIA Jetson TX2、Intel Atom で動作します。

 

AWS IoT Greengrass ML SDK ソフトウェア

-AWS IoT Greengrass Machine Learning SDKを使用すると、作成した Lambda 関数がローカルの機械学習モデルを使用し、データをML フィードバックコネクタを使用して、アップロードと公開を行います。

v1.1.0
v1.0.0

ご意見をお待ちしております

ご意見をお待ちしております。お問い合わせの場合は、AWS IoT Greengrass フォーラムをご利用ください。