Beam は、デバイスから SORACOM (具体的には、Unified Endpoint や Beam のエントリポイント) に送信されたリクエストを、エントリポイントの設定 に従って、パブリッククラウドやお客様のサーバーなど任意のサーバー (以下、転送先サーバー) に転送するサービスです。
デバイスの処理負荷を軽減 (オフロード)
デバイスのスペックや消費電力の問題から、複雑な処理ができないデバイスでも、処理の一部を任意のサーバーに任せることで、デバイスの処理負荷を軽減できます。たとえば、デバイスに接続された温度センサーデータを取得し、Beam を利用して温度をサーバーに送信し、サーバーで計算した推移予測をデバイスに返すことができます。デバイスでは、この予測結果をもとに、ファンの速度を制御できます。
Beam の主な特徴
特徴 | 説明 | Beam、Funk、Funnel の主な違い |
---|---|---|
想定される転送先 | パブリッククラウドやお客様のサーバーなど、任意のサーバーに転送できます。 |
|
Beam を利用できるデバイス | 以下のサービスを利用したデバイスから利用できます。
| なし |
通信経路の暗号化 |
Beam を利用しない方法や Beam で TLS 暗号化処理を行わない場合はデバイスで TLS 暗号化処理を行う必要がありますデバイスで TLS 暗号化処理を行うには、認証情報 (クライアント証明書など) も、あらかじめデバイスに保管する必要があります。 Beam が対応する TLS バージョンは 1.2 と 1.3 ですBeam から転送されるお客様のサーバーでは、TLS 1.2 または 1.3 に対応するように設定してください。 | なし |
プロトコル変換 | HTTP/HTTPS を利用できないデバイスからの通信を、転送先サーバーにあったプロトコルに変換して送信できます。たとえば、TCP や UDP から、HTTPS に変換できます。 |
|
接続先の切り替え | PoC フェーズと Production フェーズで、アルゴリズム (処理内容) が変わる場合や、処理結果の送信先が異なる場合でも、デバイスの設定を変更する必要はありません。 デバイスからは、Beam のエントリポイント または Unified Endpoint にデータを送信します。転送先サーバーや転送時のパラメータは、デバイスが手元になくても SORACOM ユーザーコンソールや SORACOM CLI / SORACOM API でいつでも変更できます。 | なし |
データ通信量と消費電力の削減 | デバイスから Beam までの暗号化処理が省略でき、さらにデータ通信の手続きが簡素なプロトコルを利用できるため、データ通信量も消費電力も削減できます。また、バイナリパーサー を利用すると、さらにデータ通信量と消費電力を削減できます。 | なし |
同期 / 非同期 | 同期。転送先サーバーからのレスポンスを受け取れます。
|
|
対応プロトコル (デバイス - Beam 間) |
プロトコルごとにエントリポイントが用意されています。詳しくは、SORACOM Beam のエントリポイントを設定する を参照してください。 MQTT エントリポイントの想定用途MQTT エントリポイントは、デバイスからは MQTT で送信し、Beam からは MQTTS で送信するエントリポイントです。このエントリポイントは、デバイスに CPU パワーがあまりなく、MQTTS で送信することが難しい場合に有用です。 |
|
送信間隔 | Beam を使って短い間隔 (1 秒に 1 リクエスト等) でデータ送信することを検討されているお客様は、セールスチーム にお問い合わせください。 | なし |
ヘッダー操作 / トピック操作 | Beam でリクエストを転送する際に、IMSI、IMEI、署名ヘッダー、カスタムヘッダー、Authorization ヘッダーなどの情報を追加できます (ヘッダー操作)。 MQTT の場合は、トピックに SIM ID や IMEI などの情報を追加できます (トピック操作)。 転送先のプロトコルによって、追加できるヘッダーや追加方法が異なります。詳しくは、エントリポイントリファレンス を参照してください。 | Beam は、高度なヘッダー操作やトピック操作ができます。 |
Beam からのアクセスであることを確認するには | 転送される際に、署名を付与できます。転送先サーバーで、その署名を検証することで、Beam からのアクセスであることを確認できます。詳しくは、転送先サーバーで SORACOM Beam からのリクエストであることを検証する を参照してください。 |
|
転送先サーバーが自己署名証明書またはプライベートな認証局で署名された証明書を使用している場合は、証明書の検証ができないため接続に失敗します。
HTTP/MQTT/TCP/UDP セッションは切断されることがあります
確立済みの HTTP/MQTT/TCP/UDP セッションは、さまざまな要因によって切断される場合があります。セッションが切断された場合は再接続を試行してください。再接続を試行する際は、Exponential Backoff 等のアルゴリズムを利用することも検討してください。
なお、SORACOM のメンテナンスに伴うセッション切断は、SORACOM Status Dashboard などで告知されません。ご了承ください。
そのほかのサービスを併用する
Unified Endpoint
Beam は、Unified Endpoint のデータ送信先の一つです。グループ設定で Beam が有効化されている場合は、デバイスから Unified Endpoint に送信されたデータは、Beam に転送され、さらに Beam からデータ転送先にデータが送信されます。
Unified Endpoint を経由すると利用できないエントリポイントがあります
次のエントリポイントは、Unified Endpoint を経由すると利用できません。
バイナリパーサー
バイナリパーサー は、デバイスから送信されたバイナリデータを、グループ設定で定義されたフォーマット に従って JSON データに変換する機能です。Beam とバイナリパーサーを併用すると、デバイスから Beam のエントリポイントに対して軽量のバイナリデータを送信するだけで、転送先のサーバーでは JSON データを受信できます。
Orbit
Orbit は、デバイスから Unified Endpoint に送信されたデータを、Beam に転送する前に任意のデータフォーマットに変換するサービスです。たとえば、転送先サーバーで受け付けるデータフォーマットが変更されたとしても、Orbit で転送先サーバーにあわせてデータを変換できるため、デバイスから送信するデータフォーマットを変更する必要がありません。