#はじめに
2017年9月のIgnite内の発表で、VNET Peeringが他リージョンのVNET間でも使えるようになったので早速試しました。
アナウンス記事は「Public preview: Global VNet Peering」です。
#利用準備
こちらのPublic Previewはまず最初に利用申請をサブスクリプション単位で行う必要があります。
「Create a virtual network peering - Resource Manager, same subscription」の記事内の「Register for the Global VNet Peering preview」の章に書かれていますが、Azure Powershellにてログイン、(必要に応じて)サブスクリプション選択後に以下のコマンドを入力してPublic Previewの利用申請を行います。
Register-AzureRmProviderFeature `
-FeatureName AllowGlobalVnetPeering `
-ProviderNamespace Microsoft.Network
Register-AzureRmResourceProvider `
-ProviderNamespace Microsoft.Network
タイミングによってはすぐにRegistrationStateが「Registered」状態になりますが、Pending状態の場合はしばらく待ってから以下のコマンドを打って定期的に確認して、ひたすら待ちます。
Get-AzureRmProviderFeature `
-FeatureName AllowGlobalVnetPeering `
-ProviderNamespace Microsoft.Network
Registered状態になってもすぐに利用できないケースがあるようです。その場合は24時間程度待ってからGlobal VNET Peeringの検証を進めるとよさそうです
#環境作成
Global VNET Peeringは本記事執筆時点では、以下の3リージョンでのみ利用可能です。
- US West Central (米国中西部)
- Canada Central (カナダ中部)
- US West 2 (米国西部2)
なので、VNET及び仮想マシン、VNET Peeringの構成は以下のように作成しました。
こちらの環境はAzureポータルで普通に作成できます。
仮想マシンはNIC性能を少しでも早くするために、A8V2を選択しました(ちょっとお高い……)
ネットワーク性能を測るために、US West 2には同一VNET内に二つの仮想マシンを用意して、VNET内の速度も計測します。さらに別VNETも作成して従来通りのVNET Peeringの速度も測ります。
VNETのピアリング追加画面では既に別リージョンの仮想ネットワークが選択可能になっているため、Azureポータルからさくさくっと構築できました。
#速度測定
Linux界隈で有名そうな「iperf」を使います。
各VMに以下のコマンドでインストール。
$ sudo apt-get install iperf
コマンド実行方法ですが、受信側は「iperf -s」でサーバーモードで待ち受けして、送信側で「iperf -c <サーバ側のIPアドレス>」で実行です。
本格的な性能確認ではないため、各方向1回だけ実行した結果を以下に張ります。
なんといっても一回だけの測定結果なので細かい数値はあてになりませんが、以下の傾向がわかります。
- 従来のVNET Peeringの性能は同一VNET内仮想マシン間の性能とあまりかわらない (緑の矢印)
- ペアとなっているリージョン間の性能は結構よい (黄色の矢印)
- ペアではない別リージョン間の性能はそれなり (赤い矢印)
※参考:ビジネス継続性とディザスター リカバリー (BCDR): Azure のペアになっているリージョン
無論現時点ではPreview段階であるため、性能についてもGAしたタイミングでは変わることも十分ありますが、性能の高い順番としては想像通りの結果となりました。
#おわりに
このGlobal VNET PeeringがGAすると、DR環境やミラーサイトの構築など色々便利に応用できそうですね。
Site to Site VPNとの使い分けも含めて色々と整理していく必要はあると感じました。