MENU

Soracom

Users

SORACOM Funnel の仕組み

デバイスからのデータを特定のクラウドサービスに直接転送

デバイスから Funnel の エントリポイント へデータを送信するとアダプタを経由して対象のクラウドサービスへ転送されます。

Funnel のアダプタには、大きく分けて 2 種類のアダプタが存在します。1 つは SORACOM Hosted Adapter です。これは、ソラコムが開発・提供を行っています。メガクラウド(大手クラウドベンダー)の各種サービスへの接続機能をサポートします。

もう 1 つは Partner Hosted Adapter です。これは SORACOM Partner Spaceの認定パートナー各社のサービスへ接続するために、パートナー各社が開発・提供しているアダプタとなります。

SORACOM Hosted Adapter がサポートするサービスは、サービス間のハブとして動作して同じクラウドプラットフォームの別のサービスへの連携がメインとなっている一方で、Partner Hosted Adapter の場合は各社のソリューションサービスへダイレクトにデータを送信できるものが多くあります。

Amazon Kinesis Data Streams アダプタ

AWS で大規模ストリーミングデータ処理を行うのに欠かせないのが Amazon Kinesis Data Streams です。

特徴としては、フルマネージドでスケーラブルなリアルタイムデータ処理基盤であり、大規模なデータを扱う IoT には欠かせないものとなっています。 送信された データは EC2 などで動作するアプリケーションで処理をすることもでき、AWS Lambda を使ってサーバーレスで処理することも可能です。

Amazon Kinesis Data Firehose アダプタ

送信したデータを AWS 内のデータストアサービスへ保存したい場合には、 Amazon Kinesis Data Firehose アダプタが利用できます。Amazon S3、Redshift、 Elasticsearch Service などに対応しており、コンソール上で設定するだけでデバイスからのデータを保存できます。

また、Lambda を使って入力されたデータを処理してから保存することもできますので、センサーデータを何らかの下処理をしてから保存したいといったユースケースにも対応できます。

AWS IoT Core アダプタ

AWS IoT Core アダプタを使うと、AWS の IoT 関連サービスの核となるメッセージブローカーへデータをパブリッシュできます。 AWS IoT Core を利用する際は、通常はデバイスごとに証明書を発行・管理して MQTTS によるクライアント認証を行います(この方法は Beam でサポートしています)が、Funnel ではサービス仕様上データを送信するのみとなり、アクセスキー認証による HTTPS 通信を利用します。 AWS IoT Core から先は、ルールエンジンを使って AWS Lambda や Amazon DynamoDB など多彩なサービスへと連携させることができます。

Funnel の AWS IoT アダプタの長所は、デバイスから送信したデータを Funnel のエントリポイントに送信するだけで、AWS IoT Core によって様々な AWS サービスとの連携が可能となる点です。また、TCP/UDP/HTTP のプロトコルに対応しており、デバイスやシステムの要件に合ったプロトコルで通信できます。さらに、Funnel の設定項目の中では、転送先 URL として #{imsi} , #{imei}を変数として URL のパスに埋め込むことができます。この機能を使うと、SIM の IMSI や IMEI を自動的にトピック名とすることが可能となり、特定の SIM やデバイスのみフィルタリングをかけてデータ処理を実行することも簡単に行うことができます。

具体的な利用例としては以下のようなものが挙げられます。

  • IMSI をキーワードとして AWS IoT Core でフィルタリングし、特定の SIM からデータを受信したら Lambda Function で処理を行う。
  • センサからのデータを AWS IoT Core に集約し、AWS DynamoDB に蓄積する。

なお、Funnel はデータをクラウドサービスにアップロードする機能に特化しており、デバイス宛の通信 (下り通信)には対応していません。AWS IoT Core の Thing Shadow 機能を使う場合には SORACOM Beam を利用してください。

Amazon Kinesis Video Streams アダプタ

デバイスから送信されたビデオストリームデータを使って、AWS 上で分析・機械学習などの処理を行いたい場合に、Amazon Kinesis Video Streams アダプタが利用できます。Kinesis Video Streams へデータを送信するには、通常 Kinesis ビデオストリームプロデューサーライブラリを使用して、セキュアにデータをストリームする必要がありますが、この処理は Amazon Kinesis Video Streams アダプタ側で行うため、デバイス側での複雑な処理や認証処理は不要となります。

Kinesis Video Streams アダプタは Limited Preview として提供しています。

Microsoft Azure Event Hubs アダプタ

Microsoft Azure Event Hubs アダプタを利用するとデバイスからのデータを Azure Event Hubs に送信し、Azure Stream Analytics や Azure Databricks などと連携できるため、リアルタイムデータパイプラインを簡単に構成できます。

Google Cloud Pub/Sub アダプタ

Google Cloud Pub/Sub アダプタを利用すると、デバイスからのデータをメッセージとして送信することができます。送信されたメッセージは、Compute Engine、Cloud Dataflow など Google Cloud Platform の各種サービスと連携し、 BigQuery でのデータ解析などを行うことが可能となります。