SORACOMの利用料を実際のユースケースで検証してみる

※ 本記事は ソラコム SORACOM リリース記念リレーブログ への寄稿記事です。

さて、既に各所で話題騒然となっていますが、2015年9月30日に株式会社ソラコムの"IoTプラットフォーム"が公開され、一般への提供が開始されています。

ソラコムのサービスは下記の2つから構成されます。

  • SORACOM Air: IoT向けデバイス通信サービス
  • SORACOM Beam: データ転送支援サービス

10月16日に行われた SORACOM Developper Confference #0 では、AirにカスタムDNS機能、BeamにAWS IoT連携機能の追加を発表するなど、すさまじいスピードでどんどんと成長していくようで、今後が楽しみです。

そんなソラコム社のサービスですが、既報のニュースなどを見ていると、少し誤解されているところがあるように思えます。例えば、下記の日経新聞の記事。

www.nikkei.com

"格安スマホと比べても8割以上安い通信料で提供する"とされていますが、比較対象が違いますよね。比較するなら、これまでのIoT/M2M向けのデータ通信プランとすべきでしょう。

IoT/M2M向けの通信プランは、現状では、各社から500円~1,000円を切るぐらいの価格が定価として出てくるのが相場観のようです(あくまで、個人の主観では)。安いところでは、月額400円を切るプランを提示するところ*1や、月額290円というプラン*2もあります。各社と個別に交渉すれば、条件次第ではより安い価格を引き出すこともできるでしょう。

SORACOM Airは"月額300円 + 通信量に応じた従量課金"ですので、確かに安くはあるのですが、最安というわけではありません。それでも、実運用を考えると、非常に大きなメリットがあると感じています。以下、その理由について書いてみます。

SORACOM Air/Beamの費用構造

SORACOM Airの費用はオープンになっており、Webページから参照できるようになっています。初期費用を除いて考えると、"基本料金 + 従量課金" という構造です。

SORACOM Air のご利用料金 - 株式会社ソラコム

基本料金はデータ通信のみのSIMの場合 10円/日 、SMSも利用可能なSIMでは 15円/日 となっています。

従量課金部分は、1. 料金クラス、2. 上り/下り、3. 利用時間帯によって変わります。料金クラスは通信速度と対応しており、s1.minimumの32kbpsからs1.fastの2Mbpsまで、ユーザー自身が随時変更することができます。通常時間帯(日本時間 午前6:00-翌 午前2:00)では、s1.minimumで上り 0.2円/MB 、下り 0.6円/MB となっており、s1.fastでは上り 0.3 円/MB 、下り 1円/MB となっています。深夜時間帯(日本時間 午前2:00-午前6:00)では、全ての料金クラス、利用時間帯において、上り下りともに 0.2 円/MB に設定されています。

ちなみに、これまでのIoT/M2M向けのデータ通信プランで費用を抑えようとした場合、通信速度、最大データ容量を抑える*3か、利用時間を制限する*4などの制約をかける必要がありました。ソラコム社のデータ通信サービスが実運用において大きなメリットがあるのは、このような制約をユーザー自身がコントロールできることが理由となります。

Airの他に、Beamを使うと1リクエストあたり0.001円かかります。

SORACOM Beam のご利用料金 - 株式会社ソラコム

Airの費用 + Beamの費用がSORACOMを利用する際に必要な費用となります*5

費用シミュレーション

いくつか、実際の利用シーンを念頭に置いて費用をシミュレーションしてみましょう。

小さな測定データを頻繁にアップするケース

温度センサと湿度センサから得たデータを、なるべく高頻度でサーバーにアップしたいというケースを考えてみます。

センサの分解能が10bitだとすると、二つのセンサーデータは高々2Byteです。しかし、それにタイムスタンプやデバイスIDなどを付け、ペイロードJSON形式にして、サーバー側を単純にREST APIで作り、セキュリティのためにHTTPSで送ろう、、、などとすると、1回の送信あたり平気でKByte単位になってきます。仮に1KByteとして、それを毎秒送ろうとすると下記の計算になります。

1KByte × 60sec/min × 60min/hour × 24hour/day × 30day/month = 約2.5GB/month

IoT/M2M向けの"安い"通信プランは月間データ通信容量は32MBや128MBに制限されているのが一般的ですので、月間2.5GBという通信容量はあまりにも多すぎます。ということで、HTTPSを止めてHTTPにしようか、HTTPよりもMQTTの方がヘッダ少なくて済むよね、などなど工夫して、通信量を抑えるというのがこれまでの常でした。128MBに収めるためには、1回のデータ送信量を50Byte程度にする必要があります。こうなると、TSLを被せるわけにもいかず、セキュリティを諦めるか、データ取得頻度を少なくするか、妥協を求められます。

SORACOMを利用した場合はどうでしょうか。Airのみでやろうとすると、速度クラスとしてs1.minimumとした場合、約800円ほどで実現できます。2.5GBつかって800円であれば、十分安いと言えるでしょう。

(Air基本料金) + (Air従量課金分) = (10円/day * 30day/month) + (0.2円/MB * 2500MB/month) = (300) + (500) = 約800円/month

SORACOM Beam を併用した場合はどうなるでしょうか?TCPHTTPS変換機能やMQTT→HTTPS変換機能を使う前提で、1回あたりの送信データ量を100Byteに抑えられたとして、月の通信量は下記のようになります。

100 Byte × 60sec/min × 60min/hour × 24hour/day × 30day/month = 約250MByte/month

このときのAirとBeamの費用は下記となります。(速度クラスとしてs1.minimumとした場合)

(Air基本料金) + (Air従量課金分) + (Beamの利用料) = (10円/day * 30day/month) + (0.2円/MB * 250MB/month) + (0.001円/resuest * 60request/min * 60min/hour * 24hour/day * 30day/month) = (300) + (50) + (2592) = 約3000円/月

1requestあたり0.001円とはいえ、チリも積もればですね*6。今の所毎秒データを送るようなユースケースではBeamでオフロードするよりも、デバイス側で頑張ってHTTPSで送る方が安くつくようです。

まれに大量のデータ通信をするケース

IoT/M2M向けのデータ通信プランで、費用を安く抑えようと月の通信量が32MBのプランを選択したとします。その場合困るのが、「たまに大量のデータ通信をしたい」というケースに対応できないということです。セキュリティホールが見つかったので臨時でファームウェアアップデートをしたいという場合、普段は1分に1回のデータアップロードで構わないが何か問題が発生した場合に問題のある個体だけ毎秒アップロードに切り替えたい場合、などが想定できます。

年に一月だけ、あるいは、問題が発生している個体だけ、プランを変更できればいいのですが、これまでのIoT/M2M向けデータ通信プランでは2年一括など包括契約をしているケースもあり、柔軟な対応は困難でした。なので、回線を使う側は普段は32MBプランでいいのに、何かあった時のためにあえて128MBプランで契約しておいたり、あるいは、回線提供側が「年に一回なら。。」といって多少は契約通信量を超えても見逃すといった対応をしていました。これは、使う側にとってはムダが発生していることになり、回線提供側からはリスクとなります。

SORACOM Airの場合、「使った分だけ」支払う従量課金制ですので、ある月だけたくさん使っても、他の月の費用が上がることはありません。また、課金はSIMごとに行われるので、ある個体がたくさん通信したからといって、他のSIMの費用が上がることもありません。ノーマルケースだけでなく、イレギュラーケースを考えた場合の運用コストの最適化が図れている形になります。

普段は通信しないケース

IoT/M2Mのユースケースで見逃せないのが、普段はデータ通信をする必要は無いが、「火山が爆発した」、「河川が氾濫した」、「家に不審者が侵入した」など"何か"がが起こった時だけ通信をしたいというユースケースです。

普段は通信量0で良いところがポイントとなります。このようなユースケースでは、通信しないときは基本料金を抑えられると良いのですが、現状そのようなプランを提供しているところは寡聞にして知りません。

例えば、「データ通信不可/SMSのみ可能」というようなプランがあり、月額基本料が低く設定されているといいな、と思います。"何か"が起こった時にデバイスからSMSを一発飛ばして、それを受けたサーバー側がAPIを叩き通信プランを「データ通信あり」にを変更、デバイスとのデータ通信を開始し、受信し終わったら再びAPIを叩いて「データ通信不可/SMSのみ可能」にしてSIMを"寝かせる"という使い方が考えられます。通信事業者にとっては儲からない話なので、どの事業者も積極的に取り組まなかった課題ですが、今後の展開に期待したいと思います。

まとめ

SORACOM Air/Beamの費用は基本料金が月300円~と安いので多くのユースケースでは十分に低く抑えることができるでしょう。しかし、従量課金部分があるため安く抑えられるケース/高くつくケース両方ありえます。ユーザー側でプランをコントロールすることができるので、安く使えるか、高くつくかはユーザー次第な部分もあります。単なる「格安SIM」として捉えないで、システム全体、運用サイクル全体での最適化を考える必要があるでしょう。

*1:月額400円以下でIoT用のモバイル通信を実現するArduino互換モジュール「Spark Electron」 - GIGAZINE

*2:小容量データ通信向けM2M専用モバイル通信サービスを提供開始|KCCS

*3:128kbps固定/月間128MBまでとか、32kbps固定/月間32MBまでなど

*4:上記のKCCS社の月額290円プランでは3時~5時までの利用に制限されています

*5:カスタムDNSを使う場合は、別途その費用も必要となります。

*6:料金表では"エントリーポイント (Beam) へのリクエスト、Beamから転送先へのリクエスト、それぞれを個別に 1 リクエストとカウントします。"とあるので、実はこれの倍かかるのかもしれません。