AWS IoT Greengrass コアでのデータストリームの管理 - AWS IoT Greengrass

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

AWS IoT Greengrass コアでのデータストリームの管理

AWS IoT Greengrass ストリームマネージャにより、大容量の IoT データを AWS クラウド。ストリームマネージャーは、データストリームをローカルで処理し、AWS クラウドに自動的にエクスポートします。この機能は、機械学習 (ML) 推論などの一般的なエッジシナリオと統合され、AWS クラウドまたはローカルストレージの送信先にエクスポートされる前にローカルで処理および分析されます。

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

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

_への自動エクスポートを構成できます。 AWS 保存用またはさらなる処理と分析用のクラウド。ストリームマネージャは、以下のAWS Cloud送信先へのエクスポートをサポートします。

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

  • Kinesis Data StreamsのストリームKinesis Data Streamsは、一般的に大容量データを集約してデータウェアハウスや MapReduce クラスターにロードするために使用されます。詳細については、次のガイドAmazon Kinesis Data Streamsの「 とは」を参照してくださいAmazon Kinesis Developer Guide

  • 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 Greengrass Core SDK. シンプルなワークフローでは、ユーザー定義の Lambda Greengrassコアで実行される関数は、 IoT 時系列温度および圧力メトリックなどのデータ。この Lambda 関数は、データをフィルタリングまたは圧縮してから AWS IoT Greengrass Core SDK を呼び出して、ストリームマネージャーのストリームにデータを書き込むことがあります。ストリームマネージャーは、ストリームに定義されたポリシーに基づいて、ストリームを自動的に AWS クラウドにエクスポートできます。ユーザー定義 Lambda 関数では、ローカルデータベースまたはストレージリポジトリにデータを直接送信することもできます。

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

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


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

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

Stream Managerを構成した後、 IoT アプリケーション。これらは通常、ユーザー定義の Lambda 使用する機能 StreamManagerClient を AWS IoT Greengrass Core SDK ストリームを作成して対話的に操作できます。ストリーム作成中、 Lambda 機能は、エクスポート先、優先度、永続性などのストリームごとのポリシーを定義します。のコードスニペットを含む詳細情報 StreamManagerClient 操作、参照 使用 StreamManagerClient ストリームとの共同作業を.

簡単なワークフローを設定するチュートリアルについては、次を参照してください。 AWSクラウドへのデータストリームのエクスポート (コンソール) 又は データ ストリームを AWS クラウド(CLI).

Requirements

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

  • 必ず AWS IoT Greengrass コアソフトウェア v1.10 or laterストリームマネージャを有効にした場合。詳細については、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

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

     

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

     

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

    • Java SDK (v1.4.0 以降)

    • Python SDK (v1.5.0 以降)

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

    対応する SDK のバージョンをダウンロードします。 Lambda 関数ランタイムに実行し、 Lambda 機能展開パッケージ。

    注記

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

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

    あなたは、これらの AWS クラウド・リソース。

データセキュリティ

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

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

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

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

     

  • ローカルで転送中のデータ. AWS IoT Greengrass は、データ ソース間のコア上のローカル転送でストリーム データを暗号化しません。 Lambda 機能、 AWS IoT Greengrass Core SDK、およびストリームマネージャ。

     

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

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

クライアント認証

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

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

  有効 無効

パラメータ値

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

false

許可されるクライアント

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

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

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

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