(レポート) MBL205: AWS IoTについて知りたいこと #reinvent

2015.10.10

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

本日発表された新サービス、AWS IoT のセッション "MBL205 - NEW LAUNCH! Everything You Want to Know About AWS IoT" に参加しました。キーノートで新サービスが発表されると、このような紹介系のセッションが大部屋で開催されるようです。

この発表は 200 番台ということで、ディープダイブした内容でなく、AWS IoT を構成する各コンポーネントをサラッと解説し、その応用として WIFI デバイス AWS IoT Button の LED を好きな色で点滅させるというデモが行われました。

 

AWS_IoT_button

この 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-architecture

各コンポーネントを順に解説します。

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

モノを状態を管理し、理想の状態に収束させます。

例えばLEDランプをアプリケーションから操作することを考えましょう。

iot_shadow

  1. アプリケーションは光らせたい(Desired)色を Thing Shadow に伝えます。
  2. モノは Thing Shadow に今の色を Thing Shadow に伝えます(Reported)。
  3. Thing Shadow は理想(Desired)と現実(Reported)の違いをモノに伝えます。
  4. モノは違いを元に状態を修正し、理想の状態に収束します。

会場では実際にこのデモが行われました。

遠くからでは色の違いがわかりにくかったですが、IoT らしくその場で動くデモを見せており、受けが非常に良かったです。