Funnel は、デバイスから SORACOM (具体的には、Unified Endpoint や Funnel のエントリポイント) に送信されたリクエストを、エントリポイントの設定 に従って、主要なクラウドベンダーのサービスや SORACOM パートナースペースの認定済パートナー が提供する各種ソリューション (以下、転送先サービス) に転送するサービスです。
アダプター
クラウドサービスにデータを送信する場合、クラウドサービス専用の SDK などをデバイスにインストールして利用することがあります。Funnel を利用すると、転送先サービスにあわせた複雑な処理は、Funnel のアダプターで行われます。SDK などをデバイスにインストールしたり、デバイスで転送先サービスにあわせた実装を行う必要はありません。
アダプターは、デバイスが TCP や UDP、HTTP などのプロトコルでデータを送信した際、転送先サービスの仕様にあわせて認証などの複雑な処理を担当します。
たとえば、AWS IoT Core を利用する際は、Funnel を使わない場合はデバイスごとに証明書を発行・管理して MQTTS によるクライアント認証を行います。
一方で、Funnel の AWS IoT アダプターを利用すると、Funnel が対応するプロトコルで Funnel のエントリポイント または Unified Endpoint にデータを送信するだけで、AWS IoT Core にデータを転送できます。
Funnel のアダプターは、大きく 2 種類に分類できます。
種類 | 説明 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Soracom Hosted Adapter | ソラコムが開発しているアダプターです。各種パブリッククラウドへデータを転送できます。主に、同じパブリッククラウドの別のサービスにデータを転送する用途で利用されます。 利用できるアダプターは以下のとおりです。
デバイス宛の通信 (下り通信) が必要な場合は Beam を利用してくださいFunnel はデータをパブリッククラウドにアップロードする機能に特化しており、デバイス宛の通信 (下り通信) には対応していません。たとえば、AWS IoT の Thing Shadow 機能を使う場合には、Beam を利用して AWS IoT と接続 してください。また、送信されたデータの処理結果をすぐに知りたい場合や、デバイス自体が再送を行いたい場合にも、同様に Beam を利用してください。 | ||||||||||||
Partner Hosted Adapter | SORACOM パートナースペース (SPS) の認定パートナー各社が開発しているアダプターです。主に、認定パートナーが提供するサービスにデータを転送する用途で利用されます。詳細は、認定パートナー各社にお問い合わせください。 |
Funnel の主な特徴
特徴 | 説明 | Beam、Funk、Funnel の主な違い |
---|---|---|
想定される転送先 | 主要なクラウドベンダーのサービスや SORACOM パートナースペースの認定済パートナー が提供する各種ソリューションに転送できます。 また、1 つのグループ設定には転送先を 1 つだけ設定できます。 |
|
Funnel を利用できるデバイス | 以下のサービスを利用したデバイスから利用できます。
| なし |
通信経路の暗号化 |
Funnel を利用しない方法や Funnel で TLS 暗号化処理を行わない場合はデバイスで TLS 暗号化処理を行う必要がありますデバイスで TLS 暗号化処理を行うには、認証情報 (クライアント証明書など) も、あらかじめデバイスに保管する必要があります。 Funnel が対応する TLS バージョンは 1.2 ですクラウドサービスでは、TLS 1.2 に対応するように設定してください。たとえば、AWS IoT Core に送信する場合は、AWS IoT Core の では、TLS 1.2 に対応するセキュリティポリシーを選択してください。たとえば、「IoTSecurityPolicy_TLS13_1_2_2022_10」は TLS 1.2 に対応しています。 | なし |
プロトコル変換 | 転送先サービスにあわせてデータを送信できないデバイスからの通信を、転送先サービスの仕様にあわせて送信できます。たとえば、TCP や UDP から、HTTPS に変換できます。 |
|
接続先の切り替え | PoC フェーズと Production フェーズで、処理結果の送信先が異なる場合でも、デバイスの設定を変更する必要はありません。 デバイスからは、Funnel のエントリポイント または Unified Endpoint にデータを送信します。転送先サービスや認証情報、転送時のパラメータは、デバイスが手元になくても SORACOM ユーザーコンソールや SORACOM CLI / SORACOM API でいつでも変更できます。 | なし |
データ通信量と消費電力の削減 | デバイスから Funnel までの暗号化処理が省略でき、さらにデータ通信の手続きが簡素なプロトコルを利用できるため、データ通信量も消費電力も削減できます。また、バイナリパーサー を利用すると、さらにデータ通信量と消費電力を削減できます。 | なし |
同期 / 非同期 | 非同期。 クラウドサービスでの処理結果はすぐに受け取れませんFunnel はその設計ポリシーとしてスケーラビリティを最重要視しており、デバイスからの各リクエストは一旦 SORACOM でバッファリングされ、非同期に各サービスへ転送されます。そのため、クラウドサービスからのレスポンスを受け取ることはできず、データ処理が成功したか、失敗したかをデバイスが直接知ることはできません。 送信されたデータの処理結果をすぐに知りたい場合や、デバイス自体が再送を行いたい場合には、Beam を利用してください。 データ処理が失敗した場合は、エラーログ が記録されます。 |
|
対応プロトコル (デバイス - Funnel 間) |
詳しくは、エントリポイント一覧 を参照してください。 Junction のインスペクション機能でサマリーされたパケット統計情報もデータソースとして利用できます。 |
|
送信間隔 | Funnel を使って短い間隔 (1 秒に 1 リクエスト等) でデータ送信することを検討されているお客様は、セールスチーム にお問い合わせください。 | なし |
Funnel からのアクセスであることを確認するには | アダプターごとに異なる方法で確認します。 |
|
HTTP/TCP/UDP セッションは切断されることがあります
SORACOM のメンテナンスに伴い、任意のタイミングで HTTP/TCP/UDP セッションが切断される場合があります。
なお、メンテナンスに伴うセッション切断は、SORACOM Status Dashboard などで告知されません。ご了承ください。
AWS STS エンドポイントをアクティブ化してください
Funnel の以下のアダプターを使用する場合は、AWS が提供する AWS STS エンドポイントをアクティブ化してください。
- AWS IoT アダプター
- Amazon Data Firehose アダプター
- Amazon Kinesis Data Streams アダプター
なお、アクティブ化する AWS STS エンドポイントは、Funnel のカバレッジタイプによって異なります。
SORACOM のカバレッジタイプ | AWS リージョン | AWS STS エンドポイント |
---|---|---|
グローバルカバレッジ | 欧州 (フランクフルト) eu-central-1 | sts.eu-central-1.amazonaws.com |
日本カバレッジ | アジアパシフィック (東京) ap-northeast-1 | sts.ap-northeast-1.amazonaws.com |
たとえば、日本カバレッジで Funnel の AWS IoT アダプターを利用する場合は、sts.ap-northeast-1.amazonaws.com をアクティブ化します。
AWS STS エンドポイントのアクティブ化について詳しくは、AWS リージョン での AWS STS のアクティブ化と非アクティブ化 を参照してください。
整数データへ変換される制限は無くなりました
2021 年 8 月 3 日以降、小数点以下がすべて 0
のデータ (例: {"temperature": 20.0}
) をクラウドサービスに送信するときに、小数点 1 桁目の 0
が維持されるようになりました。
たとえば、{"temperature": 20.0}
をデバイスから送信すると、SORACOM Funnel で整数データに変換されることなく、{"temperature": 20.0}
のままクラウドサービスに送信されます。
ただし、{"temperature": 20.00}
を送信すると、小数点 1 桁目の 0
のみが維持され、{"temperature": 20.0}
が送信されます。
データ送信サイズ
最大データ送信サイズは以下のとおりです。
- HTTP: 約 780 KB (800000 バイト)
- TCP: 64 KB (64 KB のデータを送信するには、SORACOM Binary Format v1 の利用が必要です)
- UDP: 1 つの UDP データグラムで送信できるペイロード長
そのほかのサービスを併用する
Funnel は、Beam と同様に SORACOM のほかのサービスと組み合わせて利用できます。詳しくは、そのほかのサービスを併用する を参照してください。