[クラウド活用パターン辞典〜Amazon Web Servicesを使い倒す!〜]

「AWS IoT」でソリューションを実現する【第9回】

2017年7月3日(月)清野 剛史(クラスメソッドAWS事業部ソリューションアーキテクト)

本連載ではこれまで、主にWebシステムやポータルサイトを想定し、AWS(Amazon Web Services)上での開発や運用管理のコツについて考えてきた。今回は少し視点を変えて、最終顧客や社会とつながるための仕組みであるIoT(Internet of Things:モノのインターネット)のソリューションをAWS上で、いかに実現できるかについて見てみよう。

 「IoT(モノのインターネット)」と言えば、読者は何をイメージするだろうか。飲み頃を教えてくれる水筒や、雨が降りそうなら傘をもっていくように光でうながす傘立てなど、エンタテインメント性が高いグッズをイメージするかもしれない。だが昨今のIoTは、既にバズワードの域を超え実用段階に入っている。

 例えば、RFIDタグを取り付けユーザーの動線を分析し商品棚をユーザーニーズに合わせた順に入れ替える、定点カメラでラインの様子を撮影し人の動きを分析することで工具等の置き場所を作業効率が最も高まるように決める、ボタン1つで会議室の予約から最終退出者のチェックまでを行うなどである。

 こうしたIoTを使った仕組みは、長年「こうなったら楽なのに」と感じていた不満を解消する、まさに“ソリューション”だ。製造/小売りといった業種別から一般的なビジネスまで、多くの場面に取り入れれば直ぐに結果を出せることだろう。

 ただ問題は、そんなIoTソリューションを、どうやって自社に取り入れるかという点だ。AWS(Amazon Web Services)がIoT向けに用意しているサービスは「AWS IoT」である。だが、基本的な仕組みを知らないと、その使用に二の足を踏むサービスとも言える。以下では、AWS IoTの使い方を中心にIoTソリューションを構築するポイントを考えていく。

まずはデバイスとクラウド間のセキュリティを考慮する

 IoTの処理内容は大きく(1)データの収集と(2)デバイスの操作の2つに分けられる。データの収集とは、設置したセンサー群が検出したデータをクラウドまで運ぶ技術。デバイスの操作は、それらのセンサー群やゲートウェイに対してクラウドから信号を送り遠隔で操作する技術を指す。

 これらの環境を構築するには,当然ながらデバイスとクラウドを双方向に結ぶ必要がある。だがIoTは基本的に「なりすまし」や「ハッキング」などが容易な分野だと指摘されている。見知らぬ端末から意図的なデータを挿入されないようにするには、デバイスとクラウド間のセキュリティに充分に配慮しなければならない。デバイスとクラウドのセキュリティについてAWS IoTは「X.509証明書」を通じて担保する。

 ここでのポイントは「デバイスごとに異なる証明書を振り当てる」ことだ。証明書を通じた通信はラッピングされているため、デバイスごとの証明書の違いを特段意識することは少ない。そのため、何万台単位でデバイスを管理するようなソリューションの場合、ついつい証明書入りのイメージをコピーして済ませたくなってしまう。だが、この証明書はデバイスからAWSに向かう通信の“キモ”とも言えるものだ。

 例えば、小さなデバイスであればデバイスごと盗難に合う、または紛失するといったケースが考えられる。そうなった時、盗難にあったデバイスの証明書が他に数万台あるデバイスと同じであれば、すべての証明書を入れ替えなければならない。個別に証明書を発行しておけば、その証明書をクラウドから拒否してしまえば安全を確保できる(図1)。証明書は、マネージメントコンソールからもAWS CLIからもワンクリックで発行できるので、多少面倒くさくてもスクリプトなどで個別の証明書を発行することをお薦めする。

図1:IoTデバイスには、すべて異なる証明書を振り当てる必要がある図1:IoTデバイスには、すべて異なる証明書を振り当てる必要がある
拡大画像表示

 デバイスとクラウドがつながれば、いよいよデータを送信する。まずは、データを送信するためのプロトコルを覚えておこう。IoTからクラウドにあげるデータプロトコルは大きく「http」と「mqtt」の2種類がある。httpはWebなどでも扱われているのでお馴染みだろう。ただhttpはヘッダ部分が大きく、回線が細くなりがちなIoTでは無駄なパケットが多くなる。

 そこでhttpに代わるプロトコルになるがmqttだ。mqttはヘッダがわずか数バイトしかなく非常に軽いため、IoTのように、なるべく少ないパケットで済ませたい場合に有用だ。ただしmqttには送れるデータ量に「最大256MB、通常20MB前後」という制限があるため、大きなデータを扱う場合にはhttpへの切り替えも検討する必要がある。

バックナンバー
クラウド活用パターン辞典〜Amazon Web Servicesを使い倒す!〜一覧へ
関連記事

「AWS IoT」でソリューションを実現する【第9回】本連載ではこれまで、主にWebシステムやポータルサイトを想定し、AWS(Amazon Web Services)上での開発や運用管理のコツについて考えてきた。今回は少し視点を変えて、最終顧客や社会とつながるための仕組みであるIoT(Internet of Things:モノのインターネット)のソリューションをAWS上で、いかに実現できるかについて見てみよう。

PAGE TOP