AWS IoT Analytics とは? - AWS IoT Analytics

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

AWS IoT Analytics とは?

AWS IoT Analytics では、IoT デバイスのデータの分析に必要なステップが自動化されます。AWS IoT Analytics では、分析用の時系列データストアに保存する前の IoT データのフィルタリング、変換、強化が行われます。デバイスから必要なデータのみを収集して、数学的変換を適用してデータを処理し、処理されたデータを保存する前にデバイスの種類や場所などのデバイス固有のメタデータでデータを強化するサービスを設定できます。また、内蔵の SQL クエリエンジンを使用してクエリを実行することでデータを分析したり、複雑な分析や機械学習の推論を実行したりすることができます。AWS IoT Analytics では Jupyter Notebook との統合により高度なデータ探索が可能です。AWS IoT Analytics ではさらに Amazon QuickSight との統合によりデータの可視化も可能になります。Amazon QuickSight は次のリージョンで利用可能です。

従来の分析およびビジネスインテリジェンスツールは、構造化されたデータを処理するように設計されています。生の IoT データは、多くの場合、あまり構造化されていないデータ 温度、モーション、サウンドなどが記録されるデバイスから送信されます。この結果、これらのデバイスのデータには、大きな誤差やメッセージの破損、誤認識が含まれる場合があるため、分析を行う前にクリーンアップする必要があります。また、IoTのデータは、外部ソースの他のデータとの関連性の中でしか意味を持たないことが多いものです。AWS IoT Analytics を利用して、これらの問題への対処、大量のデバイスデータの収集、メッセージの処理と保存を実行できます。さらにデータのクエリと分析が可能になります。AWS IoT Analytics には一般的な IoT ユースケース用のモデルが組み込まれているため、どのデバイスが故障する可能性があるか、どの顧客がウェアラブルデバイスを廃棄する可能性があるかなどの質問に回答できます。

AWS IoT Analytics を使用する方法

次の図は AWS IoT Analytics の使用方法の概要を示しています。


    AWS IoT Analytics の使用方法の概要

主な特徴

収集
  • AWS IoT Core への統合 — AWS IoT Analytics は AWS IoT Core と完全に統合されているため、コネクテッドデバイスからストリーミングされたメッセージを受信できます。

  • バッチ API を使用した任意のソースからのデータの追加 — AWS IoT Analytics は HTTP を介して任意のソースからのデータを受信できます。つまり、インターネットに接続された任意のデバイスやサービスから AWS IoT Analytics にデータを送信できます 詳細については、AWS IoT Analytics API リファレンスBatchPutMessage を参照してください。

  • 保存・分析するデータに限定した収集 — AWS IoT Analytics コンソールを使用すれば、MQTT トピックフィルターを通じてデバイスからのメッセージがさまざまな形式と頻度で受信されるように AWS IoT Analytics を設定することができます。AWS IoT Analytics では、定義した特定のパラメータ内にそのデータがあることが検証され、チャネルが作成されます。次に、これらのチャネルを適切なパイプラインにルーティングして、メッセージの処理、変換、強化を行います。

処理
  • 最適化とフィルター — AWS IoT Analytics では、AWS IoT Analytics が欠落データを検出したときにトリガーされる AWS Lambda 関数を定義すれば、コードを実行して欠落を推定し、それを埋めることができます。また、最大フィルター、最小フィルター、パーセンタイルのしきい値を定義して、データ上の異常値を削除することもできます。

  • 変換 — AWS IoT Analytics では、定義した数学的または条件付きロジックを使用してメッセージを変換できるため、摂氏のような一般的な計算を華氏に変換することができます。

  • 強化 — AWS IoT Analytics では、天気予報などの外部データソースを使用してデータを強化し、そのデータを AWS IoT Analytics データストアにルーティングできます。

保存
  • 時系列データストア - AWS IoT Analytics では、最適化した高速な取り出しと分析用の時系列データストアにデバイスデータを保存します。アクセス許可の管理、データ保持ポリシーの実装、外部アクセスポイントへのデータのエクスポートを行うこともできます。

  • 処理済みデータと生データの保存 — AWS IoT Analytics では、処理されたデータを保存するだけでなく、取り込まれた未加工データも自動的に保存されるため、後でそのデータを処理することができます。

分析
  • アドホック SQL クエリの実行 — AWS IoT Analytics には、SQL クエリエンジンが用意されているため、アドホッククエリを実行して結果を迅速に取得できます。また、このサービスでは、標準の SQL クエリを使用してデータストアからデータを抽出し、コネクテッド車両群の平均走行距離や、午後 7 時以降に閉鎖されるスマートビルディングの部屋数などの質問に回答することができます。これらのクエリは、接続されたデバイスやフリートのサイズ、分析要件が変更されても再利用することができます。

  • 時系列分析 - AWS IoT Analytics は時系列分析に対応しているため、時間の経過とともにデバイスのパフォーマンスを分析したり、使用方法や使用場所を把握するだけでなく、デバイスデータを継続的に監視してメンテナンスの問題を予測したり、センサーを監視して環境条件を予測して反応させることができます。

  • 高度な分析と機械学習向けにホストされたノートブック – AWS IoT Analytics では、統計的分析と Machine Learning 向けにホストされたノートブックが Jupyter Notebook でサポートされます。このサービスには、AWS により作成された機械学習モデルと可視化が含まれている一連のノートブックテンプレートがあります。これらのテンプレートを使用すれば、デバイス故障プロファイリング、顧客が製品を廃棄する目安となる使用量の低下などの予測イベント、顧客の使用レベル 例: 使用頻度の高いユーザー、週末のみ使用するユーザーやデバイスのヘルス状態に基づくデバイスのセグメント化に関する IoT ユースケースを開始できます。ノートブックを作成すると、指定したスケジュールに基づいてこのノートブックをコンテナ化して実行できます。詳細については、「ワークフローの自動化」を参照してください。

  • 予測 — ロジスティック回帰と呼ばれる方法で、統計的な分類を行うことができます。また、長短期記憶 LSTMを使用することもできます。LSTM は、時間の経過とともに変化するプロセスの出力や状態を予測する強力なニューラルネットワーク技術です。あらかじめ作成されているノートブックテンプレートは、デバイスをセグメント化する k 平均法アルゴリズムをサポートしています。これにより、デバイスは、デバイスのグループにクラスタ化されます。これらのテンプレートは通常、チョコレート工場の HVAC ユニットや風力タービンの羽根の摩耗や破損といったデバイスの健全性や状態のプロファイリングに使用されます。ここでも、これらのノートブックテンプレートをコンテナ化し、スケジュールに従って実行できます。

構築および可視化
  • Amazon QuickSight の統合 - AWS IoT Analytics には Amazon QuickSight へのコネクタがあるので、QuickSight ダッシュボードでデータセットを可視化することができます。

  • コンソールの統合 - また、AWS IoT Analytics コンソール内に組み込まれている Jupyter Notebook で、結果やアドホック分析を可視化することもできます。

AWS IoT Analytics のコンポーネントおよび概念

チャンネル

チャネルは、MQTT トピックからデータを収集し、未処理の raw メッセージをアーカイブしてから、データをパイプラインに発行します。BatchPutMessage API を使用して、チャンネルにメッセージを直接送信することもできます。未処理のメッセージは、お客様または AWS IoT Analytics が管理する Amazon Simple Storage Service Amazon S3バケットに保存されます。

パイプライン

パイプラインではチャネルからのメッセージが消費されます。パイプラインを使用すれば、メッセージをデータストアに保存する前にメッセージを処理することができます。このステップはアクティビティと呼ばれ パイプラインアクティビティ)、メッセージで変換を実行します。これには、メッセージ属性の削除/名前変更/追加、属性値に基づくメッセージのフィルタ処理、高度な処理のためのメッセージでの Lambda 関数の呼び出し、数値変換の実行によるデバイスデータの正規化などが含まれます。

データストア

パイプラインは、処理されたメッセージをデータストアに保存します。データストアはデータベースではなく、メッセージのスケーラブルでクエリ可能なリポジトリです。異なるデバイスや場所から送信されたメッセージに対して複数のデータストアを使用したり、パイプラインの設定と要件によってメッセージ属性でフィルタしたりできます。未処理のチャネルメッセージと同様に、データストアの処理済みメッセージは、お客様または AWS IoT Analytics によって管理されている Amazon S3 バケットに保存されます。

データセット

データセットを作成することでデータストアからデータを取得します。AWS IoT Analytics では SQL データセットまたはコンテナデータセットを作成できます。

データセットを作成したら、Amazon QuickSight と連携してデータを探索し、インサイトを得ることができます。また、Jupyter Notebook と連携してより高度な分析機能を実行することもできます。Jupyter Notebook は、機械学習と様々な統計的分析を実行できる強力なデータサイエンスツールを備えています。詳細については、「ノートブックテンプレート」を参照してください。

データセットのコンテンツを Amazon S3 バケットに送信して、既存のデータレイクとの統合、または社内アプリケーションと可視化ツールからのアクセスができます。デバイスやプロセスのオペレーション時の障害や変化をモニタリングし、このようなイベントが発生した時に追加のアクションをトリガーするサービスである AWS IoT Events への入力としてデータセットコンテンツを送信できます。

SQL データセット

SQL データセットは、SQL データベースの具体化されたビューに似ています。SQL アクションを適用して SQL データセットを作成することができます。SQL データセットは、トリガーを指定して、定期的なスケジュールで自動的に生成できます。

コンテナデータセット

コンテナデータセットでは、自動で分析ツールを実行して結果を生成できます。詳細については、「ワークフローの自動化」を参照してください。コンテナデータセットでは、入力としての SQL データ、分析ツールと必要なライブラリファイルが含まれた Docker コンテナ、入力と出力の変数、およびオプションのスケジュールトリガーが 1 つにまとめられます。入力と出力の変数では、データを取得して結果を保存する先を実行可能イメージに指示します。トリガーによる分析は、SQL データセットでコンテンツの作成が終了した時点で実行されるか、時間のスケジュール式に従って実行されます。コンテナデータセットは、分析ツールの実行、結果の生成と保存を自動的に行います。

Trigger トリガー)

トリガーを指定して、データセットを自動的に作成できます。トリガーは、時間間隔 たとえば、このデータセットを 2 時間ごとに作成するなど)、あるいは別のデータセットのコンテンツの作成時 たとえば、myOtherDataset がコンテンツの作成を終了したときにこのデータセットを作成する、などに指定できます。あるいは、CreateDatasetContent API を使用してデータセットコンテンツを手動で生成することもできます。

Docker コンテナ

独自の Docker コンテナを作成して分析ツールをパッケージ化することも、SageMaker で提供されるオプションを使用することもできます。詳細については「Docker コンテナ」を参照してください。独自の Docker コンテナを作成して分析ツールをパッケージ化することも、SageMaker で提供されるオプションを使用することもできます。指定する Amazon ECR レジストリにコンテナを保存できるため、使用するプラットフォームでインストールできます。Docker コンテナでは、Matlab、オクターブ、Wise.io、SPSS、R、Fortran、Python、Scala、Java、C++ などで使用できるように準備されたカスタムの分析コードを実行できます。詳細については「ノートブックのコンテナ化」を参照してください。

デルタウィンドウ

デルタウィンドウは、重複することなく連続する時間間隔であり、ユーザーが定義します。デルタウィンドウを使用すると、前回の分析以降にデータストアに到着した新しいデータを使用してデータセットコンテンツを作成し、これらのデータに対して分析を実行できます。デルタウィンドウを作成するには、データセットの queryActionfilters 部分に deltaTime を設定します。詳細については、CreateDataset API を参照してください。通常は、時間間隔トリガー triggers:schedule:expressionも設定して、データセットコンテンツを自動的に作成します。この操作で特定の時間ウィンドウに到着したメッセージをフィルタリングし、以前の時間ウィンドウのメッセージに含まれたデータが重複してカウントされないようにします。詳細については「例 6 -- デルタウィンドウを使用して SQL データセットを作成する CLI)」を参照してください。

AWS IoT Analytics へのアクセス

AWS IoT の一部として、AWS IoT Analytics には以下のインターフェイスがあり、これを使って、デバイスでデータを生成し、そのデータをアプリケーションで操作することができます。

AWS Command Line Interface (AWS CLI)

Windows、OS X、Linux で AWS IoT Analytics のコマンドを実行します。これらのコマンドで、モノ、証明書、ルール、およびポリシーを作成し、管理することができます。使用を開始するには、「AWS Command Line Interfaceユーザーガイド」を参照してください。AWS IoT のコマンドの詳細については、AWS Command Line Interface リファレンスiot を参照してください。

重要

AWS IoT Analytics を操作するには aws iotanalytics コマンドを使用します。IoT システムの他の部分を操作するには、aws iot コマンドを使用します。

AWS IoT API

HTTP または HTTPS リクエストを使用して IoT アプリケーションを構築します。これらの API アクションで、モノ、証明書、ルール、およびポリシーを作成し、管理することができます。詳細については、AWS IoT API リファレンスガイドの「 アクション」を参照してください。

AWS SDK

言語固有の API を使用して AWS IoT Analytics アプリケーションを構築します。これらの SDK により HTTP と HTTPS API がラップされ、サポートされている言語でプログラミングを実行できます。詳細については、AWS の SDK およびツールを参照してください。

AWS IoTDevice SDKs

AWS IoT Analytics にメッセージを送信するデバイスで実行されるアプリケーションを構築します。詳細については、AWS IoTSDK をご参照ください。

AWS IoT Analytics コンソール

コンポーネントを構築すれば AWS IoT Analytics コンソールで結果を可視化できます。

ユースケース

予知保全

AWS IoT Analytics には、予測メンテナンスモデルを構築してデバイスに適用するためのテンプレートが用意されています。たとえば、AWS IoT Analytics では、コネクテッド貨物車で冷暖房装置が故障する可能性が高い時期を予測し、車両の経路を変更して、輸送中の損傷を防ぐことができます。自動車メーカーでは、お客様の摩耗したブレーキパッドを検知し、車両のメンテナンスを勧めるアラートを提供できます。

サプライ品の事前補充

AWS IoT Analytics では、在庫をリアルタイムで監視できる IoT アプリケーションを構築できます。たとえば、食品飲料会社は、フード自動販売機のデータを分析し、サプライ品が不足すると事前に商品を再注文することができます。

プロセス効率のスコアリング

AWS IoT Analytics では、さまざまなプロセスの効率を常に監視し、プロセスを改善するアクションを実行する IoT アプリケーションを構築できます。たとえば、鉱業会社では、1 回で輸送できる量を最大化して、鉱石トラックの効率を高めることができます。AWS IoT Analytics では、時間の経過とともに場所やトラックに最も効率的な積載量を見極め、目標量との偏差をリアルタイムで比較して積載ガイドラインを改善することで、効率を高めることができます。

スマートアグリカルチャー

AWS IoT Analytics では、時間や場所、温度、高度などの環境条件が分析に反映されるように、AWS IoT レジストリデータまたはパブリックデータソースを使用して、環境に応じたメタデータで IoT デバイスデータを強化できます。この分析を使用して、お使いのデバイス用に推奨されるアクションを出力してフィールドに取り込むモデルを作成できます。たとえば、かんがいシステムでは、湿度センサーのデータを降雨データで強化することで注水時期を決定し、水を効率的に使用できます。