Alternative Architecture DOJO

オルターブースのクラウドネイティブ特化型ブログです。

SORACOM Arc + Napterで安全にAzure VMにアクセスする

こんにちは、娘が「せーのーがーはい!」と言ってるのを聞いて「さんのーがーはい」じゃないものの着実に博多弁ネイティブで育ちつつあるなと感じた木村です。

2021年6月23日、SORACOM Discovery 2021 Onlineで発表されたSORACOM Arcと、2019年に発表されたSORACOM Napterを使ってAzureのVMにアクセスしてみました。

SORACOM Arcとは

SORACOM Arcは「セキュアリンクサービス」と呼ばれるサービスで、あらゆるネットワーク(もちろんインターネットにつながっているのは前提ですが)からSORACOMプラットフォームに対してセキュアな接続を提供するサービスです。

これまでSORACOMの各種サービスを利用するには、SORACOM Airを用いて接続する必要がありましたが、Arcを使うことでなんとSORACOMのSIMを使わないでもBeam/Funnel/Funk/Harvest Dataといったサービスが使えるようになります。 今回、このSORACOM ArcならびにSORACOM AirのSIMを使用したデバイスへ簡単にセキュアにリモートアクセスすることができるサービス、SORACOM Napterを組み合わせてAzure VMにアクセスします。

構成図

今回の構成はこんな感じです。

f:id:showm001:20210625155148p:plain
構成図

VMを作成する

まずはAzure PortalからVMを作成します。OSはArcの対象であるLinuxまたはWindows(Windows Server)のいずれかを選ぶことになりますが、今回はWindows Server 2019でやってみます。

f:id:showm001:20210625155324p:plain
VMを作成

Arcの設定のため、最初はRDPを開けておきましょう。

SORACOM Arc(WireGuard)の設定

VMにRDPでアクセスし、SORACOM Arcの設定をします。Windowsの場合はWireGuardを使うので、VMでダウンロードします。

Arcの設定(仮想SIMの作成と必要な情報の入手)をSORACOMコンソールから行う場合は、公式ドキュメント通りに進めます。「サブスクリプションコンテナに対応した新しい SIM 管理画面」に切り替えるのを忘れないようにします。

users.soracom.io

もしくは、CLIを用いた方法を私が別途ブログに書いていますので、こちらも合わせて参照ください。

zenn.dev

WireGuardの設定が完了したら、「Activate」ボタンを押します。

f:id:showm001:20210625142633p:plain
WireGuardの設定

接続したらコマンドプロンプトからpong.soracom.ioに向けてpingを打ってみます。以下のように応答があれば無事接続できています。

f:id:showm001:20210625142957p:plain
疎通確認

RDP接続を遮断し、Napterを起動する

設定が終わったら一旦RDPを切断し、VMの[設定]->[ネットワーク]に進み、RDPを許可しているルールを削除します。

f:id:showm001:20210625143530p:plain
RDP接続を許可するルールを削除する

これでこのVMにはインターネットからRDPで接続できなくなりました。

続いて、SORACOM Napterを準備します。SORACOMコンソールのSIM管理画面で今回作成した仮想SIMを選び、[操作]->[オンデマンドリモートアクセス]を選びます。

f:id:showm001:20210625144155p:plain
Napterの設定

デバイス側ポートを「3389」にします。接続元IPアドレスは空にしておくと、現在コンソールにアクセスしている端末のIPアドレスが自動的に適用されます。

f:id:showm001:20210625144556p:plain
Napterの設定(2)

rdpファイルのダウンロードもこちらでできますので、ダウンロードします。

接続してみる

では、早速接続してみましょう。

f:id:showm001:20210625155649p:plain
Napter経由でRDP接続する

無事先ほどと同じデスクトップに接続できました! タイトルバーに出ている接続先のポート番号が3389でないので、通常のRDPではないことが分かります。

まとめ

SORACOM ArcとSORACOM Napterを使うと、VM側のネットワークのインバウンドルールでRDPやsshを許可したり踏み台サーバを作成しないでも、一時的にアクセスを許可することが可能になります。

なお、価格は以下の通りです。

  • Arc
    • 基本使用料(月額) 1 バーチャル SIM/Subscriber あたり 55 円 (SORACOM IoT SIM に追加する場合) 88 円 (バーチャル SIM/Subscriber 単独で利用する場合)
    • データ通信料 1 バーチャル SIM/Subscriber ごとに 1 GB あたり 22 円(上り、下りの合計) 毎月1GBまでは基本料金に含む
    • 無料枠 1 アカウントあたりバーチャル SIM/Subscriber 1契約分の基本使用料(月額)、1GB 分のデータ通信料が無料枠
  • Napter
    • 330 円 (SIM 1枚あたり、月額) 月に1度でもリモートアクセスを行った場合、月額費用が発生。当月内は月額費用内で何度でも利用可能

ただし、気をつけるべき点も存在します。

  • WireGuardが停止するとアクセスできなくなる。Linuxだと公式ツールsoratunがダウンリンクを検知して再接続もしてくれるが、現状Windowsにはない
  • アウトバウンドルールでArcのサーバの11010ポートへのアクセスを許可する必要がある

また、対象のマシンから外部(SORACOMプラットフォーム)に対してVPNを張っておくことが許可されるかどうかはお使いのネットワークの管理者と相談して慎重にご検討ください。