Microsoft Azureで「社内の複数の拠点からVPNを張ってAzureのリソースを使いたい」と言われることがあります。
従来は、簡単な作業でなかったのですが、リソースマネージャーモデルであれば、以下のようにGUIだけで構成できます。リソースマネージャーでもVPNゲートウェイは1台しか作れませんが、複数の接続を簡単に追加できるからです。
まず拠点単位でローカルネットワークゲートウェイを構成します。ローカルネットワークゲートウェイは、オンプレミスのVPNルーターの情報を保存したものです。
次に、ローカルネットワークゲートウェイを使って、接続を追加します。
ここまでで、Azureと拠点A、Aureと拠点Bの接続が完了します。
マイクロソフトが提供するオンプレミス側VPNゲートウェイの構成スクリプトは、Azureの仮想ネットワークとローカルネットワークの範囲しかルーティングしないため、拠点Aと拠点Bの接続は構成されません。
これは、既存のルーティング情報に影響を与えないためです。そのため、Azureとの接続前から拠点Aと拠点Bが接続できている場合はそのまま使い続けることが可能です。
ただし、AzureのVPNゲートウェイ自体はローカルネットワークゲートウェイの情報を使ったルーティングが可能なので、オンプレミス側VPNゲートウェイで必要なルーティング情報を与えてやれば、拠点Aと拠点Bの接続が可能です。
以上の内容を図にしました。
同様に、ローカルネットワークゲートウェイのネットワーク範囲を追加すれば、オンプレミス側のネットワークも拡張できます。
なお、インターネット回線を通るため、拠点Aと拠点Bの通信にはそこそこ大きな遅延が発生します。
実際に、東京のトレーニングセンター内で仮想的に2つの拠点を作り、東日本のデータセンターにVPNゲートウェイを作って、拠点Aから拠点Bにpingを飛ばしたところ、10ミリ秒から25ミリ秒の遅延が発生しました(オンプレミスのルーターはWindows Server 2012 R2仮想マシン)。
連続して通信を行っても、遅延にはかなりばらつきがありました。決して品質が高いとはいえないのですが、インターネットにさえつながればどこからでも接続できるので、便利な状況もあるでしょう。