Beam は、デバイスから SORACOM (具体的には、Unified Endpoint や Beam のエントリポイント) に送信されたリクエストを、任意のサーバーに転送するサービスです。
デバイスから、Unified Endpoint や Beam のエントリポイントに送信されたリクエストは、エントリポイントの設定 に従って、パブリッククラウドやお客様のサーバーなど任意のサーバー (以下、転送先サーバー) に転送されます。
特徴 | 説明 |
---|---|
通信経路の暗号化 | SORACOM プラットフォーム (Beam) から任意のサーバーまでの通信経路を暗号化できます (TLS 暗号化処理)。また、暗号化のための認証情報も 認証情報ストア で保管できます。
デバイスでの TLS 暗号化処理は省略できますデバイスから任意のサーバーに安全にデータを送信する場合、Beam を利用する方法では、SORACOM プラットフォームで TLS 暗号化処理と認証情報の保管が行えるため、デバイスでの TLS 暗号化処理が省略できます。 一方、Beam を利用しない方法では、デバイスで TLS 暗号化処理を行う必要があります。この場合、TLS 暗号化処理のための認証情報 (クライアント証明書など) も、あらかじめデバイスに保管する必要があります。 Beam が対応する TLS バージョンは 1.2 と 1.3 ですBeam が対応する TLS バージョンは 1.2 と 1.3 です。Beam から転送されるお客様のサーバーでは、TLS 1.2 または 1.3 に対応するように設定してください。 |
プロトコル変換 | HTTP/HTTPS を利用できないデバイスからの通信を、転送先サーバーにあったプロトコルに変換して送信できます。たとえば、TCP プロトコルや UDP プロトコルから、HTTPS プロトコルに変換できます。 |
接続先の切り替え | デバイスからは、常に Beam のエントリポイント または Unified Endpoint にデータを送信します。転送先サーバーや転送時のパラメータは、Beam のエントリポイントで設定するため、SORACOM ユーザーコンソールでいつでも変更できます。 |
データ通信量と消費電力の削減 | デバイスから Beam までの暗号化処理が省略でき、さらにデータ通信の手続きが簡素なプロトコルを利用できるため、データ通信量も消費電力も削減できます。また、バイナリパーサー を利用する仕組みにすると、さらにデータ通信量と消費電力を削減できます。 |
- 転送先サーバーが自己署名証明書またはプライベートな認証局で署名された証明書を使用している場合は証明書の検証ができないため接続に失敗します。
- Beam の各エントリポイント宛に短い間隔 (1 秒に 1 リクエスト等) でデータ送信することを検討されているお客様は、セールスチーム にお問い合わせください。
Beam のエントリポイントを利用する
Beam のエントリポイントは、以下のサービスを利用したデバイスから利用できます。
- SORACOM Air for セルラー (IoT SIM)
- SORACOM Air for LoRaWAN
- SORACOM Air for Sigfox
- SORACOM Arc (バーチャル SIM/Subscriber)
- SORACOM Inventory
利用するエントリポイントを グループ で設定し、IoT SIM やバーチャル SIM/Subscriber、デバイスをそのグループに所属させると、各デバイスが Beam のエントリポイントを利用できる仕組みです。なお、利用できるエントリポイントはグループごとに異なります。詳しくは、SORACOM Beam のエントリポイントを設定する を参照してください。
HTTP/MQTT/TCP/UDP セッションは切断されることがあります
確立済みの HTTP/MQTT/TCP/UDP セッションは、さまざまな要因によって切断される場合があります。セッションが切断された場合は再接続を試行してください。再接続を試行する際は、Exponential Backoff 等のアルゴリズムを利用することも検討してください。
エントリポイントを設定する
エントリポイントは、デバイスからリクエストを送信するときの送信先です (例: HTTP エントリポイント。http://beam.soracom.io:8888
)。Beam には、複数のエントリポイントが用意されており、エントリポイントごとに利用できるプロトコルが異なります。用意されているエントリポイントについては、SORACOM Beam のエントリポイントを設定する を参照してください。
エントリポイントには、以下の内容を設定できます。
プロトコル変換 (TLS 暗号化処理)
TLS 暗号化処理の有無を設定できます。たとえば、HTTP エントリポイントを利用すると、HTTP プロトコルから HTTPS プロトコルに変換できます。また、MQTT エントリポイントを利用すると、MQTT プロトコルから MQTTS プロトコルに変換できます。
想定されるユースケースは、以下のとおりです。
- CPU や電力制限によって暗号化処理ができない IoT デバイスを利用している場合でも、SORACOM プラットフォーム (Beam) から任意のサーバーまでの通信経路を暗号化します。
- HTTP で送信できないデバイスからの通信を、転送先サーバーにあったプロトコルに変換します。(例:TCP プロトコルや UDP プロトコルから、HTTPS プロトコルに変換する)
MQTT エントリポイントの想定用途
MQTT エントリポイントは、デバイスからは MQTT で送信し、Beam からは MQTTS で送信するエントリポイントです。このエントリポイントは、デバイスに CPU パワーがあまりなく、MQTTS で送信することが難しい場合に有用です。
リクエストの転送先
転送先として、パブリッククラウドやお客様のサーバーなど任意のサーバーの URL を指定できます。
ヘッダー操作 / トピック操作
Beam でリクエストを転送する際に、IMSI、IMEI、署名ヘッダー、カスタムヘッダー、Authorization ヘッダーなどの情報を追加できます。
転送先のプロトコルによって追加できるヘッダーや追加方法が異なります。たとえば、転送先プロトコルが HTTP の場合は HTTP ヘッダーに付与されますが、MQTT の場合はトピックの末尾に付与されます。詳細は、それぞれのエントリポイントリファレンスを参照してください。
そのほかのサービスを併用する
Unified Endpoint
Beam は、Unified Endpoint のデータ送信先の一つです。グループ設定で Beam が有効化されている場合は、デバイスから Unified Endpoint に送信されたデータは、Beam に転送され、さらに Beam からデータ転送先にデータが送信されます。
Unified Endpoint を経由すると利用できないエントリポイントがあります
次のエントリポイントは、Unified Endpoint を経由すると利用できません。
バイナリパーサー
バイナリパーサー は、デバイスから送信されたバイナリデータを、グループ設定で定義されたフォーマット に従って JSON データに変換する機能です。Beam とバイナリパーサーを併用すると、デバイスから Beam のエントリポイントに対して軽量のバイナリデータを送信するだけで、転送先のサーバーでは JSON データを受信できます。
Orbit
Orbit は、デバイスから Unified Endpoint に送信されたデータを、Beam に転送する前に任意のデータフォーマットに変換するサービスです。たとえば、転送先サーバーで受け付けるデータフォーマットが変更されたとしても、Orbit で転送先サーバーにあわせてデータを変換できるため、デバイスから送信するデータフォーマットを変更する必要がありません。