オープンソース

IoTプラットフォームで使われるOSS「IoTネットワークインフラ」

IoTネットワークインフラは、インターネットを構成する、ルータ、セキュリティデバイスなどのインフラです。IoTエンドポイントからの通信と不正な通信と区別するため、IoTエンドポイントに対してアクセス制御を掛けたり、認証の仕組みを導入します。このような接続認証には、オープンソースソフトウェアが活用されています。

よく使われる認証方式は、ユーザ名・パスワードによる認証です。より高いセキュリティが必要な場合には、IoTエンドポイントにクライアント証明書を持たせて、証明書認証を行う場合もあります。このような場合には、クライアント証明書を発行する認証局も合わせて構築する必要があります。

IoTプラットフォーム

IoTネットワークインフラ

Nginx 〜信頼性の高いリバースプロキシ〜

Nginxとは、性能の高いWebサーバとして知られているオープンソースソフトウェアです。並列性が高く、最小のメモリ利用で動作する高性能なサーバソフトウェアです。そのため、IoTエンドポイントから届く大量のデータを処理するのに適しています。

Webサーバだけでなく、HTTP、HTTPS、SMTP、POP3、IMAPなどに対するリバースプロキシの機能も持っています。また、ロードバランサーとしても利用することができます。そのため、IoTデバイスからの通信のアクセス制御や認証を行った後、IoTデータ収集プラットフォームやIoTデータ解析プラットフォームを構成するサーバへの処理の振り分けなども行うことができます。そのため、IoTデバイスからの通信のアクセス制御や認証を行った後、IoTデータ収集プラットフォームやIoTデータ解析プラットフォームを構成するサーバへの処理の振り分けなども行うことができます。

Nginx構築事例

HAProxy 〜高パフォーマンスな負荷分散と認証〜

HAProxyは、高可用性、負荷分散を実現するためのオープンソースソフトウェアです。Nginxよりも知名度は劣りますが、RedHat Enterprise LinuxやCentOSでは標準パッケージとして提供されています。また、OpenStackなどでも採用されていて、高可用性や負荷分散を実現するソフトウェアとしては、非常に安定したソフトウェアです。HAProxyの特徴は、負荷分散における高いパフォーマンスです。Nginxに比べて、負荷分散の機能が非常に優れているため、IoTデバイスから収集したデータをIoTデータ収集プラットフォームやIoTデータ解析プラットフォームに振り分けるときに、高パフォーマンスの特徴が生かされます。また、ユーザ・パスワードによる認証や、証明書認証にも対応しています。

HAProxy構築事例    HAProxy無料資料

Squid 〜気軽に使える認証ソフトウェア〜

Squidは、古くから使われているプロキシサーバのソフトウェアです。IoTデバイスの認証やアクセス制御の用途で利用できます。非常に歴史のあるソフトウェアですので、安定性という点では優れいています。負荷分散の機能も備えていますので、データの振り分け処理に利用することもできます。

ただ、HAProxyやNginxに比べると、性能的にも機能的にも劣ります。それほどパフォーマンスが必要でない場合に手軽に利用できるソフトウェアです。

OpenLDAP 〜スタンダードな認証バックエンド〜

OpenLDAPは、LDAPサーバのデファクトスタンダードとも言えるオープンソースソフトウェアです。インターネットサービスプロバイダーなど、厳しい環境でも使われています。多数のIoTデバイスの認証を処理するためには、認証も高速に行うことが求められます。OpenLDAPは認証に特化したソフトウェアで、高速に認証を行うことができます。そのため、Nginx、HAProxy、Squidなどの認証バックエンドとして利用されます。

OpenLDAP詳細情報

389 Directory Server 〜高性能な認証バックエンド〜

389 Directory Serverは、Red Hatが開発に参画しているLDAPサーバです。OpenLDAPよりもさらにスケーラビリティに優れていて、同時に大量の認証が必要な環境で使われます。OpenLDAPと同様に、Nginx、HAProxy、Squidなどの認証バックエンドとして利用されます。OpenLDAPでは処理能力不足な場合に、389 Directory Serverを選択します。

389_Directory_Server無料資料

IoTプラットフォームで使われるOSS

IoTインフラ
ここでは、FreeRADIUSOpenXPKIについて紹介します。
IoTネットワークインフラ
ここでは、NginxHAProxySquidOpenLDAP389 Directory Serverについて紹介します。
IoTデータ収集プラットフォーム
ここでは、CephDRBD-SDSElasticsearchGraylogMongoDBGridDBについて紹介します。
IoTデータ解析プラットフォーム
ここでは、OpenStackHadoopApache Sparkについて紹介します。
IoT機械学習プラットフォーム
ここでは、DockerKubernetesGitLabについて紹介します。
IoTデータの可視化
ここでは、KibanaGrafanaについて紹介します。

IoTプラットフォームで使われるOSS「IoTネットワークインフラ」の先頭へ