テストサーバーを利用して Beam の設定方法と動作を確認する
以下の流れに沿ってソラコムが用意している Sandbox サーバを使って Beam の設定方法と動作の確認をします。TCP → TCP/TCPS エントリポイント、HTTP エントリポイントの利用例をご紹介します。
SORACOM Beam を有効にして TCP → TCP/TCPS エントリポイントを設定する
Beam を使った通信では、デバイスから Beam のエントリポイントまでは閉域網での接続であるため平文でも安全に通信を行うことができます。さらに、Beam から外部サーバへの通信は SSL で暗号化して送信できるため、暗号化処理による負荷をかけずに安全に通信を行えます。
このステップでは、TCP → TCP/TCPS エントリポイントの動作確認をするための echo サーバー (tcps://beamtest.soracom.io:1234) を使って、TCP で送信されたデータを TCP over TLS で転送する操作を試してみましょう。
Beam の設定はグループに対して行います
ここでは、グループの設定を変更する操作のみを説明します。グループの仕組みやグループを作成する操作について詳しくは、グループ設定 を参照してください。
SIM グループ画面で
をクリックします。SIM グループ画面を表示する操作について詳しくは、グループの設定を変更する を参照してください。
→ の順にクリックします。
SORACOM Beam - TCP 設定画面が表示されます。
以下のように設定します。
項目 値 設定名 echo over ssl 転送先-プロトコル TCP (SSL) 転送先-ホスト名 beamtest.soracom.io 転送先-ポート名 1234 オプション- IMSI ヘッダ ON TCP → TCP/TCPS エントリポイントの設定値の意味は エントリポイントリファレンス: TCP → TCP/TCPS エントリポイント を参照してください。
をクリックします。
IoT SIM の Beam の設定が完了しました。
デバイスからの確認
Beam の設定を行った IoT SIM で接続されているデバイスから、上記で設定したエントリポイントに対して telnet で接続してみましょう。今回は暗号化処理と合わせて、IMSI ヘッダを付与するように設定しましたので、IMSI の情報が表示されるはずです。
Raspberry Pi などから telnet で接続し、出力を確認しましょう。echo サーバー (tcps://beamtest.soracom.io:1234) は、送信された文字列をオウム返し (エコーバック) するように設定されています。キーボードから何らかの文字列を入力し、エコーバックがあることを確認できれば設定完了です。
- 接続先ホスト:
beam.soracom.io
- 接続先ポート番号:
8023
pi@raspberrypi:~$ telnet beam.soracom.io 8023
Trying 169.128.169.128...
Connected to beam.soracom.io.
Escape character is '^]'.
Hello Soracom Beam Client IMSI:4XXXXXXXXXXXXXX ! (←Beam によって IoT SIM の IMSI が付与されている)
hi (←キーボードから入力)
hi (←echoサーバからのエコーバック)
HTTP / HTTPS: HTTP エントリポイントの設定例
HTTP エントリポイントも、テスト用のサーバ (https://beamtest.soracom.io) を使って動作確認してみましょう。このテスト用サーバでは、Beam を使ってアクセスした際に、IMSI や HTTP ヘッダーなどの Beam で付与された情報が返されます。
Beam の設定はグループに対して行います
ここでは、グループの設定を変更する操作のみを説明します。グループの仕組みやグループを作成する操作について詳しくは、グループ設定 を参照してください。
SIM グループ画面で
をクリックします。SIM グループ画面を表示する操作について詳しくは、グループの設定を変更する を参照してください。
→ の順にクリックします。
SORACOM Beam - HTTP 設定画面が表示されます。
以下のように設定します。
項目 値 http over ssl → / → beamtest.soracom.io → (空欄) → / → オン → オン HTTP エントリポイントの設定値の意味は、HTTP エントリポイント を参照してください。
をクリックします。
IoT SIM の Beam の設定が完了しました。
デバイスからの確認
Beam の設定を行った IoT SIM を利用するデバイスから、http://beam.soracom.io:8888
にアクセスすると、IoT SIM の IMSI と SIM ID が表示されます。以下は Raspberry Pi からアクセスしたときの表示例です。
$ curl http://beam.soracom.io:8888
Hello SORACOM Beam Client IMSI:xxxxxxxxxxxxxxx SIM ID:xxxxxxxxxxxxxxxxxxx !
== HTTP Headers ==
HTTP_X_SORACOM_SIM_ID = xxxxxxxxxxxxxxxxxxx
HTTP_X_SORACOM_IMSI = xxxxxxxxxxxxxxx
たとえば、Beam の設定を変更して
および をオフにすると、以下のようなメッセージが表示されます。$ curl http://beam.soracom.io:8888
Hello Unknown Client...
== HTTP Headers ==
カスタムヘッダーの設定
Beam の HTTP エントリポイントでは、転送時にカスタムヘッダーを追加 / 置換 / 削除できます。ここでは、HTTP / HTTPS: HTTP エントリポイントの設定例 で追加した「http over ssl」を編集します。
SIM グループ画面で
をクリックします。SIM グループ画面を表示する操作について詳しくは、グループの設定を変更する を参照してください。
SORACOM Beam 設定一覧で、先ほど追加した「http over ssl」の
をクリックします。SORACOM Beam - HTTP 設定画面が表示されます。
の をクリックします。
以下のように設定します。
項目 説明 「追加」を選択します。 「X-SORACOM-BEAM」を入力します。 「SUCCESS」を入力します。 をクリックします。
デバイスからの確認
Beam の設定を行った IoT SIM を利用するデバイスから、http://beam.soracom.io:8888
にアクセスすると、IoT SIM の IMSI と SIM ID に加えて、「HTTP_X_SORACOM_BEAM」が表示されます。
以下は Raspberry Pi からアクセスしたときの表示例です。
$ curl http://beam.soracom.io:8888
Hello SORACOM Beam Client IMSI:xxxxxxxxxxxxxxx SIM ID:xxxxxxxxxxxxxxxxxxx !
== HTTP Headers ==
HTTP_X_SORACOM_SIM_ID = xxxxxxxxxxxxxxxxxxx
HTTP_X_SORACOM_IMSI = xxxxxxxxxxxxxxx
HTTP_X_SORACOM_BEAM = SUCCESS
「X-SORACOM-BEAM」の代わりに「HTTP_X_SORACOM_BEAM」が表示される (「HTTP_」が追加され、「-」が「_」に置換される) のは、https://beamtest.soracom.io/
の機能です。Beam から転送先のサーバーに対しては、カスタムヘッダーとして「X-SORACOM-BEAM: SUCCESS」が送信されています。
エラーログの確認
想定通りに動作しない場合は トラブルシューティングとサポート: エラーログを確認する を参照してください。
Beam 設定の無効化
Beam の利用にはリクエスト単位で料金がかかります。Beam を使わない場合には、設定を無効化するか、グループから登録解除してください。
- Beam の設定を無効化する場合
- [SORACOM Beam 設定] グループから無効化したい項目を選択し、設定名横のスイッチを[OFF]にします。
- グループから登録解除する場合
- IoT SIM 管理画面を開いて、SORACOM Beam による通信を行いたい IoT SIM にチェックマークを付けます。続いて、[操作] ボタンから [所属グループ変更] を選択します。
- 表示されたダイアログで、[グループ解除]をクリックします。