このページの本文へ

さくらの山口さんがsakura.ioを使うための試行錯誤を披露

sakura.ioがJAWSにやってきた!AWS IoTと使ってみた

2017年08月01日 07時00分更新

文● 重森大

  • この記事をはてなブックマークに追加
  • 本文印刷

さくらインターネットの山口 亮介さんが、JAWS-UGさいたま支部の第7回勉強会で登壇。同社のIoTサービスであるsakura.ioについて「sakura.ioを使ってAWS連携をやってみよう」というセッションで語ってくれた。他サービスとの連携を前提に設計されたサービスであることを紹介し、実際にAWS IoTと連携させてみた話も聞くことができた。

山口さんが目指すのは、ものづくりの人が幸せになる世界

 6月10日に開催されたJAWS-UGさいたまにやってきたのは、さくらインターネット IoT事業推進室の室長を務める山口さん。「世の中の、ものづくりができる人を幸せにしたい」という思いでこれまでクラウドサービスづくりに携わってきたという。

「前職では、ニフティクラウドというサービスを作りました。ITでものづくりをしたい人がサーバーのラッキングやネットワーク設定からやらなきゃいけないという状況をなくして、サービスづくりに注力してもらいたい。そう思って作ったものです」(山口さん)

さくらインターネットの山口 亮介さん

 AWSのイベントにさくらインターネットの看板を提げて登壇し、ニフティの話から切り込んでくるという、アクロバティックなセッション展開。こういう話がするっと出てくるから、ユーザーグループの勉強会は楽しい。

 そんな山口さんがさくらインターネットでsakura.ioを作った理由も、ニフティクラウドを作った時の動機とまったく変わらない。

「デバイスやマイコン、電気信号、ネットワーク、そしてクラウドとWeb、すべての知識がなければIoTのサービスは作れません。ハードウェアだけやりたい人、上物のサービスだけやりたい人など、アイデアを持った人は多くいるのに、ハードルが高くて諦めていたりします」(山口さん)

IoTサービスづくりにはやらなければならないことが多すぎる

 さくらインターネットが提供するsakura.ioのポリシーは、既存の事業領域を変えないこと、エンジニアのスキルセットを変えないことだそうだ。ハードウェア技術を持つ人たちには、デバイスづくりに注力してもらう。クラウドを使ったデータ分析やサービスづくりの技術を持つ人たちには、ビジネスアイディアを形にすることに注力してもらう。その間をとりもつのが、sakura.ioという訳だ。

「やらねばならない」を徹底的に削減するのがサービスコンセプト

 sakura.ioをひとことで表すと、電子回路とデータセンターを直結する部品だそうだ。デバイスに組み込んでもらえば、電気信号をデータセンターに送ってJSON形式で取り出せる。逆にデバイスにデータを送りたいときも、JSON形式で投げ込めば電気信号に変換してデバイスに送ってくれる。そのために必要な無線通信技術やデバイス管理、セキュリティ担保などはすべてさくらインターネットにおまかせだ。

sakura.ioの機能をひとことで言えば「電気信号とJSONを相互変換する」だけ

「電源を入れれば勝手につながるし、何の設定もしなくても勝手にデータをデータセンターに貯めてくれます。マイコンでは面倒くさい時刻情報も提供されるし、ファームウェアアップデートなどのために必要なファイルのプッシュ配信も可能です」(山口さん)

 説明を聞くといろいろな機能があるように感じるが、要するにデバイスで収集したデータをさくらインターネットのデータセンターに貯めこんでくれるだけの機能に特化している。逆に言えば、IoTサービスを始めようと思ったら、ただデータを集めるだけでこれだけの準備が必要ということでもある。

「データの送受信手段はどうするのか? デバイスの認証や通信のセキュリティはどう担保すればいいのか? データ蓄積のスケーラビリティは確保できるのか。IoTサービスを考えるためには、やらねばならないことが多すぎます。こんなことを考えずにやりたいことに注力してもらいたい」(山口さん)

データ通信やセキュリティについてもsakura.ioまかせでOKだ

 セキュリティについても考えられており、LTE通信モジュールからキャリアの閉域網を通り、さくらインターネットのデータセンターに専用線でデータが送られる。インターネットからのアクセスはAPI経由に限られるので、デバイスに直接アクセスする術はない。逆もしかりで、デバイスを乗っ取ったとしても、そこを足がかりにインターネットにアクセスしてウィルスを撒き散らすようなことはできない。

つなぐことに特化しているので、他サービスとの連携が大前提

 ここまでで紹介した通り、sakura.ioでできるのは、デバイスで収集したデータを蓄積するところまで。これを分析したりビジュアライズするような機能は備えていない。つまり、他サービスと連携して分析したり、クラウド基盤と連携してサービスを作り込む前提になっている。もちろん、APIを通じてAWS IoTとも連携可能だ。

「そういうわけでAWS IoTについて勉強して連携させてみたのですが、自分のやり方が正しいのかどうか自信がありません。AWSについてはみなさんの方がエキスパートだと思いますので、後で誰か正しい使い方を教えてください」(山口さん)

 そう前置きしつつ、山口さんはsakura.ioとAWS IoTの連携について説明を始めた。まずAWS IoTで証明書を作成し、sakura.ioに読み込ませる。ここまではエラーなく進み、接続も成功したのだが、sakura.ioからAWS IoTへデータは届かなかった。

「AWS側のセキュリティ設定を確認してみたのですが、何を入力して設定していいのかわからず、しばらく管理画面と格闘しました。その結果、Configuring Deviceというメニューを見つけてそこから設定しました」(山口さん)

AWS IoTとの連携機能紹介では、山口さんの試行錯誤の過程が紹介された

 デバイスの設定を行なうとセキュリティポリシーも自動生成され、証明書が新たに発行された。それをsakura.ioに読み込むと、無事にデータが流れ始めたという。実際に連携してAWS IoTにデータが流れてきている画面も、見せてもらうことができた。オフィスに設置したArduinoから温湿度データを1秒ごとに送信しているそうだ。

ついに連携が成功してデータ取得を確認できた!

「ところで、AWS IoTは見たところ、証明書を発行して認証されたデバイスとのみ通信することでセキュリティを確保しているみたいですが、これだとデバイス側にも証明書を処理できるだけの能力が求められるし、デバイスごとに証明書管理が必要になるのではないでしょうか。sakura.ioを使えばその溝も埋められます」(山口さん)

 実際に山口さんが設定してみたように、AWS IoTとsakura.ioとの認証に必要な証明書設定は1回のみ。これだけで、sakura.ioが管理するすべてのデバイスにアクセスできる仕組みだ。これなら証明書を処理できないような非力なマイコンであっても、セキュリティやデバイス管理をsakura.io任せにして、AWS IoTを使ったサービスづくりが可能になる。

多数のデバイスを接続する場合でも、AWS IoTの設定は1回で済む

安い、早い、簡単なsakura.ioでサービスづくりに注力できる

 深く考えずに簡単につながります、難しいことはうちで面倒見ますといいことづくめに見えるが、そうなるとやはり考えてしまうのが、「でも、お高いんでしょう?」ということ。

「sakura.ioのモジュールは1つ8000円で、Amazonですぐに購入していただけます。基本料金は毎月60円で、これには1万回分の通信とデータ蓄積の費用が含まれているので、5分に1回の通信なら基本料金だけでまかなえます」(山口さん)

 通信やデバイスのセキュリティ維持などで悩むことなく、AWSで上物を作り込むことに注力してもらいたいと山口さんは言う。また通信方式についてはLTEだけではなく、2.4GHz帯通信やLoRaにも対応する予定。LTE通信については世界各国の認証を取り、世界中で使えるようにしていくという。

 最後の質疑応答では、ずばり「SORACOMとの住み分けはどう考えているのか」という質問があったが、山口さんはsakura.ioとSORACOMとではカバーするエリアが重なっていないと考えているという。SORACOM Airは、IPリーチャブルであることが利点であり、ある程度処理能力の高いデバイスを手軽に使えるというメリットがある。それに対してsakura.ioが目指すのは電子回路をデータセンターにまで延伸すること。電気信号しか扱えないような非力なマイコンなどを見据えた設計になっている。また、ユーザーが何も考えなくても電源を入れれば使えるようにSIMや設定まで含めて通信モジュールを作り込んであるので、好きな端末にSIMを刺して利用するような使い方もできない。このあたりの違いをよく理解して、サービス設計時に最適なIoTインフラを選ぶこともこれからは必要になってくるのかもしれない。

■関連サイト

カテゴリートップへ