【AWS Summit Tokyo直前】AWS Summit Chicagoセッション – AWS IoT Deep Dive レポート

2016.06.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、せーのです。今日はいよいよ本日より始まりました「AWS Summit Tokyo 2016」をより楽しむために、先駆けて世界各地で行われているAWS Summitからシカゴで行われた「AWS Summit Chicago 2016」のIoTセッション「AWS IoT Deep Dive」をレポートしたいと思います。

資料

今回のセッションはAWS IoTのDev Managerを務めるVadim Jelezniakov氏のセッションとなります。資料は以下のリンクとなっております。

スライド

http://www.slideshare.net/AmazonWebServices/deep-dive-on-aws-iot

動画

https://www.youtube.com/watch?v=pYNbTWc9hTw

レポート

IoTデータに関する3つの問題

  • デバイスからのデータにどのように価値をもたせるか
  • デバイスデータをどのように可視化するか
  • どのように予測を生み出すか

デバイスからのデータにどのように価値をもたせるか

デバイスからのデータは多岐にわたり、中にはビジネスに必要のないものも含まれる。 これらの大量なデータの中からいかに価値を生み出すか、にはRule Engineの特性を理解しておく必要がある。

Rule Engine

awsiotdeepdive1

Rule Engineの役割は多岐

Rule Engingeの役割は以下となる。

  • 基準データを元にフィルタリングする
  • メッセージに対して反応する
  • データを別のトピックに転送する
  • データを別のシステムに転送する
  • トレンドを元にして予測値をつける

Rule Engineのフィルタリングと転送を使う。

awsiotdeepdive2

このケースではスペースIDを"room_id"と別名を付け、部屋の温度が50F以上のデータのみをフィルタリングしている。

awsiotdeepdive3

フィルタリングした後どうするか。この場合は別のトピックにリパブリッシュしている。パラメータは一つ目はトピック名を、ふたつ目はそのトピックにリパブリッシュするために必要なIAMロールを記している。

awsiotdeepdive4

別のトピックだけではなく別のシステムにも転送することが出来る。現在AWS IoTからは10のサービスにデータを転送することができる。

デバイスデータをどのように可視化するか

awsiotdeepdive5

Rule Engineを使ってElasticsearch Service/Kibanaと連携する。

ここでデモ。デモ内容は"car"と"engine"という2つのThingsを登録して、"car"のshadows/update/acceptedトピックに対してRuleを設定する。これによって車の状態に変化があった場合にRule Engineが反応する。

awsiotdeepdive6

このRuleにActionとしてElasticsearchを指定する。

送信するデータは車が移動した際の緯度、経度、その時の外気圧、エンジン温度、車の温度、エンジン回転数、スピード、バッテリー容量。

awsiotdeepdive7

これで車が移動するとデータが転送され、Kibanaでグラフィカルに表示される。

awsiotdeepdive8

どのように予測を生み出すか

Amazon Machine Learning(AML)を使用する。集められるデータのうち所謂「失敗」のデータを予測するのはとても難しい。予測を適切に働かせるにはバランスが必要で、失敗を余りに速く予測してしまうとまだ修理の必要のないものを交換することになり、それはロスに繋がる。一方予測を全くしなければいつか重大なロスを侵すリスクを放置することになる。

AMLをAWS IoTで使うフローは

  • Rule Engineを使いデバイスデータをS3に転送する
  • S3のデータを使ってAMLのモデルをトレーニングする
  • RuleにAMLのエンドポイントを使用してリアルタイムの予測データを入手して使用する、又はCloudWatchのメトリックを使用する
  • 予測の失敗を使用するのにRule Engineを使用する

となる。

まとめ

いかがでしたでしょうか。AWS IoTを使いこなすポイントとしてRule Engineにフォーカスしたセッションとなっていました。確かに実際にAWS IoTを使用する際には可視化、というのは非常に重要なテーマとなりますし、全てが正確で問題ないデータであればいいのですが、そうではないものも多数出てきますので、その対応にAMLを使用する、というのは合理的だと感じました。皆さんも是非一度お試し下さい。