の開始方法 AWS IoT Analytics (コンソール) - AWS IoT Analytics

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

の開始方法 AWS IoT Analytics (コンソール)

このチュートリアルでは、IoT デバイスデータに関する有用なインサイトを発見するために必要な AWS IoT Analytics リソース (コンポーネントとも呼ばれます) を作成します。

メモ
  • 次のチュートリアルで大文字を入力すると、 AWS IoT Analytics によって自動的に小文字に変更されます。

  • AWS IoT Analytics コンソールには、チャンネル、パイプライン、データストア、データセットを作成するためのワンクリック開始機能があります。この機能は、 AWS IoT Analytics コンソールにサインインするときに確認できます。

    • このチュートリアルでは、 AWS IoT Analytics リソースを作成するための各ステップについて説明します。

チャンネル、パイプライン AWS IoT Analytics 、データストア、データセットを作成するには、次の手順に従います。このチュートリアルでは、コンソールを使用して AWS IoT Core 、 に取り込まれるメッセージを送信する方法も示します AWS IoT Analytics。

AWS IoT Analytics コンソールにサインインする

開始するには、 AWS アカウントが必要です。 AWS アカウントを既にお持ちの場合は、https://console.aws.amazon.com/iotanalytics/ に移動します。

AWS アカウントをお持ちでない場合は、次のステップに従ってアカウントを作成します。

AWS アカウントを作成するには
  1. https://portal.aws.amazon.com/billing/signup を開きます。

  2. オンラインの手順に従います。

    サインアップ手順の一環として、通話呼び出しを受け取り、電話キーパッドで検証コードを入力するように求められます。

    にサインアップすると AWS アカウント、 AWS アカウントのルートユーザーが作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティのベストプラクティスとして、ユーザーに管理アクセスを割り当て、ルートユーザーのみを使用してルートユーザーアクセスが必要なタスクを実行してください。

  3. にサインイン AWS Management Console し、https://console.aws.amazon.com/iotanalytics/ に移動します。

チャネルの作成

チャネルは、生データ、未処理、および非構造化の IoT デバイスデータを収集してアーカイブします。チャネルを作成するには次の手順に従います。

チャネルを作成する
  1. https://console.aws.amazon.com/iotanalytics/とデータの準備 AWS IoT Analyticsセクションで、チャネルの表示 を選択します。

    「 でデータを準備する」のスクリーンショット AWS IoT Analytics。
    ヒント

    ナビゲーションペインから チャネル を選択することもできます。

  2. チャネル ページで、チャネルの作成 を選択します。

  3. チャネルの詳細の指定 ページで、チャネルの詳細情報を入力します。

    1. チャネル名は一意で識別しやすいものを入力してください。

    2. オプション Tags タグ で、1 つまたは複数のカスタムタグ キーと値のペア をチャネルに追加します。タグを使用すると、 AWS IoT Analyticsのために作成するリソースを識別することができます。

    3. [次へ] をクリックします。

  4. AWS IoT Analytics は、未処理の生の IoT デバイスデータを Amazon Simple Storage Service (Amazon S3) バケットに保存します。独自の Amazon S3 バケットを選択できます。このバケットにアクセスして管理することも、Amazon S3 バケット AWS IoT Analytics を管理することもできます。

    1. このチュートリアルでは、ストレージタイプ で、 サービス管理ストレージ を選択します。

    2. 生データ保存期間の選択無期限 を選択します。

    3. 次へ をクリックします。

  5. 「ソースの設定」ページで、 が からメッセージデータを収集 AWS IoT Analytics するための情報を入力します AWS IoT Core。

    1. などの AWS IoT Core トピックフィルターを入力しますupdate/environment/dht1。このチュートリアルでは、後でこのトピックフィルターを使用してメッセージデータをチャネルに送信します。

    2. IAM ロール名 エリアで 新規作成 を選択します。新しいロールの作成 ウィンドウでロールの 名前 を入力し、次に ロールの作成 を選択します。これで、適切なポリシーがアタッチされた新しいロールが自動的に作成されます。

    3. Next 次へ をクリックします。

  6. 選択内容を確認し、チャネルの作成 を選択します。

  7. 新しいチャネルが チャネルページに表示されていることを確認します。

データストアの作成

データストアはメッセージデータの受信と保存を行いいます。データストアはデータベースではありません。データストアは、 Amazon S3 バケット内にあるスケーラブルでクエリ可能なリポジトリです。異なるデバイスまたは場所から取得されたメッセージに対して、複数のデータストアを使用できます。または、パイプラインの設定と要件に応じて、メッセージデータをフィルタリングできます。

データストアを作成するには以下の手順を実行します。

データストアを作成する方法
  1. https://console.aws.amazon.com/iotanalytics/ の AWS IoT Analyticsとデータの準備セクションで、データストアの表示 を選択します。

  2. データストア ページで、データストアの作成を選択します。

  3. データストア詳細の指定ページで、データストアに関する基本情報を入力します。

    1. データストア ID に、一意のデータストア ID を入力します。この ID は作成後には変更できません。

    2. オプショナルタグ新しいタグを追加を選択すれば、データストアに 1 つまたは複数のカスタムタグ キーと値のペア を追加できます。タグを使用すると、 AWS IoT Analyticsのために作成するリソースを識別することができます。

    3. 次へをクリックします。

  4. ストレージタイプの設定 ページで、データの保存方法を指定します。

    1. ストレージタイプ で、サービス管理ストレージ を選択します。

    2. 処理されたデータを保持する期間を設定します 処理データの保存期間の設定 で、無期限 を選択します。

    3. 次へをクリックします。

  5. AWS IoT Analytics データストアは JSON ファイル形式と Parquet ファイル形式をサポートしています。データストアのデータ形式で、JSON または Parquet を選択します。ファイル形式 でサポートされるファイルタイプについては、「 AWS IoT Analytics 」を参照してください。

    次へ をクリックします。

  6. (オプション) はデータストア内のカスタムパーティション AWS IoT Analytics をサポートしているため、プルーニングされたデータをクエリしてレイテンシーを改善できます。サポートされるカスタムパーティションの詳細については、「カスタムパーティション」を参照してください。

    Next 次へ をクリックします。

  7. 選択内容を確認してから、データストアの作成を選択します。

  8. データストアページに新しいデータストアが表示されていることを確認します。

パイプラインを作成する

データストアにチャネルを接続するには、パイプラインを作成する必要があります。ベーシックなパイプラインでは、データの収集とメッセージの送信先となるデータストアの識別を行うチャネルが指定されるだけです。詳細については、「パイプラインアクティビティ」を参照してください。

このチュートリアルでは、データストアにチャネルを接続するだけのパイプラインを作成します。後で、パイプラインアクティビティを追加すればこのデータを処理できます。

パイプラインを作成するには以下の手順を実行します。

パイプラインを作成するには
  1. https://console.aws.amazon.com/iotanalytics/ の AWS IoT Analyticsセクションで、データの準備パイプラインの表示を選択します。

    ヒント

    ナビゲーションペインで パイプラインを選択することもできます。

  2. パイプライン ページ で、Cパイプラインの作成 をクリックします。

  3. パイプラインの詳細情報を入力します。

    1. パイプライン ID とソースのセットアップにパイプライン名を入力します。

    2. パイプラインのソースを選択します。これは、パイプラインがメッセージを読み取る AWS IoT Analytics チャネルです。

    3. パイプラインの出力を指定します。これは、処理されたメッセージデータの保存先となるデータストアです。

    4. オプション タグ で、1 つまたは複数のカスタムタグ キーと値のペア をパイプラインに追加します。

    5. メッセージ属性の推測 ページで、属性名と値の例を入力し、リストからデータタイプを選択して、属性の追加 を選択します。

    6. 必要な属性の数だけ前の手順を繰り返したら、次へを選択します。

    7. 現時点ではパイプラインアクティビティは追加しません。メッセージの強化、変換、フィルタリング ページで 次へ を選択します。

  4. 選択内容を確認し、パイプラインの作成 選択します。

  5. 新しいパイプラインが パイプライン ページに表示されていることを確認します。

注記

AWS IoT Analytics リソースを作成して、以下を実行できるようにしました。

  • チャネルを使って生で未処理の IoT デバイスメッセージデータを収集する。

  • IoT デバイスメッセージデータをデータストアに保存する。

  • パイプラインを使って、データのクリーニング、フィルタリング、変換、および強化を行う。

次に、IoT デバイスに関する有用なインサイトを発見するための AWS IoT Analytics SQL データセットを作成します。

データセットの作成

注記

データセットは、通常、表形式で編成される場合とそうでない場合があるデータの集合です。対照的に、 は、データストア内のデータに SQL クエリを適用してデータセット AWS IoT Analytics を作成します。

これで、チャネルでパイプラインに生のメッセージデータをルーティングし、データストアにデータを保存してクエリを実行できます。データに対してクエリを実行するには、データセットを作成します。データセットには、データストアのクエリに使用する SQL のステートメントと式、および、指定した日時にクエリを繰り返すオプションのスケジュールが含まれます。Amazon スケジュール式と同様の CloudWatch 式を使用して、オプションのスケジュールを作成できます。

データセットを作成する方法
  1. https://console.aws.amazon.com/iotanalytics/ で、左側のナビゲーションペインデータセット を選択します。

  2. データセットの作成 ページで SQL の作成 を選択します。

  3. データセットの詳細を指定 でデータセットの詳細を指定します。

    1. データセットの名前を入力します。

    2. データストアのソース で、前の段階で作成したデータストアを識別する一意の ID を選択します。

    3. オプション タグ で、1 つまたは複数のカスタムタグ キーと値のペア をデータセットに追加します。

  4. SQL 式を使用して、データをクエリし、分析的な質問に答えます。クエリの結果はこのデータセットに保存されます。

    1. クエリの作成 フィールドに、ワイルドカードを使用してデータを最大で 5 行表示する SQL クエリを入力します。

      SELECT * FROM my_data_store LIMIT 5

      でサポートされている SQL 機能の詳細については AWS IoT Analytics、「」を参照してくださいAWS IoT Analytics の SQL 式

    2. クエリのテスト を選択すれば、入力の正誤を確認でき、さらに、クエリの後に結果をテーブルに表示できます。

      注記
      • チュートリアルのこの時点では、データストアが空である可能性があります。空のデータストアで SQL クエリを実行しても結果は返されないため、__dt しか表示されないかもしれません。

      • Athena により、実行できるクエリ数が制限されるため、長期間にわたって実行されることがないように、慎重に SQL クエリを合理的なサイズに制限する必要があります。このため、慎重に SQL クエリを合理的なサイズに制限する必要があります。

        テスト中にクエリで LIMIT 句を使用することをお勧めします。テストが成功したら、この句を削除できます。

  5. オプション 指定した時間枠のデータを使用してデータセットコンテンツを作成する場合、一部のデータが処理に間に合わない可能性があります。オフセット、またはデルタを指定すれば遅延を許可できます。詳細については、「Amazon CloudWatch Events を通じた遅延データ通知の取得」を参照してください。

    この時点ではデータ選択フィルターを設定しません。データ選択フィルターの設定ページで 次へ を選択します。

  6. オプション このクエリを定期的に実行してデータセットを更新するようにスケジュールできます。データセットスケジュールの作成と編集はいつでも行うことができます。

    この時点では、クエリを繰り返す実行はスケジュールしないため、クエリスケジュールの設定 ページでは、次へ を選択します。

  7. AWS IoT Analytics は、このデータセットコンテンツのバージョンを作成し、指定された期間の分析結果を保存します。保存期間は 90 日をお勧めしますが、カスタムの保存ポリシーを設定することもできます。また、保存されるデータセットコンテンツバージョンの数を制限することもできます。

    デフォルトのデータセット保存期間を 無期限 として使用し、バージョニング を無効のままにしておくことができます。分析の結果の設定 ページで 次へを選択します。

  8. オプション データセット結果の配信ルールを、 AWS IoT Eventsなどの特定の宛先に設定できます。

    このチュートリアルの他の段階では結果を提供しないので、データセットコンテンツ配信ルール ページで 次へ を選択します。

  9. 選択内容を確認してから、データセットの作成 選択します。

  10. データセット ページに新しいデータセットが表示されていることを確認します。

でメッセージデータを送信する AWS IoT

クエリ可能なデータストアにデータを保存するパイプラインにデータをルーティングするチャネルがある場合、メッセージデータを AWS IoT Analyticsに送信する準備ができたことになります。次のオプションを使用して AWS IoT Analytics 、 にデータを送信できます。

  • AWS IoT メッセージブローカーを使用します。

  • AWS IoT Analytics BatchPutMessage API オペレーションを使用します。

次の手順では、 がデータ AWS IoT Analytics を取り込むことができるように、 AWS IoT Core コンソールのメッセージブローカーから AWS IoT メッセージデータを送信します。

注記

メッセージのトピック名を作成する場合は、次のことに注意してください。

  • トピック名では大文字と小文字が区別されません。同じペイロード内に exampleEXAMPLE という名前のフィールドがある場合は重複と見なされます。

  • トピック名は $ 文字から始めることはできません。$ で始まるトピック名は予約済みのトピックで、 AWS IoTによってのみ使用されます。

  • トピック名に個人を特定できる情報を含めないでください。この情報は暗号化されていない通信やレポートに表示される可能性があります。

  • AWS IoT Core は AWS アカウントまたは AWS リージョン間でメッセージを送信できません。

でメッセージデータを送信するには AWS IoT
  1. AWS IoT コンソール にサインインします。

  2. ナビゲーションペインで、テスト を選択し、次に MQTT test client MQTT テストクライアント を選択します。

  3. MQTT テストクライアント ページで、トピックへの発行 を選択します。

  4. トピック名 で、チャネルの作成時に入力したトピックフィルターに一致する名前を入力します。この例では update/environment/dht1 を使用します。

  5. メッセージペイロード で、次の JSON コンテンツを入力します。

    { "thingid": "dht1", "temperature": 26, "humidity": 29, "datetime": "2018-01-26T07:06:01" }
  6. オプション 追加のメッセージプロトコルオプションを使用する場合は 設定を追加 を選択します。

  7. 発行 を選択します。

    これにより、チャンネルによってキャプチャされたメッセージが発行されます。その後、パイプラインによりメッセージがデータストアにルーティングされます。

AWS IoT メッセージの進行状況を確認する

次の手順を実行すれば、チャネルにメッセージが取り込まれたことを確認できます。

AWS IoT メッセージの進行状況を確認するには
  1. https://console.aws.amazon.com/iotanalytics/ にサインインします。

  2. ナビゲーションペインで、チャネル を選択し、前の段階で作成したチャネル名を選択します。

  3. データセットを作成 ページで、下にスクロールして モニタリング セクションに到達したら、表示される時間枠 1h 3h 12h 1d 3d 1w を調整します。先週のデータを表示する場合は 1w 1 週間 などのように、値を選択します。

同様の機能を使用して、Pipeline's details パイプラインの詳細 ページでパイプラインアクティビティのランタイムとエラーを監視できます。このチュートリアルでは、アクティビティをパイプラインの一部として指定していないため、ランタイムエラーは表示されません。

パイプラインのアクティビティを監視する方法
  1. ナビゲーションペインで、パイプライン を選択し、次に、前に作成したパイプラインの名前を選択します。

  2. パイプラインの詳細 ページで、下にスクロールして モニタリング セクションに到達したら、時間枠インジケータ 1h 3h 12h 1d 3d 1w のうちの 1 つを選択することで、表示される時間枠を調整します。

クエリ結果へのアクセス

データセットのコンテンツは、クエリの結果が含まれている CSV 形式のファイルです。

  1. https://console.aws.amazon.com/iotanalytics/ で、左側のナビゲーションペインの Datesets データセット を選択します。

  2. Datasets データセット ページで、前に作成したデータセットの名前を選択します。

  3. データセット情報ページの右上で、今すぐ実行 を選択します。

  4. データセットの準備ができているかどうかを確認するには、そのデータセットの下にデータセットのクエリが正常に開始されましたというようなメッセージが表示されているか確認します。Dataset content データセットコンテンツ タブにはクエリ結果が含まれており、Succeeded 成功 が表示されます。

  5. 成功したクエリの結果のプレビューを表示するには、データセットコンテンツ タブでそのクエリ名を選択します。クエリ結果を含む CSV ファイルを表示または保存するには、ダウンロード を選択します。

    注記

    AWS IoT Analytics は、データセットの内容ページに Jupyter Notebook の HTML 部分を埋め込むことができます。詳細については、「コンソールを使用した AWS IoT Analytics データの可視化」を参照してください。

データの探索

データの保存、分析および可視化についてはいくつかのオプションがあります。

Amazon Simple Storage Service

データセットのコンテンツを Amazon S3 バケットに送信して、既存のデータレイクとの統合、または社内アプリケーションと可視化ツールからのアクセスができます。CreateDataset オペレーションの フィールドcontentDeliveryRules::destination::s3DestinationConfigurationを参照してください。

AWS IoT Events

データセットのコンテンツを への入力として送信できます。これは AWS IoT Events、デバイスまたはプロセスをモニタリングしてオペレーションの障害や変更がないか確認し、そのようなイベントが発生したときに追加のアクションを開始できるサービスです。

これを行うには、 CreateDatasetオペレーションを使用してデータセットを作成し、フィールド で AWS IoT Events 入力を指定しますcontentDeliveryRules :: destination :: iotEventsDestinationConfiguration :: inputName。また、 を実行する AWS IoT Analytics アクセス許可を付与するロールroleArnの を指定する必要がありますiotevents:BatchPutMessage。データセットの内容が作成されるたびに、 AWS IoT Analytics は各データセットコンテンツエントリをメッセージとして指定された AWS IoT Events 入力に送信します。たとえば、データセットに次のコンテンツが含まれている場合を考えてみましょう。

"what","who","dt" "overflow","sensor01","2019-09-16 09:04:00.000" "overflow","sensor02","2019-09-16 09:07:00.000" "underflow","sensor01","2019-09-16 11:09:00.000" ...

次に AWS IoT Analytics 、次のようなフィールドを含むメッセージを送信します。

{ "what": "overflow", "who": "sensor01", "dt": "2019-09-16 09:04:00.000" }
{ "what": "overflow", "who": "sensor02", "dt": "2019-09-16 09:07:00.000" }

関心のあるフィールド (、what、) を認識する AWS IoT Events 入力を作成し、イベントでこれらの入力フィールドを使用してアクションをトリガーしたりwho、内部変数を設定したりするディテクターモデルdtを作成します AWS IoT Events 。

Jupyter Notebook

Jupyter Notebook は、アドホックデータ検索と高度な分析を実行するためのたオープンソースのソリューションです。IoT デバイスデータに関して、より複雑な分析を深く掘り下げて適用でき、予測のための k 平均クラスタリングモデルや回帰モデルなどの機械学習手法を使用できます。

AWS IoT Analytics は、Amazon SageMaker ノートブックインスタンスを使用して Jupyter Notebooks をホストします。ノートブックインスタンスを作成する前に、 AWS IoT Analytics と Amazon の間に関係を作成する必要があります SageMaker。

  1. SageMaker コンソールに移動し、ノートブックインスタンスを作成します。

    1. 詳細を入力し、新しいロールの作成 を選択します。ロールの ARN を書き留めておきます。

    2. ノートブックインスタンスを作成します。

  2. IAM コンソールに移動し、ロールを変更します SageMaker。

    1. このロールを開きます。管理ポリシーが 1 つあります。

    2. インラインポリシーの追加を選択し、サービスIotAnalytics を選択します。アクションの選択 を選択し、検索ボックスに GetDatasetContent を入力して選択します。ポリシーのレビュー を選択します。

    3. ポリシーが正しいことを確認し、名前を入力したら、ポリシーの作成 を選択します。

これにより、新しく作成されたロールに、 からデータセットを読み取るアクセス許可が付与されます AWS IoT Analytics。

  1. https://console.aws.amazon.com/iotanalytics/ に戻り、左側のナビゲーションペインの ノートブック を選択します。ノートブック ページで、ノートブックの作成 を選択します。

  2. テンプレートの選択 ページで IoTA ブランクテンプレート を選択します。

  3. ノートブックのセットアップ ページで、ノートブックの名前を入力します。データセットソースの選択 で、前に作成したデータセットを選択します。ノートブックインスタンスの選択 で、 で作成したノートブックインスタンスを選択します SageMaker。

  4. 選択内容を確認したら、ノートブックの作成 を選択します。

  5. ノートブックページで、ノートブックインスタンスが Amazon SageMaker コンソールで開きます。

ノートブックテンプレート

AWS IoT Analytics ノートブックテンプレートには、 AWS IoT Analytics ユースケースの開始に役立つ、 AWS オーサリングされた機械学習モデルとビジュアライゼーションが含まれています。これらのノートブックテンプレートを使えば詳細を調べることができ、再利用すればIoTデバイスデータへの適合と即値の獲得を実現できます。

AWS IoT Analytics コンソールには、次のノートブックテンプレートがあります。

  • コンテキスト異常の検出 – ポアソン指数加重移動平均 PEWMA モデルを用いて風速測定値のコンテキスト異常を検出するアプリケーションです。

  • ソーラーパネルの出力予測 – ソーラーパネルの出力を予測するための、区分時系列モデル、季節時系列モデル、線形時系列モデルのアプリケーションです。

  • ジェットエンジンの予知保守 – ジェットエンジンの故障を予測するための多変量長期短期記憶 LSTM ニューラルネットワークおよびロジスティック回帰のアプリケーションです。

  • スマートホームの顧客の区分 – スマートホーム使用状況データにおける様々な顧客セグメントを検出するための k-平均および PCA 分析 PCA のアプリケーションです。

  • スマートシティの混雑予測 – 都市高速道路の利用率を予測するための LSTM のアプリケーションです。

  • スマートシティの大気汚染予測 – 都市中央部の大気汚染を予測するための LSTM のアプリケーションです。