Soracom

Users

ドキュメント

IoT デバイスに TLS 接続する

当ガイドでは、SORACOM Napter (以降、Napter) を利用して、IoT SIM を使用したデバイスに TLS 接続する方法を解説しています。

Napter は、IoT SIM を使用したデバイスへの簡単でセキュアなリモートアクセスを提供します。 TLS オプションはアクセス元から SORACOM プラットフォームまでの通信を TLS 接続とします。これによってルーターの管理画面や PLC の制御画面等、ローカルから暗号化されていない HTTP でアクセスされることを前提とした管理画面でも HTTPS のエンドポイントをアクセス元に提供できます。TLS 通信は SORACOM プラットフォームで終端され、デバイスへは待ち受けているプロトコルでアクセスします。

当ガイドでは、SIM を利用した Linux デバイス上にウェブサーバーを立て、暗号化されていない HTTP で待受を行い Napter を経由することで暗号化された TLS でセキュアに接続を行います。

当ガイドの前提は以下のとおりです。

  • SORACOM のアカウントを作成済みであること
  • デバイスが準備されており、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 の利用を開始する 

ソラコムユーザーコンソール の SIM 管理メニューから SIM を選択して「オンデマンドリモートアクセス」を選択します。

Napter

接続先の情報を設定します。各設定項目の内容は以下の通りです。

  • デバイス側ポート
    • デバイスが待ち受けているポート番号 80 を指定します
  • アクセス可能時間
    • リモートアクセスする時間を任意に指定します。指定した時間を経過するとリモートアクセスはできなくなります。最大で 8 時間となります。
  • アクセス元 IP アドレスレンジ
    • リモートアクセスを許可するリモート側の IP アドレスレンジを指定します。(ブランクとした場合、API コール時のソースグローバル IP アドレスがデフォルトで設定されます。)
  • TLS オプション
    • ON にします。OFF にするとアクセス元から SORACOM プラットフォームまでも暗号化されていない HTTP 通信となります。

アクセス元 IP アドレスレンジはデフォルト (ブランク) でも構いませんが、 以下のサイトなどで確認してもよいでしょう。

https://whatismyipaddress.com/

なお、アクセス元 IP アドレスレンジはカンマ区切りで複数のアドレス範囲を指定することも可能です。

Napter

続いて「OK」をクリックします。

Napter 利用費用が発生します。ただし、無料枠がありますのでSORACOM Napter のご利用料金をご確認ください。

以下のようにアクセス情報が表示されます。 デバイスにアクセスするには (例) に記載されている HTTPS の URL をメモしておきます。

Napter

ステップ 3: Napter で TLS 接続する 

先ほどメモした HTTPS の URL をブラウザに入力します。 デバイスは https に対応していませんが、Napter の TLS オプションを利用することで、インターネット区間を HTTPS でウェブサーバーへアクセスできていることが確認できます。

Napter

ステップ 4: Napter の接続を切断する 

接続済みのリモートアクセスは以下のように切断できます。

対象の IoT SIM を指定して「オンデマンドリモートアクセス」を選択します。

Napter

「すべてのリモート接続設定を表示」をクリックし削除したいポートの「削除」をクリックします。

Napter

「削除」をクリックし、ブラウザを再読み込みすると接続ができなくなっていることを確認してください。