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

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

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

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

センサーの環境に応じて組み合わせるサービスを変える

 IoTソリューションでは、要件によってAWS IoT以外のサービスを選んだり組み合わせたりする必要がある。これらサービスは、どのような観点から使い分ければ良いのだろうか。

 最も多い要件は「データ量」である。AWS IoTには「128kb」というデータ量の上限がある。通常のIoTデータであれば、これで充分だが、通信料を抑えるために数十回分のデータを端末内に貯めておき、数十分に1回、それらをまとめて送るといったケースでは、データ量の上限を超える可能性がある。

 そういった時は、1回当たりのデータ送信量の上限が2MBまである「API Gateway」を使うのが良いだろう。ただしAPI Gatewayには証明書のようなセキュリティの仕組みがない。ヘッダ内に「API KEY」を仕込んでおき、それで認証するか、「Cognito」などを使ってIAM認証を行う形を取る。

 では2MBより大きいデータ、例えば画像などを扱う場合はどうすれば良いだろうか。その場合は、実データは「S3」に直接アップロードし、そのメタデータのみを「indexデータ」としてAWS IoTに上げるのが良いだろう。S3の場合には分割アップロードといったアップロード方法も使えるので、回線が細い場合には検討してみてほしい。

 使い分けのもう1つは、デバイス上の制約である。特にIoT用に作成されたデバイスではなく、既存のデバイスをネットワークにつなげてクラウドで管理しようとする場合に多く遭遇する。AWSのサービスはSSL通信が基本になるため、例えばデバイスがhttpしか利用できないといった場合、そのデバイスをつなげるのが難しいからだ。そのような時は外部サービスの使用を検討する。

 IoTと親和性が高い通信システムの1つにソラコムが提供する「SORACOM」がある。SORACOMの各種サービスを介してAWSに接続する。例えば「httpしか話せない」場合には「SORACOM Beam」というサービスを使うと、SORACOM内でhttpからhttpsへ変換してくれるので、デバイス側はSORACOMに向かってデータを投げるだけで済む(図4)。またデータの送信頻度が高い場合には、AWS IoTの後ろにストリーミング処理を担う「Kinesis」を挟んで流量を調節する。センサーの環境によって適切なサービスを選ぶことが大切だ。

図4:httpしか利用できないデバイスの利用を可能にする「SORACOM Beam」の利用例図4:httpしか利用できないデバイスの利用を可能にする「SORACOM Beam」の利用例
拡大画像表示

IoTは従来の経験・知識が活かせる分野

 以上、IoT環境について考えてみた。システム管理に慣れていれば、C/S(クライアント/サーバー)方式や、スマートフォンアプリとサーバーの関係に近いものを感じたかもしれない。

 現在のIoTデバイスはハードウェアの製造技術や組み込み系の知識よりも、ソフトウェアとしての処理の切り分け能力が大事になっている。センサー類は適切な単位でパックされ、その中にセンサーへアクセスするためのAPIやSDKが準備されていることも少なくないからだ。その意味では、システム構築/運用におけるこれまでの経験や知識が充分に活かせる分野だと言える。是非トライしてみてはいかがだろうか。

 次回は、通知システムの自動化について考える。

筆者プロフィール

清野 剛史(せいの・つよし)
クラスメソッド AWS事業部ソリューションアーキテクト。北海道札幌市にてサーバーサイドプログラマー、フロントエンドエンジニアなどを経て2014年7月よりクラスメソッドに参画。AWS全般のコンサルタントを中心にIoT、AIなどの新規技術のR&D事業にも従事する。好きなAWSのサービスは「Lambda」「AWS IoT」。

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

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

PAGE TOP