-
サーバ構築のデージーネットTOP
-
OSS情報
-
OSS比較
-
IoTプラットフォームで使えるOSSとは?比較23選
IoTプラットフォームで使えるOSSとは?比較23選
IoTプラットフォームとは、IoTに必要な機能を提供するための基盤(プラットフォーム)の総称です。製造業から、医療や農業、物流まで、様々な業種・業界で利用される機会が増加しています。IoTプラットフォームを構成するそれぞれのパートで使われている技術は、IoT用の特別なものというわけではありません。そのため、オープンソースで公開されている汎用的な技術を活用することもできます。
この記事では、IoTプラットフォームで利用することができるOSSをまとめ、各パートごとに考慮するとよいポイントと合わせて紹介します。IoTプラットフォームの導入を検討する際は参考にしてください。このページではまず、IoTインフラで利用できるOSSと、それぞれのOSSの特徴について解説します。
IoTプラットフォームとは
IoTプラットフォームとは、IoTを効率よく運用・管理する上で必要な機能を提供するための基盤(プラットフォーム)の総称です。IoTとは、「Internet of Things」の略で、モノのインターネットを意味しています。IoTでは、スマート家電から工場の装置まで、さまざまな「モノ」がネットワークに接続されます。そして、ネットワークにつながる「モノ」から収集された膨大なデータによって、新たなサービスや価値が生まれています。
IoTプラットフォームには、「モノ」からデータを収集する設備に始まり、収集したIoTデータを可視化・分析する役割を持つ設備、ユーザがIoTデータを使って何らかのアクションや意思決定をするための設備まで、非常に幅広い領域が含まれています。主に、次のような7つのパートからできています。
IoTエンドポイント(IoTデバイス)
情報を取得する端末や機器のことをいいます。何らかの方法で取得した情報をデジタル化し、IoTインフラを介して、他の基盤へ受け渡しできることが要件です。
例:センサー、カメラ、ホーム・ターミナル、スマート・メーター、家電、モバイル機器など
なお、場合によっては数千〜数万台規模にもなるIoTエンドポイントの状態を正確に把握するために、稼働状況を監視する設備も必要になります。
「OSSのおすすめ監視サーバ・監視ツール比較21選」へ
IoTインフラ(エッジ)
IoTエンドポイントをインターネットに接続するための設備のことをいいます。
例:携帯ネットワーク、無線ネットワークなど
IoTネットワークインフラ
インターネットの接続に必要なインフラ設備のことをいいます。一般的に使われている接続設備と大きく変わりませんが、大規模なIoTエンドポイントからリアルタイムにデータを集める場合は、高速なネットワークインフラが必要になることもあります。
例:ルータ、セキュリティデバイスなど
IoTデータ収集プラットフォーム
IoTエンドポイントから取得し収集したデータや処理済みのデータを保管・蓄積し、管理するための設備のことをいいます。保存するデータ量に合わせて設備を選ぶことが重要です。リレーショナルデータベース(RDB)は、IoTデータのような大量の情報を管理するには適していません。
例:ストレージ、オブジェクトストレージ、NoSQL・負荷分散型データベース、全文検索エンジンなど
IoTデータ処理プラットフォーム
収集したIoTデータを加工・分析したり、統計処理するための処理基盤のことをいいます。分析するデータ量が多い場合は、複数のコンピュータを使った並列コンピューティングの仕組みや、クラウド上の高速な計算機資源の利用をおすすめします。
機械学習プラットフォーム
収集したIoTデータで機械学習を行うために必要なリソースを用意し、迅速に機械学習のモデリングや実験を行えるようにするための設備のこといいます。この分野では、コンテナ型仮想化が注目されています。
IoTクライアント
収集したIoTデータの分析結果を表示したり、データを元にアクションを起こしたりするのに必要な機器のことをいいます。
例:PC、スマートフォン、タブレット、専用のアプリケーション、ハードウェアなど
IoTプラットフォームの動向
現在、世界の主要なITメーカーや、GoogleやAWS、富士通など、様々なベンダーがIoTビジネスの市場に参入し、IoTプラットフォームのサービスを展開しています。しかし、ベンダーによって、IoTプラットフォームの規模や、サービスの対象となる業種・業界は様々です。また近年は、企業のDX(デジタルトランスフォーメーション)化を推進するためだったり、現場の状態を確認し業務改善に活かすためだったりと、利用される場面や状況が増えたことで、サービスの種類もより多様化しています。そのため、組織内で扱うIoTエンドポイントの数やシステムの規模、目的・問題解決に沿ったIoTプラットフォームを構築する必要があります。
OSSを導入するメリット
IoTプラットフォームを開発している多数のベンダーは、各パートで必要な技術をパッケージングし、製品やサービスとして有償で提供しています。一方で、このような外部のサービスを利用せず、自社専用のインフラを構築することも少なくありません。世界的には、オープンソースソフトウェアなどの汎用的なソリューションを連携して構築するケースも多くなっています。OSSを使用することで、コストを削減し、自社の課題に合った独自のIoTプラットフォーム環境を実現することが可能です。
IoTインフラ
IoTインフラとは、データを取得する端末や機器であるIoTエンドポイントを、インターネットに接続するための設備のことをいい、「エッジ」とも呼ばれます。この分野では、遠隔からデータを収集するために、携帯ネットワークや無線ネットワークなどを利用する方法が多いです。実際に、携帯キャリアやMVMOの各社は、IoT向けの通信サービスを提供しています。センサー等のIoTエンドポイントからデータを送る時は、データ量が非常に少ないため、通信速度が低速で低料金の契約が利用できます。逆に、カメラのようにデータ量が多くなるデバイス向けには、適切なデータ量で制限される定額サービスを利用することができます。
IoTインフラで使えるソフトウェア
IoTで無線ネットワークを使う場合には、他のデバイスに無線ネットワークを不正利用されることがないように、セキュリティを確保することが重要です。そして、そのためのセキュアで安全な認証を実現するソフトウェアを選定することが必要です。携帯ネットワークを利用する場合は事業者による閉域網を選択することもできますが、閉域網にはコストも掛かります。そのため、通常のインターネット回線を用いて、SIM認証を利用する場合もあります。以下では、IoTインフラで使えるソリューションとして、セキュアな認証の仕組みを実現するOSSを紹介します。
FreeRADIUS 〜IoTデバイスの認証〜
FreeRADIUSとは、RADIUSプロトコルを実装したオープンソースソフトウェアです。ベーシックなRADIUSプロトコルでは、ユーザ名・パスワードによる単純なユーザ認証を提供しています。しかし、IoTインフラで認証を行う場合には、よりセキュリティ性の高いEAP(Enhanced Authentication Protocol)を使う必要があります。FreeRADIUSは、EAPを採用しています。そのため、IoTデバイスとIoTエンドポイントの間で、TLS/SSLを使った暗号通信城での認証、証明書認証などを行うことができます。IoTインフラに求められる、高いセキュリティを実現することができます。
また、FreeRADIUSは携帯電話のSIMを使ったSIM認証にも対応しています。そのため、無線ネットワークと携帯ネットワークの両方をサポートすることができます。
OpenXPKI 〜IoTデバイス用の証明書を管理〜
OpenXPKIとは、認証局を構築するためのオープンソースソフトウェアです。電子証明書には、インターネット上で利用するパブリック証明書と、組織の内部だけで利用するプライベート証明書があります。OpenXPKIを使うと、このプライベート証明書を発行するための認証局を構築することができます。
IoTデバイスと、IoTインフラやIoTネットワークインフラでは、セキュアな接続を実現するために証明書認証が利用されます。パブリック証明書を使うこともできますが、大量にあるIoTデバイスに証明書を配布すると、非常に高コストになってしまいます。OpenXPKIでは、組織内にプライベートな認証局を独自に構築して電子証明書や鍵の管理を行うことができるため、リーズナブルなコストで高いセキュリティを実現することができます。
IoTプラットフォームで使われるOSS
- IoTインフラ
- ここでは、FreeRADIUS、OpenXPKIについて紹介します。
- IoTネットワークインフラ
- ここでは、Nginx、HAProxy、Squid、OpenLDAP、389 Directory Serverについて紹介します。
- IoTデータの可視化
- ここでは、Grafana、OpenSearch Dashboards、Kibanaについて紹介します。