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ストリームマネージャーを使用すると、大量の IoT データを AWS クラウド 。ストリームマネージャーは、データストリームをローカルで処理し、それらを AWS クラウド 自動的に。この機能は、機械学習 (ML) 推論などの一般的なエッジシナリオと統合され、データは、ローカルで処理および分析され、後で AWS クラウド またはローカルストレージ宛先。

ストリームマネージャーは、アプリケーション開発を簡素化します。IoT アプリケーションは、カスタムストリーム管理機能を構築する代わりに、標準化されたメカニズムを使用して大量のストリームを処理し、ローカルデータ保持ポリシーを管理できます。IoT アプリケーションは、ストリームの読み書きが可能です。ストレージタイプ、サイズ、データ保持に関するポリシーをストリームごとに定義して、ストリームマネージャーがストリームを処理およびエクスポートする方法を制御できます。

ストリームマネージャーは、断続的または制限された接続環境で動作するように設計されています。帯域幅の使用、タイムアウト動作、コアが接続または切断されたときのストリームデータの処理方法を定義できます。重要なデータの場合は、優先順位を設定して、ストリームを AWS クラウド 。

自動エクスポートは、 AWS クラウド 保管またはさらなる処理と分析のために。ストリームマネージャは、次の AWS クラウド 送信先。

  • のチャネルAWS IoT Analytics。AWS IoT Analyticsを使用すると、データに対して高度な分析を実行できるため、ビジネス上の意思決定や機械学習モデルの改善に役立ちます。詳細については、「」を参照してください。とはAWS IoT Analytics?()AWS IoT Analyticsユーザーガイド

  • Kinesis Data Streams のストリーム。Kinesis Data Streams は、通常、大量のデータを集約し、データウェアハウスまたはマップリデュースクラスターにロードするために使用されます。詳細については、「」を参照してください。Amazon Kinesis Data Streams とは()Amazon Kinesis 開発者ガイド

  • アセットプロパティAWS IoT SiteWise。AWS IoT SiteWiseを使用すると、産業機器からデータを大規模に収集、整理、分析できます。詳細については、「」を参照してください。とはAWS IoT SiteWise?()AWS IoT SiteWiseユーザーガイド

  • Amazon S3 のオブジェクト。Amazon S3 を使用すると、大量のデータを保存し、取得できます。詳細については、「」を参照してください。Amazon S3 とは()Amazon Simple Storage Service 開発者ガイド

ストリーム管理ワークフロー

IoT アプリケーションは、を通じてストリームマネージャーと対話します。AWS IoT GreengrassCore SDK。シンプルなワークフローでは、Greengrass コアで実行されているユーザー定義 Lambda 関数が、時系列温度や圧力メトリクスなどの IoT データを消費します。Lambda 関数は、データをフィルタリングまたは圧縮してから、AWS IoT Greengrassストリームマネージャーのストリームにデータを書き込むためのCore SDK。ストリームマネージャは、ストリームを AWS クラウド ストリームに定義されたポリシーに基づいて、自動的に。ユーザー定義 Lambda 関数は、ローカルデータベースまたはストレージリポジトリにデータを直接送信することもできます。

IoT アプリケーションには、ストリームの読み書きを行うユーザー定義 Lambda 関数を複数含めることができます。これらのローカル Lambda 関数は、ストリームに対して読み書きを行い、データをローカルでフィルタリング、集約、分析できます。これにより、コアからクラウドまたはローカルの送信先にデータを転送する前に、ローカルイベントに迅速に対応し、貴重な情報を抽出することができます。

次の図に、ワークフローの例を示します。


                ストリームマネージャーワークフローの図。

ストリームマネージャーを使用するには、Greengrass コア上のすべてのストリームに適用されるグループレベルのランタイム設定を定義するために、ストリームマネージャーパラメータを設定することから始めます。これらのカスタマイズ可能な設定により、ビジネスニーズと環境の制約に基づいて、ストリームマネージャーがストリームを格納、処理、エクスポートする方法を制御できます。詳細については、「AWS IoT Greengrass ストリームマネージャーの設定」を参照してください。

ストリームマネージャーを構成したら、IoT アプリケーションを作成してデプロイできます。これらは通常、ユーザ定義の Lambda 関数であり、StreamManagerClient()AWS IoT Greengrassストリームを作成して操作するための Core SDK です。ストリーム作成時に、Lambda 関数は、エクスポート先、優先度、永続性などのストリームごとのポリシーを定義します。コードスニペットなど、詳細については、StreamManagerClientオペレーションの詳細については、ストリームを操作するために StreamManagerClient を使用する

簡単なワークフローを設定するチュートリアルについては、データストリームを AWS クラウド (コンソール)またはデータストリームを AWS クラウド (CLI)

Requirements

ストリームマネージャーを使用するには、次の要件が適用されます。

  • を使用する必要があります。AWS IoT Greengrassストリームマネージャーを有効にしたコアソフトウェア v1.10 以降。詳細については、「AWS IoT Greengrass ストリームマネージャーの設定」を参照してください。

    注記

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

    ストリームマネージャーは OpenWrt ディストリビューションではサポートされていません。

  • Java 8 ランタイム (JDK 8) をコアにインストールする必要があります。

    • Debian ベースのディストリビューション (Raspbian を含む) または Ubuntu ベースのディストリビューションの場合は、次のコマンドを実行します。

      sudo apt install openjdk-8-jdk
    • Red Hat ベースのディストリビューション (Amazon Linux を含む) の場合は、次のコマンドを実行します。

      sudo yum install java-1.8.0-openjdk

      詳細については、OpenJDK ドキュメントの「How to download and install prebuilt OpenJDK packages」を参照してください。

     

  • ストリームマネージャーには、基本 AWS IoT Greengrass Core ソフトウェアに加えて、最低 70 MB の RAM が必要です。合計メモリ要件は、ワークロードによって異なります。

     

  • ユーザー定義の Lambda 関数は、AWS IoT GreengrassCore SDKストリームマネージャーと対話します。-AWS IoT GreengrassCore SDK は複数の言語で使用できますが、ストリームマネージャー操作をサポートするのは、次のバージョンのみです。

    • Java SDK (v1.4.0 以降)

    • Python SDK (v1.5.0 以降)

    • Node.js SDK (v1.6.0 以降)

    Lambda 関数ランタイムに対応する SDK のバージョンをダウンロードし、Lambda 関数デプロイパッケージに含めます。

    注記

    -AWS IoT GreengrassPython Core SDK には Python 3.7 以降が必要で、他のパッケージの依存関係があります。詳細については、「」を参照してください。Lambda 関数のデプロイパッケージを作成する (コンソール)またはLambda 関数デプロイパッケージを作成する (CLI)

  • 定義すると AWS クラウド ストリームのエクスポート先を作成するには、エクスポートターゲットを作成し、Greengrass グループロールでアクセス権限を付与する必要があります。目的地によっては、他の要件も適用される場合があります。詳細については、以下を参照してください。

    お客様は、これらを維持する責任があります AWS クラウド リソースの使用料金を見積もることができます。

データセキュリティ

ストリームマネージャーを使用する場合は、次のセキュリティ上の考慮事項に注意してください。

ローカルデータセキュリティ

AWS IoT Greengrass は、コアデバイス上のコンポーネント間でローカルに保管時または転送中のストリームデータを暗号化しません。

  • 保管時のデータ。ストリームデータは、Greengrass Core 上のストレージディレクトリにローカルに保存されます。データのセキュリティのために、AWS IoT Greengrass は Unix ファイル権限とフルディスク暗号化が有効になっている場合に依存します。オプションの STREAM_MANAGER_STORE_ROOT_DIR パラメータを使用して、ストレージディレクトリを指定できます。後でこのパラメータを変更して別のストレージディレクトリを使用した場合、AWS IoT Greengrass は以前のストレージディレクトリまたはその内容を削除しません。

     

  • ローカルに転送中のデータ。AWS IoT Greengrassデータソース、Lambda 関数、AWS IoT GreengrassコアSDKとストリームマネージャ。

     

  • に転送中のデータ AWS クラウド 。ストリームマネージャによって AWS クラウド 標準を使用するAWSTransport Layer Security (TLS) を使用したサービスクライアントの暗号化。

詳細については、「データの暗号化」を参照してください。

クライアント認証

ストリームマネージャークライアントは、AWS IoT Greengrassストリームマネージャーと通信するためのCore SDK。クライアント認証が有効になっている場合、Greengrass グループの Lambda 関数だけがストリームマネージャーのストリームと対話できます。クライアント認証が無効になっている場合、Greengrass コアで実行されているプロセス (Docker コンテナなど) は、ストリームマネージャーのストリームと対話できます。ビジネスケースで要求される場合にのみ、認証を無効にする必要があります。

クライアント認証モードを設定するには、STREAM_MANAGER_AUTHENTICATE_CLIENT パラメータを使用します。このパラメータは、コンソールまたは AWS IoT Greengrass API から設定できます。変更は、グループがデプロイされた後に有効になります。

  有効 Disabled

パラメータ値

true (デフォルトおよび推奨)

false

許可されるクライアント

Greengrass グループのユーザー定義 Lambda 関数

Greengrass グループのユーザー定義 Lambda 関数

Greengrass コアデバイスで実行されているその他のプロセス

以下の資料も参照してください。