さくらのIoT

前回のコラムでは、さくらのセキュアモバイルコネクトのモデムトレースを試すために必要な前準備について説明しましたが、今回のコラムではモデムトレースを試すための “さくらのセキュアモバイルコネクト評価用クラウド環境の構成例” を解説します。

どんな構成なの?

はじめに、構成について説明します。
LTEモデムとサーバ間は閉域網でのみ接続し、サーバはインターネット側からセキュアに管理できる構成となっています。この構成では、比較的安心してセキュアモバイルコネクトを評価利用できるようになっており、LTEモデム側のトレースとサーバ側のネットワークのダンプをシンプルに行う事ができます。
また、実際のシステム開発の際に、こちらの環境に立ち戻って動作確認を行なっていただくことで、詳細なログの確認や検証などがしやすくなっています。

ネットワーク構成

大まかなネットワーク構成図は以下の通りです。

構築作業手順

ここからは環境構築のための作業手順をお伝えします。

(1)さくらのクラウドのコントロールパネルにログイン

さくらのセキュアモバイルコネクトは、さくらのクラウドのオプションサービスであるため、コントロールパネルは、さくらのクラウドのコントロールパネルに用意しております。
①さくらのクラウドのコントロールパネルにアクセスし、お持ちの会員IDを使用してログインしてください。ログインが完了すると、さくらのクラウドのホーム画面に遷移します。

補足:会員IDが個人会員の場合

さくらのセキュアモバイルコネクトは法人向けのみのサービスのため、個人でのご利用はできません。ご利用中の会員IDが個人会員の場合、 さくらインターネット 会員IDの取得 より新たに法人会員として会員IDを取得するか、 サポート情報 - 名義変更 をご参照いただき、既存の会員IDを法人名義へ変更する必要があります。
マニュアルサイト:https://manual.sakura.ad.jp/cloud/mobile-connect/support.html#id3

アカウントを選択

さくらのクラウドのコントロールパネルにログインした直後は、アカウントが未選択状態であるため、任意のアカウントを選択してください。このときアカウント未作成の場合は、アカウントを登録する必要があります。

サービスを選択

アカウントを選択するとサービスを選択できるようになりますので、「セキュアモバイルコネクト」をクリックします。

セキュアモバイルコネクトを選択すると、SIM一覧画面に遷移します。

ゾーンを選択

ゾーンを選択します。今回は石狩第2ゾーンで検証します。

補足:ゾーンについて

ゾーンによって、サーバの設定内容に差異が生じる場合があるため同じゾーンで作業を行うか、他のゾーンを利用される場合は適宜読み替えて対応いただく必要があります。

(2)クラウドリソースの作成

本評価環境の構成部品である、クラウドリソースを作成していきます。

モバイルゲートウェイ

さくらのセキュアモバイルコネクトを利用するためには、お客様ごとのプライベートなモバイル網通信の終端となる「モバイルゲートウェイ」の作成が必要です。

①左側のサイドメニューから「モバイルゲートウェイ」をクリックします。
「モバイルゲートウェイ一覧」画面が表示されたら右上の「追加」をクリックします。

②「モバイルゲートウェイ追加」画面が表示されたら、下記の様に設定を行います。

  • プライベートネットワーク接続:接続しない
  • インターネット接続:無効
  • デバイス間通信:無効
  • DNSサーバ:自動入力値のまま
  • 名前:MODEM_TRACE

内容に問題なければ、右下の作成ボタンを押します。

③有償のリソース作成が行われるため、確認モーダルが表示されます。確認のうえ、問題がなければ「作成」をクリックします。

④モバイルゲートウェイの作成が開始されます。「閉じる」をクリックします。

⑤再度左側のサイドメニューから「モバイルゲートウェイ」をクリックし、「モバイルゲートウェイ一覧」の画面に、新たなモバイルゲートウェイが作成されていることを確認します。

SIMの登録

さくらのセキュアモバイルコネクトのSIMは、購入直後は有効化されておらず、ユーザー自身でさくらのクラウドのコントロールパネルへの登録および有効化の作業が必要です。手順は以下の通りです。

①さくらのクラウドのコントロールパネルメインメニューより「セキュアモバイル」を選択し、左側のサイドメニューから「SIM」をクリックします。「SIM一覧」画面が表示されたら右上の「追加」をクリックします。

②「SIM追加」画面が表示されたら、必須項目であるICCIDおよびPASSCODE、接続先として許可するキャリアの選択等を行います。

下記項目の設定を行います。

  • ICCID:カード記載のもの
  • PASSCODE:カード記載のもの
  • SIMの状態:有効
  • IMEIロック:いいえ
  • キャリア:すべて有効
  • 接続先:選択無し
  • 名前:SIM_TRACE-ICCID (名前にSIMのICCID番号を入れておくと一覧画面から検索の際にICCIDでの検索が可能なので、枚数増えた管理の際に便利です。)

補足:ICCIDおよびPASSCODOについて

今回使用するSIMカード型の場合、ICCIDおよびPASSCODEはカード裏面に記載されています。バーコードを読み取ることでそれぞれの値を取得することもできます。

③SIMの登録が開始されますので、「閉じる」をクリックします。

④再び、左側のサイドメニューから「SIM」をクリックします。
「SIM一覧」画面に作成したSIMが作成されていることを確認します。

スイッチ

モバイルゲートウェイとサーバの間を、プライベートネットワークで接続するためのスイッチを作成します。
①さくらのクラウドコントロールパネルメインメニューより「ネットワーク」を選択し、左側のサイドメニューから「スイッチ」を選択します。
「スイッチ一覧」画面が表示されたら右上の「追加」をクリックします。

②次に任意の名前を入力します。「作成」をクリックします。
ここでは、「LTE_PRIVATE」と名付けています。また、ルータの設定は「いいえ」を選択してください。

③有償のリソース作成が行われるため、確認モーダルが表示されます。
確認のうえ、問題がなければ「作成」をクリックすると、スイッチの作成が開始されます。

④「閉じる」をクリックします。

⑤再度左側のサイドメニューから「ネットワーク」→「スイッチ」をクリックします。
「スイッチ一覧」画面に作成したスイッチが表示されていることを確認できたら作業完了です。

公開鍵

作成するサーバへのログインに利用する公開鍵を生成/登録します。
下記案内に従って、クラウド内に公開鍵を生成/登録します。
https://manual.sakura.ad.jp/cloud/controlpanel/settings/public-key.html

補足:クラウドホームへのアクセス方法

クラウドホームへは、さくらのクラウドのコントロールパネル右上のユーザ/アカウントが表示されている所から移動できます。

サーバ

①さくらのクラウドコントロールパネルメインメニューより「サーバ」を選択します。
「サーバ一覧」画面が表示されたら右上の「追加」をクリックします。

「サーバ追加」画面が表示されます。

②次に、構成を設定していきます。
スクリーンショットを参考に設定してください。また、指定箇所以外は基本的にデフォルトで問題ありません。

サーバプラン

サーバのCPUとメモリの構成を選択します。
今回の用途では通信対向機としてのサーバは最小の構成でも十分ですので、通常プラン1コア、メモリ 1GBを選択します。

ディスク

サーバのディスクのタイプ、容量、OSを選択します。
このドキュメントでは下記のように選択します。

  • ディスクプラン:SSDプラン
  • ディスクソース:アーカイブ
  • アーカイブ選択:Ubuntu Server 20.04.6 LTS 64bit (cloudimg)
  • ディスクサイズ:20GB

他のOSでも同様の機能は実現できますが、手順などが異なる場合がありますので、異なる構成を選択された場合は、それぞれの手順の違いをご理解いただき、ご対応をお願い致します。

NICの設定

一旦ここではインターネットへの接続用のNICのみ用意します。

cloud-init設定

サーバへのログイン用のクラウドカウントに登録した公開鍵を選択します。
クラウドアカウントから使用する公開鍵を選択します。

サーバの情報

サーバの名前を入力します。
ここでは、「MODEM_TRACE_SERVER」と名付けています。

その他のオプション、作成数

①以下の設定をします。

その他のオプション:チェックなし
作成数:1

②設定が完了したら右下の「作成」をクリックします。

③有償のリソース作成が行われるため、確認モーダルが表示されます。
確認のうえ、問題がなければ「作成」をクリックします。

④サーバの作成が開始されます。完了したら「閉じる」をクリックします。
時間が掛かりますが、完了前に「閉じる」こともできます。その場合、バックグラウンドで作成は継続します。

⑤作成完了後、再度さくらのクラウドのコントロールパネルメインメニューより「サーバ」を選択します。
「サーバ一覧」画面に作成したサーバが作成されていることを確認します。

⑥続いて、これ以降の設定変更を行うため、一旦サーバをシャットダウンします。
「サーバ一覧」画面で、作成したサーバの行をダブルクリックしてサーバの詳細画面を表示します。

上部メニューの「電源操作」からシャットダウンを選択します。

確認モーダルが表示されます。確認のうえ、問題がなければ「実行」をクリックします。

(3)クラウドリソースの設定

ここからは、さきほど作成したクラウドリソースの設定を変更し、MODEM TRACEの取得用の構成に組み上げていきます。

モバイルゲートウェイ

モバイルゲートウェイとプライベートネットワーク用スイッチとの接続を行います。

①さくらのクラウドのコントロールパネルメインメニューより「セキュアモバイル」を選択し、左側のサイドメニューから「モバイルゲートウェイ」をクリックします。

②「モバイルゲートウェイ一覧」画面で、作成したモバイルゲートウェイの行をダブルクリックしてモバイルゲートウェイの詳細画面を表示します。

③上部メニューの「電源操作」からシャットダウンを選択します。

確認モーダルが表示されます。確認のうえ、問題がなければ「実行」をクリックします。

モバイルゲートウェイのシャットダウンが実行されます。

④「インターフェース」のタブを選択し、プライベート行の右側のペンマークをクリックします。

インターフェースの設定変更画面が表示されます。

⑤インターフェースの設定を行います。
今回は下記の様に選択します。

  • スイッチ:既存のスイッチを接続
  • 接続先スイッチ:先ほど作成したLTE_PRIVATEを選択
  • IPアドレス:192.168.0.1
  • プリフィックス:24

設定出来たら「変更」ボタンをクリックします。

設定の変更が処理されます。「閉じる」をクリックしてください。

「設定を反映するには、上部メニューの反映ボタンを押下してください。」と出るので、「反映」をクリックします。

確認モーダルが表示されます。確認のうえ、問題がなければ「はい」をクリックします。

これで設定が反映されます。

⑥インターフェース(プライベート)の設定確認
インターフェース(プライベート)にスイッチとIPアドレス、プレフィックスが設定されているのを確認してください。

⑦変更後の設定で、モバイルゲートウェイを起動します。
上部メニューの「電源操作」から「起動」を選択します。

確認モーダルが表示されます。確認のうえ、問題がなければ「実行」をクリックします。

上部メニューの「電源操作」部がUPになっていればOKです。

SIM

登録したSIMにモバイルゲートウェイを割り当ててIPアドレスを設定します。

①さくらのクラウドのコントロールパネルメインメニューより「セキュアモバイル」を選択し、左側のサイドメニューから「SIM」をクリックします。
「SIM一覧」画面が表示されたら登録されたSIMの行をダブルクリックします。

②上部メニューの「接続先の変更」をクリックします。

接続先の選択ができるようになります。

③接続先にモバイルゲートウェイを選択し、モバイルゲートウェイから作成した
「MODEM_TRACE」を選択します。IPアドレスは172.16.0.1を設定します。

モバイルゲートウェイではSIMを1万枚まで管理できるようになっているので、このモバイルゲートウェイに割り当てるSIMについてはIPアドレスを172.16.0.0/16の範囲を割り当てることとし、そこから採番しています。
入力出来たら「変更」をクリックします。

これでSIMの接続先が変更されました。「閉じる」をクリックします。

④SIMの詳細画面にモバイルゲートウェイとIPアドレスの行が追加/設定されていることを確認します。

サーバ

サーバにプライベートネットワーク用のネットワークインターフェイスカードを追加してスイッチに追加します。

①さくらのクラウドのコントロールパネルのメインメニューより「サーバ」を選択します。
「サーバ一覧」画面が表示されるので、先ほど作成したサーバの行をダブルクリックします。

サーバ詳細画面が開くので、上部メニューの「電源操作」部がDOWNになっていることを確認します。そうでない場合はシャットダウンします。

②「NIC」のタブをクリックしNIC一覧が表示されたら、「追加」をクリックします。

確認モーダルが表示されます。確認のうえ、問題がなければ「追加」をクリックします。

③NICの追加処理が実行されます。「閉じる」をクリックします。

④NIC一覧が表示されますので、1番上のNICが新たに追加されていることを確認してください。

⑤スイッチとの接続の為、追加した1番のNIC行の右端の▼をクリックし、「接続を編集」をクリックします。

NICの接続先の設定変更画面が表示されます。

⑥NICの接続の設定を行います。
このドキュメントでは下記の様に選択します。

  • NIC:スイッチに接続
  • スイッチに接続:先ほど作成したLTE_PRIVATEを選択

設定出来たら「更新」ボタンをクリックします。

NICの接続処理が実行されます。「閉じる」をクリックします。

⑦1番のNICの接続列が「スイッチ:LTE_PRIVATE」になっているのを確認します。

⑧続いて、1番のNICに割り当てる予定のIPアドレスを記載します。
この設定はあくまでもこのコントロールパネルUI上の表示だけのもので、サーバ自体の設定を変更したりするものではありませんが、管理用のメモとして有効ですので設定をお勧めします。
新たに追加した1番上のNIC行の右端の▼をクリックし、「IPv4アドレスを編集」をクリックします。

NICのIPアドレスの設定変更画面が表示されます。
下記の様に設定し、「更新」をクリックします。
IPv4アドレス:192.168.0.2

NICのIPアドレスの表示設定処理が実行されます。「閉じる」をクリックします。

サーバOS設定

サーバOSに対してサーバに追加したNICの設定とルーティングの設定を行います。

サーバの起動

まずNICを追加したサーバを起動します。
①さくらのクラウドのコントロールパネルメインメニューより「サーバ」を選択します。「サーバ一覧」画面が表示されるので、先ほど作成したサーバ行をダブルクリックします。

②上部メニューの「電源操作」から「起動」を選択します。

③確認モーダルが表示されます。確認のうえ、問題がなければ「実行」をクリックします。

上部メニューの「電源操作」部がUPになっていればOKです。

サーバログイン

続いてサーバにログインし設定を続けていきます。
①サーバ詳細画面のNICタブから、共有セグメント(インターネット)につながっている0番のNICのIPv4アドレスをコピーします。

②ここからはTera Termで作業していきます。Tera Termを立ち上げ、新しい接続を選択します。

③新しい接続のダイアログで
・ホスト:サーバのIPv4アドレス
・サービス:SSH
を選択し「OK」を選択して接続します。

④問題がなければ続行します。

⑤SSHの認証画面に移行します。

⑥以下内容を入力し、OKをクリックします。

  • ユーザ名:ubuntu
  • パスフレーズ:公開鍵作成時に設定したパスフレーズ
  • 秘密鍵:公開鍵作成時にダウンロードしたファイル

正しく入力されていればログインに成功します。

最新版への更新

ubuntuを一通り最新パッケージへの更新を行います。

ubuntu@sv-113600160225:~$ sudo apt update
~~~~~~~~~~~~~~~
31.5 MB を 11秒 で取得しました (2,956 kB/s)
パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
アップグレードできるパッケージが 91 個あります。表示するには ‘apt list —upgradable’ を実行してください。
 
ubuntu@sv-113600160225:~$ sudo apt upgrade
~~~~~~~~~~~~~~~
アップグレード: 91 個、新規インストール: 5 個、削除: 0 個、保留: 0 個。
60 standard LTS security updates
93.8 MB のアーカイブを取得する必要があります。
この操作後に追加で 178 MB のディスク容量が消費されます。
続行しますか? [Y/n]
~~~~~~~~~~~~~~~
done
ubuntu@sv-113600160225:~$

プライベートネットワーク用NIC設定とルーティング

①プライベートネットワーク用NICのインターフェース名を確認します。

ubuntu@sv-113600160225:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 9c:a3:ba:30:02:a1 brd ff:ff:ff:ff:ff:ff
    inet 133.242.231.4/24 brd 133.242.231.255 scope global dynamic ens3
       valid_lft 258219sec preferred_lft 258219sec
    inet6 fe80::9ea3:baff:fe30:2a1/64 scope link
       valid_lft forever preferred_lft forever
3: ens4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 9c:a3:ba:30:0b:54 brd ff:ff:ff:ff:ff:ff
ubuntu@sv-113600160225:~$

ens3はコントロールパネルで共有セグメント(インターネット)に現在割り当てられているIPアドレスですので、もう一方のens4がプライベートネットワーク用NICのインターフェイスになります。

②netplanの設定ファイルを書き換えます。
ここではnanoで例示していますが、任意のエディタで問題ありません。

sudo nano /etc/netplan/50-cloud-init.yaml

▼設定変更前
ens3の設定のみでens4の設定がありません。

変更前50-cloud-init.yaml

# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init’s
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        ens3:
            dhcp4: true
            match:
                macaddress: 9c:a3:ba:30:02:a1
            set-name: ens3
    version: 2

下記の様にens4の設定を書き加えます。

変更後50-cloud-init.yaml

# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        ens3:
            dhcp4: true
            match:
                macaddress: 9c:a3:ba:30:02:a1
            set-name: ens3
        ens4:
            addresses:
              - 192.168.0.2/24
            dhcp4: 'no'
            dhcp6: 'no'
            routes:
            - to: 172.16.0.0/16
              via: 192.168.0.1
    version: 2

プライベートネットワーク用NICのインターフェイスens4にIPアドレスとして192.168.0.2を設定。
ルート情報としてSIMのIPアドレス範囲の172.16.0.1/16は、モバイルゲートウェイのプライベートインターフェイスである192.168.0.1経由での送信を設定しています。

③設定ファイル保存後、この設定を適用し、設定を確認します。

ubuntu@sv-113600160225:~$ sudo netplan apply
ubuntu@sv-113600160225:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 9c:a3:ba:30:02:a1 brd ff:ff:ff:ff:ff:ff
    inet 133.242.231.4/24 brd 133.242.231.255 scope global dynamic ens3
       valid_lft 259185sec preferred_lft 259185sec
    inet6 fe80::9ea3:baff:fe30:2a1/64 scope link
       valid_lft forever preferred_lft forever
3: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 9c:a3:ba:30:0b:54 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.2/24 brd 192.168.0.255 scope global ens4
       valid_lft forever preferred_lft forever
    inet6 fe80::9ea3:baff:fe30:b54/64 scope link
       valid_lft forever preferred_lft forever
ubuntu@sv-113600160225:~$ ip route
default via 133.242.231.1 dev ens3 proto dhcp src 133.242.231.4 metric 100
133.242.231.0/24 dev ens3 proto kernel scope link src 133.242.231.4
133.242.231.1 dev ens3 proto dhcp scope link src 133.242.231.4 metric 100
172.16.0.0/16 via 192.168.0.1 dev ens4 proto static
192.168.0.0/24 dev ens4 proto kernel scope link src 192.168.0.2
ubuntu@sv-113600160225:~$

ens4に192.168.0.2のIPアドレスが割り当てられ、SIMのIPアドレス範囲172.16.0.0/16への経路がモバイルゲートウェイのプライベートネットワーク用インターフェイスのIPアドレス192.168.0.1になっていることを確認してください。

lrzszパッケージのインストール

モデムのトレースデータと、サーバ側のダンプデータの比較時に、サーバとPCの間のデータのやり取りが必要になる為、バイナリ転送プロトコル用のツールを導入しておきます。

ubuntu@sv-113600160225:~$ sudo apt install lrzsz
パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
提案パッケージ:
  minicom
以下のパッケージが新たにインストールされます:
  lrzsz
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 4 個。
74.8 kB のアーカイブを取得する必要があります。
この操作後に追加で 531 kB のディスク容量が消費されます。
取得:1 http://archive.ubuntu.com/ubuntu focal/universe amd64 lrzsz amd64 0.12.21-10 [74.8 kB]
74.8 kB を 1秒 で取得しました (54.9 kB/s)
以前に未選択のパッケージ lrzsz を選択しています。
(データベースを読み込んでいます … 現在 95157 個のファイルとディレクトリがイン ストールされています。)
…/lrzsz_0.12.21-10_amd64.deb を展開する準備をしています …
Lrzsz (0.12.21-10) を展開しています…
Lrzsz (0.12.21-10) を設定しています …
Man-db (2.9.1-1) のトリガを処理しています …
ubuntu@sv-113600160225:~$

マップ確認

さくらのクラウドコントロールパネルメインメニューより「マップ」を選択します。

サーバとモバイルゲートウェイ、スイッチの接続状況が目視でも確認できます。

以上がモデムトレースを試すためのセキュアモバイルコネクト評価用クラウド環境構築例となります。評価/確認終了後に使用しない時には、安全の為一旦サーバをシャットダウンしておくことをお勧めします。

次のコラムでは、nRF9160DKのモデムトレース有効化設定について解説していきます。
モデムトレースを利用したさくらのセキュアモバイルコネクトのLTE通信デバッグ方法(3)

構成・執筆・編集
DX事業部

IoTコラムでは、さくらのIoTに関係するビジネス向けの内容や身近な例、通信技術の説明や当社エンジニアが取り組んだ開発サンプルなどを掲載しています。

2024年2月公開