投稿日

Wi-Fiや有線回線からもソラコムを。セキュアリンクサービス “SORACOM Arc” の提供を開始します

ソラコムエンジニアリングチームの川上 (@moznion) です。

本エントリでは2021年SORACOM Discoveryの新サービスであるセキュアリンクサービス “SORACOM Arc” のご紹介をいたします。
ソラコムのサービスは現在のところアルファベット順にサービス名が命名されているため、「ハハア、そうなってくると今年の新サービス名は昨年発表された SORACOM PeekP に続く Q からはじまるサービス名になるのでは?」と予想された方もいらっしゃったかもしれませんが、この度は原点に回帰し A からはじまるサービス名とあいなりました。

SORACOM Arc?

SORACOM Arc (以下Arc) はソラコムプラットフォームが提供する新しい接続性 (コネクティビティ) サービスです。

このArcについて一言で説明いたしますと「SIMカードが無くてもソラコムのプラットフォームサービスの利用を可能とするサービス」となります。
従来、ソラコムのプラットフォームサービス (たとえばSORACOM BeamSORACOM Harvest) の利用にあたってはソラコムが提供するSIMカード、つまりSORACOM Air利用する必要があったのですが、Arcではその制限を取り払い、インターネットに繋がるデバイスであればSIMカード無しでプラットフォームサービスをご利用いただけるようになります。

ソラコムでは、IoTシステムを構築するために便利な機能・サービスを様々提供して参りましたが、それらのサービスを利用するためには前述のようにSORACOM Airが基本的に必須となっておりました。この際、例えば同一目的のIoTシステムについて「携帯電話回線を利用するシステム」と「固定回線を利用するシステム」の双方を構築する必要がある場合、前者はSORACOM Airを利用することでプラットフォームサービスの「てこ」により省力してシステムの構築に取り組んでいただけましたが、後者についてはお客様自身ですべてを準備・実装していただく必要がございました。そうなると「携帯電話回線用」と「固定回線用」とで2つのシステムを別々に構築する必要があり二度手間となってしまっていました。
そうした時に今回提供を開始するArcを利用していただくと、「携帯電話回線を利用するときはAir」「固定回線を利用するときはArc」という風に接続方法を使い分けていただくだけで複数の接続方法に対応しつつ、バックエンドのシステムはソラコムプラットフォームへと1本に集約していただくことが可能となります。

もちろん、Arc単体でご利用いただくことも想定しております。一般のご家庭にあるWi-Fiのようなインターネット接続から、果ては人工衛星を介した接続まで、様々な回線を通じてデバイスをソラコムプラットフォームへ接続することにより、IoTシステムを簡単かつ高速に構築していただくことができます。「IoTシステムは作りたいけれど携帯電話回線は必要無いんですよね〜」というお客様にもぜひお試しいただければと思います。

ここで繰り返しになりますが、SORACOM Arcは「SIMカードが無くてもソラコムのプラットフォームサービスの利用を可能とするサービス」です。これだけでも覚えて帰っていただければと思います。

簡単なしくみ

SORACOM Arcではインターネット回線を経由してIoTデバイスをソラコムプラットフォームへと接続します。そこで気になるのは「その伝送路上でどう安全にデータを送り屆けるか」というところだと思いますが、ArcではWireGuardと呼ばれる先端かつセキュアなVPNソリューションを利用することで伝送路の安全性を確保しています。

したがってArcを利用するためにはデバイス側はWireGuardを使える端末である必要がありますが、例えばRaspberry PiのようなLinuxが動くデバイスであれば利用可能ですし、lwIPのような軽量なIPスタックでも利用可能なWireGuard実装もありますので、幅広いデバイスでご活用いただけるのでは無いかと思います。

WireGuardの詳細について踏み入るとそれだけで本記事が終わってしまうレベルのボリュームなので、プロトコル自体の詳細につきましては公式のホワイトペーパーなどを参照していただければと思います。

簡単なつかいかた

SORACOM Arcを使うにあたってはまず「バーチャルSIM」と呼ばれる仮想的な特別なSIMを作る必要があります。バーチャルSIMはソラコムプラットフォーム上であたかもSIMカードのように振る舞う特別な存在で、Arcを使うときの識別子になります。

実際にユーザーコンソール上で「バーチャルSIM」を作ってみましょう。

ユーザーコンソール上の「SIM登録」ボタンをクリックします。
「バーチャルSIMを登録」タブを選択し「登録」ボタンをクリックします。
あっと言う間にバーチャルSIMが完成!
(AAA...=という鍵情報はダミーのものになります)

この時、自動的に生成された鍵情報を含んだWireGuardの接続情報が返却されます。
秘密鍵 (PrivateKey) 情報はこのとき1度しか表示されないので、この鍵を使いたい場合は画面を閉じる前にどこかにメモしていただくようお願いします。
(もしもこの PrivateKey がわからなくなっても安心してください。お客様が生成した鍵を再度登録しなおして使うことができます)

それでは完成したバーチャルSIMを用いて、実際にArcを使った通信をしてみましょう。
バーチャルSIMを作成した時点でSORACOM Arcのセッションが既にセットアップされているので非常に簡単です。

SIM作成時に返却されたセッション情報を元に、接続したいデバイスを設定してみましょう。
例えばRaspberry Piのようなデバイスにログインして設定ファイル (今回は /etc/wireguard/wg0.conf) を編集してみます。基本的にはコピペするだけでOKです。

さきほど生成されたセッション情報をもとに設定ファイルを編集する。<YOUR_PRIVATE_KEY>にはSIM作成時に表示された秘密鍵を入力してください。

この時、AllowedIPs100.127.0.0/16を指定することで、本来はソラコムのSIMカードを使わなければ屆かない宛先に対してWireGuard越しにパケットを送信するように設定できます。

そしてWireGuardを再起動してから、ソラコムプラットフォーム内部に配置されている pong.soracom.io というデバイスからのPING要求にECHO REPLYを返すエンドポイントに対してpingを送ってみると……

アラ不思議! お手元のデバイスからpingが通るすなわちソラコムプラットフォームにパケットが送れてしまうという寸法です。

また、SORACOM Arcの利用に際してはWireGuardが公式に提供するWireGuardのツールに加え、ソラコムが提供するWireGuardのエージェントプログラムであるsoratunをご活用いただくことが可能です。後者の “soratun” はワンバイナリで動作する簡便なエージェントとなっており、WireGuardをインストールする必要が無いので極めて簡単なセットアップで利用開始することができますし、Arcに特化した様々なおもてなし機能が揃っていますのでぜひお試しいただければと思います。

詳細なサービスの利用方法につきましては以下の開発者ドキュメントを参照ください。

SORACOM Arc | ドキュメント | SORACOM Users

あわせてこちらの動画もご覧くださいませ。

使いかた・組み合わせは様々!

SORACOM Arcとその他のプラットフォームサービスを組み合わせることにより、なんと様々な使い方が可能となります。

例えばArcが有効なデバイスのセンシングデータをWi-Fi経由でSORACOM Beamで任意の場所に送ったり、SORACOM Harvestに送信することでお手軽にデータを蓄積したり、といった基本的な使い方から……

  • オンデマンドリモートアクセスサービス SORACOM Napter と組み合わせることにより、Arcを利用するデバイスに対し必要な時だけインターネット経由でアクセスする
  • デバイス間通信サービス SORACOM Gate とのコンビネーションにより、Arcを利用するデバイス同士、あるいはArcを利用するデバイスとAirを利用するデバイス同士でお手軽にデバイス間通信を実現する

などといった応用的な使い方も可能です。特に後者の用途ではVPG Type-Eと呼ばれる安価なVPG (Virtual Private Gateway) を利用することにより、ソラコムプラットフォーム史上最もお安くデバイス間接続をご利用できます。

また、セキュアプロビジョニングサービスであるSORACOM Kryptonと組み合わせて自律的かつ動的にデバイスとプラットフォーム間のセッションの確立を行うことも可能です。この方法では「実際のSIMカード」をセッション構築の際の信頼の依りどころとしつつ、バーチャルSIMを実際のSIMカードとして振る舞わせることにより更に発展的な使い方が可能となります。
例えば「デバイスがバーチャルSIMを払い出しつつセッションを構築する」というような用途の場合、通常の方法ではデバイス側にソラコムのAPIトークンを持たせつつ自前でAPIを呼び出しセットアップをする必要がありますが、Kryptonを使うと実際のSIMカードによって認証しワンタッチで所望のセットアップが可能となります。
またバーチャルSIMと実際のSIMを併用することにより、例えば「固定のインターネット接続がある時はArcを使ってデータ通信料金を削減」しながら「それ以外のケース (例: 移動中) はセルラー回線を用いる」といった複数のコネクティビティをスマートに使い分けいただくことが可能となります。
SORACOM Kryptonを利用したSORACOM Arcの利用方法につきましては以下のドキュメントを参照ください。前述のエージェントプログラム “soratun” もKryptonに対応しており、たいそう簡単に利用いただけます。併せてご活用ください。

この他にも様々な方法が利用可能となっております。ぜひ最強の組み合せを編み出して最高のIoTシステム構築に役立てていただければと思います。

なお、SORACOM Arcの利用上・機能上の制限事項につきましては以下のドキュメントを参照ください。

リファレンス: 制限事項と注意事項 | SORACOM Arc | SORACOM Users

気になるお値段

さて、ここで気になるご利用料金ですが以下のようになっております。

  • 初期費用 50円 (バーチャル SIM/Subscriber 作成手数料)
  • 基本料:バーチャル SIM/Subscriber あたり50円/月 (1GBの通信量を含む)
  • ただし、SORACOM IoT SIM と紐付けることなく、バーチャル SIM/Subscriber を単独で作成した場合の基本料は、バーチャル SIM/Subscriberあたり80円/月・vSIM(1GBの通信量を含む)
  • ソラコムプラットフォームへのデータ通信量に応じて 20円/GB が発生します。(上り、下りの合計となります。ただし、1GBまでは基本料金に含まれます。)

またSORACOM Arcを広くお試しいただくため、各オペレーターごとに毎月1 バーチャルSIMの無料枠をご用意してございますので、是非ご活用いただければと存じます。無料枠はなんと、無料なのでかかるお金は0円となっております!

上に記載した料金につきましては本記事を読まれているタイミングによっては変更されている可能性がありますので、料金の正確な情報につきましては以下のドキュメントをご参照ください。

SORACOM Arc のご利用料金

まとめ

2021年SORACOM Discoveryの新サービスであるセキュアリンクサービス “SORACOM Arc” のご紹介をいたしました。

「SIMカードが無くてもソラコムのプラットフォームサービスの利用を可能とするサービス」としてコネクティビティの垣根を超え、IoTシステムの構築ならびに発展を更に加速させることができれば望外の喜びであります。

ソラコムでは今後もIoTシステムの発展を促進すべく、既成の観念に捉われないプラットフォームの構築に努めてまいりますので、今後もよろしくお願いいたします。

以上です! ぜひご利用くださいませ。