Napter を利用して、IoT SIM を使用したデバイスに TLS 接続する方法を解説します。
具体的には、IoT SIM を利用した Linux デバイス上にウェブサーバーを立て、暗号化されていない HTTP で待受を行い Napter を経由することで暗号化された TLS でセキュアに接続を行います。
Napter は、IoT SIM を使用したデバイスへの簡単でセキュアなリモートアクセスを提供します。 TLS オプションはアクセス元から SORACOM までの通信を TLS 接続とします。これによってルーターの管理画面や PLC の制御画面等、ローカルから暗号化されていない HTTP でアクセスされることを前提とした管理画面にアクセスする場合でも、HTTPS のエンドポイントをアクセス元に提供できます。TLS 通信は SORACOM で終端され、デバイスへは待ち受けているプロトコルでアクセスします。
操作を始める前に準備が必要です (クリックして確認してください)
(1) SORACOM Air for セルラーの IoT SIM、および IoT SIM を利用できるデバイスを準備する
各種デバイスでの IoT SIM の使用方法については 各種デバイスで SORACOM Air を使用する を参照してください。
準備完了ステップ 1: デバイスの設定を行う
デバイスに HTTP で待ち受けするためのウェブサーバーを立てます。 今回はデバイスとして Raspberry Pi を想定した手順を掲載します。
$ sudo apt-get install -y nginx
$ systemctl start nginx
$ systemctl status nginx
以下のコマンドで http の待受ができているかを確認します。 nginx のデフォルト画面が出ていれば成功です。
$ curl localhost
ステップ 2: Napter の利用を開始する
SORACOM ユーザーコンソール の SIM 管理メニューから SIM を選択して「オンデマンドリモートアクセス」を選択します。
接続先の情報を設定します。各設定項目の内容は以下の通りです。
- デバイス側ポート
- デバイスが待ち受けているポート番号
80
を指定します。
- デバイスが待ち受けているポート番号
- アクセス可能時間
- リモートアクセスする時間を任意に指定します。指定した時間を経過するとリモートアクセスはできなくなります。最大で 8 時間となります。
- アクセス元 IP アドレスレンジ
- リモートアクセスを許可するリモート側の IP アドレスレンジを指定します。ブランクとした場合、API コール時のソースグローバル IP アドレスがデフォルトで設定されます。
- TLS オプション
- ON にします。OFF にするとアクセス元から SORACOM プラットフォームまでも暗号化されていない HTTP 通信となります。
アクセス元 IP アドレスレンジはデフォルト (ブランク) でも構いませんが、以下のサイトなどで確認してもよいでしょう。
https://whatismyipaddress.com/
なお、アクセス元 IP アドレスレンジはカンマ区切りで複数のアドレス範囲を指定することも可能です。
続いて「OK」をクリックします。
Napter 利用費用が発生します。ただし、無料枠がありますのでSORACOM Napter のご利用料金をご確認ください。
以下のようにアクセス情報が表示されます。 デバイスにアクセスするには (例) に記載されている HTTPS の URL をメモしておきます。
ステップ 3: Napter で TLS 接続する
先ほどメモした HTTPS の URL をブラウザに入力します。 デバイスは https に対応していませんが、Napter の TLS オプションを利用することで、インターネット区間を HTTPS でウェブサーバーへアクセスできていることが確認できます。
ステップ 4: Napter の接続を切断する
接続済みのリモートアクセスは以下のように切断できます。
対象の IoT SIM を指定して「オンデマンドリモートアクセス」を選択します。
「すべてのリモート接続設定を表示」をクリックし削除したいポートの「削除」をクリックします。
「削除」をクリックし、ブラウザを再読み込みすると接続ができなくなっていることを確認してください。