本記事は、株式会社インターネットイニシアティブ(IIJ)の協力のもと作成しています。
IoTプラットフォームとは
IoTプラットフォームとは、簡単にいえば、ネットワークに接続されたIoTデバイスから大量のデータを収集し、可視化や分析、制御などを行うためのシステム基盤のことだ。しかし、具体的にどんな役割や機能をもつものを指すのか、その実体についてはよくわからないという人も多いだろう。- クラウド型:さまざまなアプリケーションを開発するクラウド環境を提供している(IaaS、PaaS)
- 産業特化型:各産業・業界の業務に特化したアプリケーションなどを提供している
- ネットワーク連動型:ネットワーク環境と合わせて提供している
クラウド型
1つ目のクラウド型では、サーバー(クラウドサービス)やアプリ開発環境が提供され、あとは独自にIoTシステムを構築することができる。IaaSやPaaSとも呼ばれる。Amazon Web Servicesの「AWS IoT」やMicrosoftの「Azure IoT」などがその例だ。産業特化型
2つ目は、製造業やスマートホーム、土木建築業などさまざまな分野の業務に特化したデータ収集基盤やアプリケーションを包括的に提供しているタイプで、産業特化型のIoTプラットフォームと呼ばれることが多い。ネットワーク連動型
そして3つ目は、キャリアやMVNOなどが提供している、ネットワーク環境やSIMの提供とセットとなっているタイプのIoTプラットフォームだ。PoCから運用段階に移行し、ネットワークに接続する端末の数や種類が増えるにつれて、IoTシステムのコネクティビティ(ネットワーク接続性)は重要なポイントとなってくる。 そこで本記事では、ネットワーク連動型のIoTプラットフォーム(上の図の黄色の部分がこれに相当する)に着目し、求められる機能やそれを活用するメリットについて解説する。IoTプラットフォームに求められる機能
ネットワーク連動型のIoTプラットフォームに求められる主な機能を下の図に示した。まずその核となるのは、「閉域網接続」や「SIM回線認証」といったコネクティビティ(ネットワーク接続性)に関わる機能だ。そして、ネットワークに接続された「デバイスの管理」や「デバイスの制御」も欠かせない。コネクティビティ(ネットワーク接続性)
多数の機器やセンサーから収集されたデータをクラウドに送信することで、分析や可視化、リモート制御を行うことができる。 しかしこのとき、端末をインターネットにつなげる構成にすると(下の図)、セキュリティの問題が懸念される。またあとで説明するように、暗号化通信によるネットワーク通信量や端末バッテリ消費量の増大といったさまざまな点も考慮しなければならなくなる。 運用後に顕在化するコネクティビティの問題(例)
- どんな通信技術を採用するべきなのか(ローカル5G、LTE/LTE-M、LPWA、WAN/VPN)
- セキュリティはどう担保したらよいのか
- 通信料はどれくらいかかるのか
- 安定な電波を提供してくれる基地局があるのか
- 外部のクラウドサービスと安全に接続するにはどうしたらよいのか など
デバイスの管理
閉域網によってIoTプラットフォームに接続されたデバイスの状態は、PCやスマートフォンのWebブラウザから安全に管理することができる。 PCやスマートフォンの画面から、たとえばSIMの管理(追加・解約など)やデータの属性情報(工場番号、ライン番号、製造品、担当部課など)の付与、データを送信するクラウド環境の変更・切り替え、電波状況の確認、バッテリー駆動の端末の電池残量の監視などを行うことができる。 IoTプラットフォームで管理できる内容(例)
- SIMの管理(追加・解約など)
- データの属性情報(工場番号、ライン番号、製造品、担当部課など)の付与
- データを送信するクラウド環境の変更・切り替え、電波状況の確認
- バッテリー駆動の端末の電池残量の監視
- センサーデータやカメラの動画データの受信から、デバイスや産業機器の稼働状況を監視
- 端末の異常を検知後、メールやチャットにアラート通知 など
デバイスの制御
また、IoTプラットフォームを使うことで、PCやスマートフォンのWebブラウザから、電源の再起動や緊急停止、ログの確認、ファームウェアアップデート、SIMの休止/再開、またゲートウェイがもっている管理UIへのリモートアクセスなどを行うことができる。 これにより、管理者や技術者が現地に駆けつける必要がなくなり、移動コストを削減できる(下の図)。また、高所や危険場所でのデバイスの設置も可能になるだろう。データの蓄積
センサーなどで収集したデータは閉域網を通じて、安全にIoTプラットフォームに送信し、蓄積することが可能だ。また、後述するが、いったん蓄積されたデータは、外部のクラウドサービスに安全に転送することもできる。データの処理
IoTプラットフォームに送信されたデータは、その後、IoTプラットフォーム上のアプリケーションで適切に処理される。 このとき、IoTプラットフォームは、処理したデータを、外部のさまざまなクラウドサービス(AWS、Azure、……等)に安全に転送できるため、クラウド上の既存の業務アプリケーションを実行することができる。 その接続方法は主に2通りある。インターネット経由での接続
1つは、インターネット経由でクラウドサービスに接続する方法だ。 インターネット経由の場合、「外部からデータを参照されるリスクがあるのではないか」と思われるかもしれない。 しかし、IoTプラットフォームに閉域網で送信されたデータは、HTTPSに暗号化(暗号化オフロード処理)して、外部のクラウドサービスに安全に転送することもできる(下の図)。この方法は、端末とクラウドを直接インターネットで接続し、暗号化する場合よりも多くのメリットがある。IaaSが提供する閉域網経由での接続
また、IoTプラットフォームからインターネットを経由せず、外部のクラウドサービスの閉域網や特定のサーバー(オンプレミス)に直接接続することもできる。 たとえば、AWSは「AWS Direct Connect」、Microsoftは「Azure ExpressRoute」、GCP(Google Cloud Platform)は「Partner Interconnect」といった、閉域網の接続サービスをそれぞれがもっている。 これらの閉域網サービスとIoTプラットフォームを接続すれば、インターネットを経由せずにセキュアなデータの連携が可能である。 なお、こうした閉域網接続の環境を構築するには専門的な知識を要するため、閉域網サービスとネットワークインテグレーションを同時に対応できるシステムベンダーを選択することもポイントになってくる。IoTプラットフォームを使うメリット/デメリット
以上で、IoTプラットフォームに求められる各機能について見てきた。ここでは、あらためてそれらを活用するメリットについて補足する。IoTシステムに必要な基本機能を新たに開発してなくてよい
端末にSIMカードを差し込めば、とりあえず「IoT化」はされる。だが、それだけでは十分ではないことが、以上の内容である程度理解いただけただろう。 実際には、安全で効率的なネットワーク環境の構築や、デバイスを一括管理する仕組み、セキュアな外部のクラウドサービスとの接続など、検討するべきことはたくさんある。 たとえば、デバイスを一括管理する仕組みをつくるには、SDK(ソフトウェア開発キット)を用いた端末開発とクラウド開発が必要になる。 だが実際には、「イチから勉強して作りこむのが大変」という声も多い。安全かつ効率的にデバイスの管理・制御ができる
ネットワークに接続された端末を遠隔で管理したり、制御したりする仕組みを構築するには、主に次の3つの方法がある 。- 端末とクラウドをインターネット経由で接続する
- 端末とクラウドを閉域網で接続する
- 端末とIoTプラットフォームは閉域網で、IoTプラットフォームとクラウドはインターネット経由で接続する
インターネット経由での接続
1つ目は便利な方法ではあるが、外部からデータを参照されるリスクが大きいほか、個々のデバイスに付与するグローバルIPアドレスの枯渇および高額化という問題がある。閉域網経由での接続
2つ目はネットワーク環境的に安全な方法ではあるが、その分大きなコストが発生する場合が多い。たとえば、ネットワークに接続された端末を管理者がリモートで管理・制御するには、管理用のすべての端末にVPNクライアントと接続ID/パスワードが必要となり、それを管理・運用するコストが発生する。端末とIoTプラットフォームは閉域網、IoTプラットフォームとクラウドはインターネット経由で接続
そして3つ目のIoTプラットフォームを活用する方法は、先述の2つの方法のいいところ、つまりインターネットの便利さと閉域網の安全さを合わせた方法だと言える。 具体的には、端末とIoTプラットフォームの間は閉域網で、IoTプラットフォームとクラウドの間は、HTTPS暗号化により安全にインターネット接続する(暗号化オフロード処理)というように使い分ける。 これにより、低コストで安全なネットワーク環境を構築することができるのだ(具体例は以下のGPSトラッカーの事例を参照してほしい)。端末の通信量とバッテリー消費量を最小限にできる
また、IoTプラットフォームとクラウド間のHTTPS暗号化による安全なインターネット接続は、(バッテリー駆動型の)端末の省電力化にも寄与する。 その理由は、データの送受信に用いられるプロトコルの違いによって、通信量とそれにともなうバッテリ消費量が異なるからだ。 たとえば、16bytesのデータを送る際の通信料は次のとおりだ。- HTTPS:約7,500bytes
- HTTP:約700bytes
- TCP:約300bytes
- UDP:約40bytes
事例:GPSトラッカー
閉域網での上り通信
具体的なシステム構成としては、まず子供の位置情報のデータは閉域網でIoTプラットフォームに送られる(上り通信)。 そのデータはさらに、HTTPS暗号化により事業者(見守りサービスの提供者)のクラウドサービスへと安全にインターネット経由で送られる。またこれにより、端末の通信量とバッテリー消費量を最小限におさえることができる。デバイス制御を行う下り通信
さらにこの事例では、デバイスの制御(下り通信)もポイントだ。 具体的には、子供の位置情報データの送信間隔の変更やファームウェアのアップデート要請などが可能である。 なお、デバイス(GPSトラッカー)は通常時は休止しているが、IoTプラットフォーム側から起動処理のコマンドをデバイスに送ることで、休止中のデバイスを起動させることができる。 この仕組みもデバイスの通信量とバッテリー消費量を抑えることに寄与している。IoTプラットフォーム活用は、時間とコストを圧縮してくれる
なお、下り通信の制御は、一般的にはMQTTやWebSocketなどのプロトコルを用いることが多いが、その場合には端末側とクラウド側の双方のシステムを「イチから作りこむ」必要がある。 こうした開発の時間とコストを極力低減してくれるのも、ネットワーク連動型のIoTプラットフォームを利用するメリットとなる。まとめ
以上で、ネットワーク連動型のIoTプラットフォームの主な機能や事例についてみてきた。 IoTプラットフォームと聞くと、さまざまな機器やセンサーからのデータ収集やアプリケーションのレイヤーだけを思いうかべる人も多いかもしれない。だが実際には、あまり知られていないようなネットワーク関連のきめこまかい機能が、セキュアなIoTシステムの「裏方」として働いているということを、理解いただけたと思う。 なお、以上のIoTプラットフォームの機能は、株式会社インターネットイニシアティブ(IIJ)より、「IIJ IoTサービス」という名称でSIMの提供などネットワーク環境の構築も含めて包括的に提供されている。詳細が気になる方は、以下のページを参照してほしい。・IIJ IoTサービス ・IoTエンジニア向けマニュアル

