[セッションレポート]MBL205 – AWS IoTについて知りたいこと #reinvent

本日発表された新サービス、AWS IoT のセッション "MBL205 - NEW LAUNCH! Everything You Want to Know About AWS IoT" に参加しました。キーノートで新サービスが発表されると、このような紹介系のセッションが大部屋で開催されるようです。
この発表は 200 番台ということで、ディープダイブした内容でなく、AWS IoT を構成する各コンポーネントをサラッと解説し、その応用として WIFI デバイス AWS IoT Button の LED を好きな色で点滅させるというデモが行われました。
この Button は IoT 系セッションの終了時に配布され、弊社佐々木が秒速の速さで体験デモをブログにまとめております。
AWS IoT ButtonでAWS IoTを体験してみた! #reinvent | Developers.IO
それでは、セッションのまとめに戻ります。
AWS IoT 誕生の背景
今後より多くのモノがインターネットにつながることが予測されており、モノを活かした魅力的な製品を展開するには、現状にとどまらず、常に製品をアップデートしなければいけません。
このような背景の中
“Securely connect one or one-billion devices to AWS, so they can interact with applications and other devices”
というモチベーションで AWS IoT が産まれました。
AWS IoT の全体図
下図が AWS IoT の全体図です。
各コンポーネントを順に解説します。
AWS IoT Device Gateway
メッセージキューなどで言うところの Pub/Sub に対応したブローカーです。 メッセージのプロデューサーとコンシューマーの間を取り持ちます。 EC2 インスタンス上に独自に立てるのではなく、RDS などと同じく AWS のマネージドサービスです。
メッセージ送信で対応しているプロトコルは
- HTTP
- MQTT
の2つ。Device Gateway はプロトコルに依存しないことを売りにしており、WebSocket など別のプロトコルにも順次対応していくそうです。
モノとの通信は X.509 と TSL で担保しています。
AWS IoT Rules Engine
ルールを記述すると他の AWS のマネージドサービスにデータ連携します。 ルールは開発者が慣れ親しんでいる SQL で記述します。
AWS のデータ連携先からは
- 更に他の AWS マネージドサービス
- 外部のエンドポイント
と連携することも出来ます。
AWS IoT Thing Shadow
センサーなどのモノからの通信が途切れた時に備えて、モノから受け取った最新のデータを保持します。
アプリが常に Thing Shadow からデータ取得するようにしておくと抽出時に「対象データが存在しない!」といったことにならずにします。
一部のセンサーデータを取得出来ない時に、IoT ゲートウェイで前回の値を使い回すというようなハックを身近なところでやっていた身としては、この Thing Shadow 機能に親近感を覚えました。
デモ
発表でこれまで説明してきた機能を活用し、スマホアプリから RGB を指定し、Wifi Device(Node) の LED の色を変更します。
遠くからでは色の違いがわかりにくかったですが、IoT らしくその場で動くデモを見せており、受けが非常に良かったです。