ラスベガスで開かれたデベロッパーカンファレンス「re:Invent」において、AmazonがAWS IoTという新しいIoT(Internet of Things)プラットフォームを発表した。AWS会員は現在、ベータ版を利用できる。
AWSのプロダクトストラテジー担当ジェネラルマネージャーであるMatt Wood博士は、AWS IoTプラットフォームをこう説明している。これは「デバイスをAWSクラウドに接続するひとつの方法です。これを使うことで、あなたの会社は接続されたデバイスからストリーミングされる大量のデータを収集、格納、分析し、それに対するアクションを実行することができます。」
IoTプラットフォームには、次のようなSDKとAWSサービスが含まれている。
デバイスSDKは、デバイスがAWS IoTプラットフォームとやり取りするのを可能にする。C、JavaScript、Arduinoをサポートする。
認証と認可は、自己署名証明書もしくはAWS SigV4プロセスを使った相互認証により解決される。TLS(Transport Layer Security)1.2の使用に加えて、ロールマッピングに対する証明書があり、提示された証明書に基づいて、ポリシーがデバイスのアクション実行能力を決定する。証明書とポリシーはマネジメントコンソール経由もしくはマネジメントAPIを使って管理できる。また証明書の失効はAWS Identity and Access Managementサービス (IAM) 経由で実現されており、プラットフォームに対するデバイスのアクセスを即座に拒否できる。
送信しようとするメッセージにどのバックエンドサービスが関心を持っているのか、デバイスが知っている必要はない。代わりに、MQTTおよびHTTP通信可能なデバイスゲートウェイがpublish/subscribeモデルを使って、AWSメッセージングトピックとルールエンジンを介すことで、関心のあるサブスクライバにメッセージを配信もしくはブロードキャストする。
Image Source: https://aws.amazon.com/iot/how-it-works/
ルールエンジンは、メッセージのコンテキストとコンテンツの両方を評価して、メッセージのフィルタリングやルーティングをするのに使うことができる。ルールはSQLライクな構文で書くことができる。ルールの一例は、デバイスの温度を読み取る処理だ。次の図にあるように、もし温度が所定の閾値を越えていれば、Dynamo Dbインスタンスにそのイベントを挿入するといったことが可能だ。
Image Source: Amazon re:Invent Session MBL303
IoTプラットフォームに発行されたイベントをサブスクライブできるサービスは、Dynomo Dbだけではない。以下のようなAWSサービスにもメッセージをルーティングすることができる。
- Kinesis/Kinesis Firehose (データストリーミング)
- Simple Storage (S3)
- Lambda (コード実行)
- Simple Notification Services (プッシュ通知)
通信はAWS IoTプラットフォームに向けて送られるだけではない。IoTデバイスにイベントを送ることで、コマンドやコントロールのシナリオも実現可能だ。Amazonはこのデバイスの仮想バージョンをプラットフォームで管理する機能を、デバイスシャドウと呼んでいる。デバイスの仮想バージョンは最後に報告されたデバイス状態を保持するとともに、希望する今後の状態も管理している。デバイスにはバッテリー駆動のものもあり、全てのデバイスが常時オンラインというわけではない。最後に報告された状態を記録しておくことで、顧客はオフラインになる前のデバイスの状態を知ることができる。デバイスシャドウを使うことで、状態変化をデバイスに通知することが可能になる。デバイスがオンラインになると、publish/subscribeメッセージングを使って、希望する状態がデバイスに通知される。デバイスはメッセージを受信し、IoTプラットフォームから送られた命令を実行することになる。
AmazonはIBM、Microsoft、Salesforceなどをこの分野の競合と見ている。Microsoftは最近のAzureConで、Azure IoT Suiteをリリースした。Salesforceも今年のDreamforceカンファレンスで、この市場に参入する意向を表明した。これらのプラットフォーム全てに一貫しているのは、デバイスを他の下流のクラウドサービスに接続するため、IoTのあらゆる領域に関心を持っていることだ。
GartnerのVP Distinguished AnalystであるLydia Leong氏は最近のツイートで、AmazonとMicrosoftを打ち負かすべきプラットフォームだと位置付けている。「注目すべきは、Microsoftも最近、AzureConで怒涛のアナウンスをしたことです。競合企業はAWSとMicrosoftを打ち負かさなくてはなりません。」