AWS IoT Analytics のよくある質問

Q:AWS IoT Analytics とは何ですか?

AWS IoT Analytics は、完全マネージド型の IoT 分析サービスで、IoT デバイスデータの大規模な収集、事前処理、強化、保存、分析を行います。 IoT Analytics では、シンプルなアドホッククエリや複雑な分析を実行できます。また、デバイスパフォーマンスの確認、デバイス障害の予測、および Machine Learning の目的で IoT 分析をより簡単に実行できます。IoT 向けに特別に設計されており、メッセージのタイムスタンプが自動的にキャプチャおよび保存されるため、時系列分析を簡単に実行できます。 IoT Analytics では、AWS IoT レジストリを使用し、デバイスの種類や場所など、デバイス固有のメタデータによってデータを強化することもできます。 また、AWS IoT Analytics では、IoT 向けに最適化されたデータストアにデータが保存されるため、大規模なデータセットに対してクエリを実行できます。AWS IoT Analytics では、独自に作成したコードコンテナを実行することもできます。AWS IoT Analytics では、Jupyter Notebook や独自のツール (Matlab、Octave など) で作成したカスタム分析の実行を自動化して定期的に実行できます。

Q:AWS IoT Analytics はどのように動作しますか?

AWS IoT Analytics は AWS IoT Core と完全に統合されているため、簡単に使用を開始できます。まず、チャネルを定義して収集するデータを選択します。これにより、センサーの温度といった対象データのみを保存して分析します。チャネルがセットアップされたら、データを処理するパイプラインを設定します。パイプラインでは、摂氏と華氏の換算などの変換、条件ステートメント、メッセージのフィルタリング、外部データソースや AWS Lambda 関数を使用したメッセージの強化がサポートされています。

データはパイプラインで処理された後、IoT Analytics によって IoT 向けに最適化された分析用のデータストアに保存されます。組み込みの SQL クエリエンジンを使用してクエリを実行することで、特定の業務上の質問に対する回答を得られます。たとえば、フリートのデバイス別に各月のアクティブユーザー数を把握できます。Amazon SageMaker との統合により、IoT Analytics ではベイズ推定や Machine Learning などの、より高度な分析がサポートされています。また、Amazon QuickSight とも統合されているため、可視化やダッシュボード作成を簡単に行って、IoT Analytics のデータからすばやくビジネスインサイトを得ることができます。

Q:AWS IoT Analytics でカスタム分析コードを実行できますか?

コンテナにパッケージ化された独自のカスタム分析を持ち込んで AWS IoT Analytics で実行できます。カスタムコードコンテナをコンテナデータセットにインポートし、コンテナの実行をスケジュールできます。

Q.SQL データセットとコンテナデータセットの違いは何ですか?

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

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

Q:DeltaTime ウィンドウとは何ですか?

Delta ウィンドウは、重複することなく連続する時間間隔であり、ユーザーが定義します。Delta ウィンドウを使用すると、前回の分析以降にデータストアに到着した新しいデータを使用してデータセットコンテンツを作成し、これらのデータに対して分析を実行できます。Delta ウィンドウを作成するには、データセットの queryAction のフィルター部分に DeltaTime を設定します。基本的には、この操作で特定の時間ウィンドウに到着したメッセージをフィルタリングし、以前の時間ウィンドウのメッセージに含まれたデータが重複してカウントされないようにします。

Q:AWS IoT Analytics でカスタムコードコンテナを独自のスケジュールで実行するには、どうしますか?

コンテナにパッケージ化された独自のカスタム分析コードを持ち込んで AWS IoT Analytics で実行できます。コンテナデータセットは、AWS IoT Analytics コンソールまたは API で作成できます。これを作成するには、SQL データセット、カスタムコードコンテナイメージ、入力と出力の変数、およびオプションのスケジュールトリガー (SQL データセットのコンテンツ作成イベント、またはスケジュール) をパラメータとして指定します。コンテナデータセットは、SQL データセットのコンテンツをコンテナイメージ内の分析コードにフィードし、トリガーに基づいて自動的にイメージを実行して、独自に設定されたスケジュールでインサイトを生成します。

Q:データストアとチャネルにはどのような保持ポリシーがありますか?

データストアとチャネルには独自のデータ保持ポリシーを設定できます。保持期間には任意の日数を選択できます。任意の保持期間を選択しない場合、データはサービスによって無期限で保持されます。

Q:AWS IoT Analytics ではどのようなメッセージ形式がサポートされていますか?

AWS IoT Analytics サービスでは、JSON 形式とバイナリ形式 (バイナリ JSON、プロトコルバッファなど) がサポートされています。メッセージがバイナリ形式の場合、パイプラインの最初のアクティビティは有効な JSON を出力とする Lambda アクティビティであることが必要です。

Q:パイプラインへのチャネルのデータを再処理できますか?

はい。StartPipelineReprocessing を使用して、パイプラインに接続されたチャネルのデータを再処理できます。別のパイプラインを使用してチャネルのデータを再処理する場合は、使用するパイプラインを該当するチャネルに接続する必要があります。

Q:Ingestion API を使用して AWS IoT Analytics にデータを送信するにはどうすればよいですか?

BatchPutMessage API を使用して、Amazon S3Amazon Kinesis などのデータソースから AWS IoT Analytics にデータを送信できます。この API を、Lambda 関数やその他のスクリプトで使用することで、AWS IoT Analytics にデータを送信できます。詳細については、S3 から IoT Analytics にデータを送信する方法や、Kinesis から IoT Analytics にデータを送信する方法をご覧ください。

Q:チャネル内のメッセージをプレビューできますか?

はい。SampleChannelData API を使用して、メッセージをプレビューできます。この API を使用すると、チャネル内のすべてのデータから最大 10 件のメッセージがサンプリングされます。

Q:パイプラインアクティビティをシミュレートできますか?

はい。RunPipelineActivity API またはコンソールを使用して、パイプラインアクティビティをシミュレートできます。この API では、SampleChannelData から取得されたか手動で指定されたサンプルデータのリストを使用して、アクティビティをシミュレートし、結果をプレビューします。

Q:AWS IoT Analytics と Amazon Kinesis Analytics の違いは何ですか?

AWS IoT Analytics は IoT 向けに特別に設計されており、メッセージのタイムスタンプが自動的にキャプチャおよび保存されるため、時系列分析を簡単に実行できます。また、IoT Analytics では、AWS IoT レジストリや他の公開データソースを使用して、デバイスの種類や場所など、デバイス固有のメタデータによってデータを強化することもできます。IoT Analytics では、IoT 向けに最適化されたデータストアにデバイスデータが保存されるため、大規模なデータセットに対してクエリを実行できます。

Amazon Kinesis Analytics は、IoT デバイスや他のデータソースからのストリーミングデータをリアルタイムで簡単に処理するよう設計された汎用ツールです。

表 1: AWS IoT Analytics とKinesis Analytics の特徴の比較

特徴 AWS IoT Analytics
Amazon Kinesis Analytics
時系列データのストレージ X  
メッセージのタイムスタンプとデバイス ID による自動的なデータパーティション X  
デバイス固有のデータによる強化 X  
大規模なデータセットに対するクエリ X  
ストリーミング分析   X
リアルタイム処理 分単位または秒単位のレイテンシー 秒単位またはミリ秒単位のレイテンシー
時間枠でのオペレーション   X
非構造化データの解析とスキーマの自動作成 JSON と CSV JSON と CSV

Q:AWS IoT Analytics と Amazon Kinesis Analytics はそれぞれどのような使用に適していますか?

IoT 分析には AWS IoT Analytics を使用できます。ユースケースの例として、デバイスの長期的なパフォーマンスの把握、ビジネスレポート作成とアドホック分析、フリートの予知保全などが挙げられます。 IoT Analytics では、デバイスからのデータが収集および準備され、IoT 向けに最適化されたデータストアで長期保存されるため、このようなユースケースに最適です。 また、IoT Analytics の場合は、AWS IoT レジストリや公開データソースを使用して、デバイスの種類や場所など、デバイス固有のメタデータによってデータを強化することもできます。

ただし、デバイスのモニタリングなど、IoT データをリアルタイムで分析する必要がある場合は、Amazon Kinesis Analytics を使用できます。

表 2: AWS IoT Analytics とKinesis Analytics のユースケースの比較

ユースケース
AWS IoT Analytics Amazon Kinesis Analytics
デバイスの長期的なパフォーマンス特性を把握する はい。  AWS IoT レジストリや他の公開データソースを使用して、デバイスの種類や場所など、IoT 固有のメタデータによって IoT データを強化できます。たとえば、ぶどう園の経営者は、湿度センサーのデータをぶどう園の予想降雨量で強化することで、作物に供水するタイミングを把握できます。   いいえ。リアルタイムのストリーミング分析に最適です。
IoT データに関するビジネスレポート作成とアドホック分析を行う はい。IoT データを収集、処理、保存し、AWS QuickSight と連携してダッシュボードの構築やレポートの作成を行い、組み込みの SQL クエリエンジンを使用してアドホッククエリを実行します。  たとえば、フリート全体のセンサーエラーを集計して、フリートのパフォーマンスを毎週報告します。 いいえ。センサーの障害発生時にアラートを生成するなど、IoT データに対してストリーミングクエリを実行するために最適です。 
フリートの予知保全 はい。IoT データを収集、処理、保存し、事前定義済みのテンプレートを使用して予知モデルの構築とデプロイを行います。  たとえば、コネクテッドカーの HVAC システムの障害発生を予測することで、コネクテッドカーの経路を変更して迅速にドッキングし、運送時の損害を回避できます。 いいえ。予知保全には、モデルを構築するための長期的なデータの履歴分析が必要です。 
リアルタイムのデバイスモニタリング いいえ。 はい。Kinesis Analytics を使用すれば、時間枠におけるデータを継続的に集計し、異常を検出して、アラート送信などのアクションを実行できます。たとえば、Kinesis Analytics では、5 分ごとに産業機器のバルブ温度の 10 秒間のローリング平均を計算し、一定のしきい値プリセットを超えた温度を検出できます。その後、制御システムにアラートが通知されると、機器が自動的に停止するため、事故を回避できます。 

Q:AWS IoT Analytics と Amazon Kinesis はどのような場合に併用しますか?

履歴分析とリアルタイム分析の両方が必要な場合は、AWS IoT Analytics と Amazon Kinesis を併用します。たとえば、Kinesis Analytics を使用して、産業機器のバルブ温度の 10 秒間のローリング平均を計算し、一定のしきい値を超えた温度を検出します。その後、Kinesis Analytics から制御システムにアラートが通知されると、機器が自動的に停止するため、事故を回避できます。次に、Kinesis Streams を使用してデータを IoT Analytics に送信します。IoT Analytics を使用することで、傾向を把握し、バルブの交換や修理が必要な時期を予測できます。

Q:IoT データで作業をする場合、AWS IoT Analytics、Amazon Kinesis Streams、Amazon Kinesis Analytics、Amazon Kinesis Firehose をどのように使い分けますか?

AWS Lambda を使用して、Amazon Kinesis Streams から AWS IoT データチャネルにデータを送信し、次に AWS IoT Analytics にデータを送信できます。

Amazon Kinesis Analytics はストリーミング分析向けに設計されているのに対し、IoT Analytics は保存データの分析向けに設計されています。リアルタイム分析と IoT 分析の両方が必要な場合は、Kinesis Analytics と IoT Analytics を組み合わせて使用できます。

Amazon Kinesis Firehose はストリーミングデータを Amazon S3Amazon RedshiftAmazon Elasticsearch Service などの AWS データストアにロードする最も簡単な方法です。これにより、既存のビジネスインテリジェンスツールを使用してほぼリアルタイムの分析を実行できます。IoT Analytics では、Kinesis Firehose をデータソースとして使用できません。

Q:AWS IoT Analytics と Amazon Kinesis Video Streams はそれぞれどのような使用に適していますか?

Amazon Kinesis Video Streams では、カメラ、深度センサー、RADAR などのソースから動画、音声、その他時間でエンコードされたデータを AWS に安全かつ簡単にストリーミングし、Machine Learning、分析、その他のアプリケーションでリアルタイム処理およびバッチ処理を実行できます。Kinesis Video Streams は特にデバイスから動画データを取り込むよう設計されているのに対し、AWS IoT Analytics は動画以外の IoT データを分析するよう設計されています。GA では、Kinesis Video Streams と AWS IoT Core または IoT Analytics は直接統合されてはいません。ただし、API を使用して Kinesis Video Streams と IoT Analytics に対してアプリケーションからクエリを実行できます。

さらに AWS IoT Analytics の特徴を調べる

特徴ページをご覧ください
始める準備はできましたか?
無料でお試しください
ご不明な点がありますか?
お問い合わせ