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

Greengrass コアデバイスでのデータストリームの管理

AWS IoT Greengrass ストリームマネージャーは、大量の IoT データを AWS クラウド に転送する効率と信頼性を向上させます。ストリームマネージャーは、AWS クラウド にデータストリームをエクスポートする前に、AWS IoT Greengrass コアで処理します。ストリームマネージャーは、機械学習 (ML) の推論など、一般的なエッジシナリオと統合し、AWS IoT Greengrass コアデバイスがデータを AWS クラウド またはローカルストレージの送信先にエクスポートする前に、データを処理して分析します。

ストリームマネージャーは共通のインターフェースを提供して、カスタムコンポーネント開発を簡素化するため、カスタムストリーム管理機能を構築する必要はありません。コンポーネントは、標準化されたメカニズムを使用して大量のストリームを処理して、ローカルデータ保持ポリシーを管理できます。ストレージタイプ、サイズ、データ保持に関するポリシーをストリームごとに定義して、ストリームマネージャーがデータを処理とエクスポートする方法を制御できます。

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

保存またはさらなる処理と分析するため、ストリームマネージャーが AWS クラウド にデータを自動的にエクスポートするように設定できます。ストリームマネージャーは、次の AWS クラウド 送信先へのエクスポートをサポートしています:

  • AWS IoT Analytics のチャネル。AWS IoT Analytics はデータに高度な分析を可能にし、ビジネス上の判断と機械学習モデルの改善に役立ちます。詳細については、AWS IoT Analytics ユーザーガイドの「AWS IoT Analytics とは何か」を参照してください。

  • Amazon Kinesis Data Streams のストリーム。Kinesis Data Streams を使用し、大量のデータを集約してデータウェアハウスまたは MapReduce クラスターにロードできます。詳細については、Amazon Kinesis Data Streams デベロッパーガイドの「Amazon Kinesis Data Streams とは」を参照してください。

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

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

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

IoT アプリケーションは、ストリームマネージャー SDK を介してストリームマネージャーとやり取りします。

単純なワークフローでは、AWS IoT Greengrass コアのコンポーネントは、時系列温度と圧力メトリクスなど、IoT データを消費します。コンポーネントは、データをフィルタリングまたは圧縮し、ストリームマネージャー SDK を呼び出して、ストリームマネージャーのストリームにデータを書き込むことがあります。ストリームマネージャーは、ストリームに定義したポリシーに基づいて、ストリームを自動的に AWS クラウド にエクスポートできます。コンポーネントは、ローカルデータベースまたはストレージリポジトリにデータを直接送信することもできます。

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

開始するには、ストリームマネージャーコンポーネントを AWS IoT Greengrass コアデバイスに展開してください。デプロイで、ストリームマネージャーコンポーネントのパラメータを設定して、Greengrass コアデバイスのすべてのストリームに適用される設定を定義します。これらのパラメータを使用し、ビジネスニーズと環境の制約に基づいて、ストリームマネージャーがストリームを保存、処理、エクスポートする方法を制御します。

ストリームマネージャーを設定したら、IoT アプリケーションを作成してデプロイできます。これらは通常、ストリームを作成してやり取りするため、ストリームマネージャー SDK で StreamManagerClient を使用するカスタムコンポーネントです。ストリームを作成するとき、エクスポート送信先、優先度、永続性など、ストリームごとのポリシーを定義できます。

要件

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

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

  • AWS IoT Greengrass コンポーネントは、ストリームマネージャーとやり取りするためにストリームマネージャー SDK を使用する必要があります。ストリームマネージャー SDK は次の言語で利用可能です。

  • AWS IoT Greengrass コンポーネントはストリームマネージャーを使用するため、ストリームマネージャーコンポーネント (aws.greengrass.StreamManager) をレシピで従属関係として指定する必要があります。

    注記

    ストリームマネージャーを使用してデータをクラウドにエクスポートする場合、ストリームマネージャーコンポーネントのバージョン 2.0.7 を v2.0.8 と v2.0.11 の間のバージョンにアップグレードすることはできません。ストリームマネージャーを初めてデプロイする場合、ストリームマネージャーコンポーネントの最新バージョンをデプロイすることを強くお勧めします。

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

    これらの AWS クラウド リソースを維持する責任があります。

データセキュリティ

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

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

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

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

  • ローカルで転送中のデータ。AWS IoT Greengrass は、データソース、AWS IoT Greengrass コンポーネント、ストリームマネージャー間でローカル転送中のストリームデータを暗号化しません。

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

クライアント承認

ストリーム マネージャー クライアントは、ストリームマネージャー SDK を使用してストリームマネージャーと通信します。クライアント認証が有効になっているとき、Greengrass コンポーネントのみがストリームマネージャーのストリームとやり取りできます。クライアント認証が無効になっている場合、Greengrass コアデバイスで実行されているすべてのプロセスは、ストリームマネージャーのストリームとやり取りできます。ビジネスケースで要求される場合にのみ、認証を無効にする必要があります。

クライアント認証モードを設定するには、STREAM_MANAGER_AUTHENTICATE_CLIENT パラメータを使用します。ストリームマネージャーコンポーネントをコアデバイスにデプロイするとき、このパラメータを設定できます。

  有効 無効

パラメータ値

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

false

許可されるクライアント

コアデバイスの Greengrass コンポーネント

コアデバイスの Greengrass コンポーネント

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

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