• 投稿日
  • 新タイプの VPG で Azure Virtual Machine とプライベートネットワークを構成する

    こんにちは、Customer Reliability Engineer (CRE) の三國です。

    今回のブログでは SORACOM Discovery 2020発表された新タイプの Virtual Private Gateway (VPG) を使用して Microsoft Azure の Azure Virtual Machine (Azure VM) へプライベート接続する方法を紹介します。

    はじめに

    Virtual Private Gateway (VPG) とは、SORACOM プラットフォーム上に構築できるお客様専用のゲートウェイです。Wi-Fi ルーターのようなイメージを持っていただければと思います。VPG の利用によって VPG 配下のデバイス間での閉域アクセスアウトバウンド通信のフィルターSORACOM Peekを利用したパケットキャプチャなどお客様独自の操作やカスタマイズが可能になります。

    SORACOM Discovery 2020 で発表された新タイプの VPG には 2 種類あります。上記のような VPG の基本機能を備え安価に利用できる Type-E と、お客様環境とプライベート接続できる Type-F です。Type-F で利用できるプライベート接続には AWS との VPC ピアリングや TGW 接続、オンプレミス環境との専用線接続がありますが、今回は Azure と VPN 接続を構成します。VPN 接続に用いる SORACOM のサービス名は SORACOM Door です。

    構成

    以下のような構成で接続します。なお、SORACOM Door では AWS Site to Site VPN を利用しています。AWS Site-to-Site VPN はインターネットプロトコルセキュリティ (IPsec) VPN 接続をサポートしていますので Azure VPN Gateway を利用する例を紹介しておりますが、お客様のユースケースで動作するかは十分検証の上ご利用ください。

    SORACOM から接続する利点

    今回のブログでは、SORACOM IoT SIM を取り付けたデバイスから Azure VM まで VPN 経由でプライベート接続します。SORACOM IoT SIM および VPG を利用することには以下のような利点があります。

    • デバイス側に VPN クライアントを入れて P2S (Point-to-Site) 接続する必要がない
    • デバイスから Azure へ S2S (Site-to-Site) 接続する SORACOM 上の VPG まではセルラーの閉域網で安全に接続できる

    必要なもの

    以下を準備します。

    • SORACOM アカウント
    • SORACOM IoT SIM
    • SORACOM IoT SIM をドングルなどで取り付けた Raspberry Pi、Windows PC などの端末
    • Azure アカウント

    費用

    今回の構成にかかる SORACOM 側の費用は以下の通りです (2020/07/20 時点・税抜き)。なお、VPN 接続は旧タイプの Type-D でも可能でしたが、Type-F ではセットアップ料金や基本料金が安価になりました

    • SORACOM Air 基本料金 : 10 円 / 日・枚 (plan-D, データ通信プラン)
    • データ通信料金 : 0.2 ~ 2 円 / 日 (時間帯・速度クラスに応じる)
    • Virtual Private Gateway Type-F セットアップ料金 : 980 円
    • Virtual Private Gateway Type-F 基本料金 : 50 円 / 時間
    • Virtual Private Gateway Type-F VPN 接続料金 : 10 円 / 時間

    30 日間利用した場合の費用例 : 300 円 (SORACOM Air) + 43,200 円 (VPG) + データ通信料金・セットアップ料金

    (参考)
    SORACOM Air for セルラーの料金
    Virutal Private Gateway の料金

    Azure 側の費用については Azure のドキュメントを確認してください。

    手順

    以下の手順でアクセスします。

    1. Azure Virtual Network を作成
    2. Azure VPN Gateway を作成
    3. Type-F VPG を作成
    4. SORACOM Door を申請
    5. Azure VPN Gateway を設定
    6. Azure VM の作成
    7. IoT デバイスから Azure VM へ SSH 接続

    1. Azure Virtual Network を作成

    VPN Gateway のために Virtual Network を作成します。Virtual Network のアドレスレンジは SORACOM 側の作業で指定するデバイスのアドレスレンジと重複しないように注意します。当ブログでは Virtual Network のアドレスレンジを 10.0.0.0/16、デバイスのアドレスレンジを 10.128.0.0/9 としています。

    2. Azure VPN Gateway を作成

    VPN Gateway をルートベース・BGP 無しで作成します。今回は簡単のため SKU は VpnGw1、第一世代、アクティブ – スタンバイ方式で作成しています。

    3. Type-F VPG を作成

    SORACOM から接続するための VPG を作成します。VPG の作成方法は公式ドキュメントも参照してください。Type-E, Type-C では VPN 接続ができないので Type-F を選択しましょう。インターネットゲートウェイをオフにすると、VPG から直接インターネットへ接続できなくなります。Azure への接続に限定したい場合に利用しましょう。デバイスのアドレスレンジは Virtual Network のアドレスレンジと重複しないようにします。

    4. SORACOM Door を申請

    VPG が作成出来たら、Azure VPN Gateway と接続します。現時点では Limited Preview のため VPN 接続はこちらのページからの申請ベースです。

    まずは連絡先を入力します。こちらへ入力したメールアドレスへ接続情報が送付されます。

    接続したい VPG の ID など SORACOM 側の情報を記載します。

    Azure 側の情報を入力します。ここでは Virtual Network のアドレス範囲 10.0.0.0/16 を指定していますが、特定のサブネットのみ指定しても構いません。

    送信すると、申請した旨のメールが送付されてきます。

    数営業日後を目途に、接続のための情報が添付されたメールが送付されてきます。接続に関してソラコムからヒアリングなどさせていただく場合もあります。

    こちらに添付された情報をもとに Azure VPN Gateway を設定していきましょう。

    5. Azure VPN Gateway を設定

    Connection (接続) のために、local network gateway を作成します。IP address にはソラコムから送られてきた接続情報に記載された SORACOM 側のグローバル IP アドレスを入力します。Address space は VPG のアドレス空間を記載します。

    VPG のアドレス空間は、VPG 管理画面に記載された「高度な設定 タブ > VPG の Gate Peer 一覧 > トンネル接続用 IP アドレス」が含まれるプレフィックス /27 のレンジです。

    Connection のその他の設定値として、Shared key (PSK) はソラコムからお送られてきた接続情報、IKE プロトコルは IKEv2 を指定します。

    SORACOM 側からはグローバル IP アドレスが 2 つ連携されますので、Connection も 2 つ作成します。数分待って Connected となれば VPN 接続は成功です。

    6. Azure VM の作成

    Azure VM を SORACOM Door で VPN 接続している Virtual Network 上に作成します。パブリック IP アドレスは不要です。また、検証では Ubuntu 18.04、B1ls サイズを用いました。

    7. IoT デバイスから VM へ SSH 接続

    ここまでの手順で Azure の Virtual Network とプライベート接続が確立できていますので、VM へはプライベート IP アドレスで SSH が可能です。VM の画面よりアドレスを確認し、IoT デバイス (当ブログでは Raspberry Pi) より SSH してみましょう。

    pi@raspberrypi:~ $ ssh nmikuni@10.0.0.5
    nmikuni@10.0.0.5's password:
    Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 5.3.0-1032-azure x86_64)
    
    (中略)
    
    nmikuni@door-vm:~$
    

    まとめ

    当ブログでは SORACOM と Azure とを VPN 接続し、Azure VM へプライベート接続する手順を紹介しました。Azure に限らず各種クラウドやオンプレミス環境とも VPN 接続できますので、是非ご活用ください。