NEXTSCAPE blog

株式会社ネクストスケープの社員による会社公式ブログです。ネスケラボでは、社員が日頃どのようなことに興味をもっているのか、仕事を通してどのような面白いことに取り組んでいるのかなど、会社や技術に関する情報をマイペースに紹介しています。

MENU

Global 接続ができるようになった Microsoft Azure の仮想ネットワーク Peering を試してみたよ

こんにちは。

コンサルティング & テクノロジー部の Azure チームの吾郷です。


今回は、機械学習系サービスの Cognitive Services の成分はまったくなく、Microsoft Azure のネットワークについての内容です。 9月の Ignite でアナウンスがありました、仮想ネットワークの Global Peering が気になったので検証してみました。

検証は、同じリージョンで Peering したネットワークと GLobal Peering した場合で速度がどうなるかってこと。
ついでに、ARM同士とARMとクラシックの組み合わせでのネットワーク速度の比較をしてみました。
絵に起こすとこんな感じです。

f:id:nextscape_blog:20210910235355p:plain

Microsoft Azure の仮想ネットワークについて



一応、仮想ネットワークをご存知ない方もいるかと思いますので、簡単に紹介します。

仮想ネットワークは、Microsoft Azure 上に仮想のネットワーク(L2ネットワーク)をひく機能でして、イメージとしては、Azure データセンターに HUB を置くような感じになります。
他のネットワークとつなぐ方法は、以下の3つのパターンがあります。
・仮想ネットワークゲートウェイを使い、VPN 接続する。(PtoS,StoS,Vnet to Vnet)
・専用線サービスのExpress Route をつなぐ(Azuire 側は仮想ネットワークゲートウェイが必要となる。)
・Peering を使って、仮想ネットワーク同士をつなぐ

また、仮想ネットワークは、ARMのものとASM(クラシック)の2種類のデプロイメントモデルがあります。

仮想ネットワーク Peering について



 ざっくり説明すると仮想ネットワーク Peering は、仮想ネットワーク間を接続する機能です。
ピアリングされた仮想ネットワークに存在する仮想マシン間のトラフィックは Microsoft のバックボーン インフラストラクチャを介して、プライベート IP アドレスのみを使った同一仮想ネットワーク内の仮想マシン間のトラフィックと同じように通信することができます。

■仮想ネットワーク ピアリング
https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-network-peering-overview

仮想ネットワーク Peering は、同一リージョンであればOKで、デプロイメントモデルが異なっていたり、サブスクリプションが異なっていても接続することができました。
これが、Ignite で別リージョンでも大丈夫になりました。
ただ、仮想ネットワーク(クラシック) 同士の Peering での接続はできません。

以下の図のように、Peering で接続したネットワーク同士は通信できるのですが、ツリー構成のネットワークの葉同士の通信をすることはできないので、メッシュ構造のネットワークとなります。

f:id:nextscape_blog:20210910235502p:plain




今回試したこと



今回のネットワーク速度の検証は、各仮想ネットワークに仮想マシン(Ubuntu)を構築し、iperf で速度測定を行いその結果を比較をしてみました。
なお、iperfのサーバは、vnet1 のマシンとします。

テストしたのは、West Central US と West US 2の2つのリージョンです。


結果!!




(1).同一リージョン、ARM同士



[  4] local 10.5.0.5 port 35194 connected to 10.3.0.5 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   164 MBytes  1.38 Gbits/sec    0    934 KBytes
[  4]   1.00-2.00   sec   163 MBytes  1.37 Gbits/sec    0    934 KBytes
[  4]   2.00-3.00   sec   162 MBytes  1.36 Gbits/sec    0    934 KBytes
[  4]   3.00-4.00   sec   163 MBytes  1.37 Gbits/sec    0    934 KBytes
[  4]   4.00-5.00   sec   162 MBytes  1.36 Gbits/sec    0   1.04 MBytes
[  4]   5.00-6.00   sec   163 MBytes  1.37 Gbits/sec    0   1.13 MBytes
[  4]   6.00-7.00   sec   162 MBytes  1.36 Gbits/sec    0   1.18 MBytes
[  4]   7.00-8.00   sec   164 MBytes  1.37 Gbits/sec    0   1.18 MBytes
[  4]   8.00-9.00   sec   162 MBytes  1.36 Gbits/sec    0   1.18 MBytes
[  4]   9.00-10.00  sec   162 MBytes  1.36 Gbits/sec    0   1.26 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  1.59 GBytes  1.37 Gbits/sec    0             sender
[  4]   0.00-10.00  sec  1.59 GBytes  1.36 Gbits/sec                  receiver

iperf Done.

(2).同一リージョン、ARMとクラシック



Connecting to host 10.3.0.5, port 5201
[  4] local 10.0.0.4 port 54772 connected to 10.3.0.5 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   188 MBytes  1.58 Gbits/sec  460   13.7 KBytes
[  4]   1.00-2.00   sec   178 MBytes  1.50 Gbits/sec  365   1.01 MBytes
[  4]   2.00-3.00   sec   181 MBytes  1.52 Gbits/sec  364   1.07 MBytes
[  4]   3.00-4.00   sec   177 MBytes  1.48 Gbits/sec  959    183 KBytes
[  4]   4.00-5.00   sec   180 MBytes  1.51 Gbits/sec  668   1.11 MBytes
[  4]   5.00-6.00   sec   179 MBytes  1.50 Gbits/sec  522   1.15 MBytes
[  4]   6.00-7.00   sec   176 MBytes  1.48 Gbits/sec  328   1.17 MBytes
[  4]   7.00-8.00   sec   179 MBytes  1.50 Gbits/sec  740   1.21 MBytes
[  4]   8.00-9.00   sec   179 MBytes  1.50 Gbits/sec  317   1.24 MBytes
[  4]   9.00-10.00  sec   176 MBytes  1.48 Gbits/sec  589    243 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  1.75 GBytes  1.50 Gbits/sec  5312             sender
[  4]   0.00-10.00  sec  1.75 GBytes  1.50 Gbits/sec                  receiver

iperf Done.


(3).別リージョン、ARM同士



[  4] local 10.4.0.6 port 39852 connected to 10.3.0.5 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   113 MBytes   949 Mbits/sec    0   5.95 MBytes
[  4]   1.00-2.00   sec   134 MBytes  1.12 Gbits/sec    0   5.95 MBytes
[  4]   2.00-3.00   sec   132 MBytes  1.11 Gbits/sec    0   5.95 MBytes
[  4]   3.00-4.00   sec   134 MBytes  1.12 Gbits/sec    0   5.95 MBytes
[  4]   4.00-5.00   sec   131 MBytes  1.10 Gbits/sec    0   5.95 MBytes
[  4]   5.00-6.00   sec   132 MBytes  1.11 Gbits/sec    0   5.95 MBytes
[  4]   6.00-7.00   sec   132 MBytes  1.11 Gbits/sec    0   5.95 MBytes
[  4]   7.00-8.00   sec   134 MBytes  1.12 Gbits/sec    0   5.95 MBytes
[  4]   8.00-9.00   sec   134 MBytes  1.12 Gbits/sec    0   5.95 MBytes
[  4]   9.00-10.00  sec   132 MBytes  1.11 Gbits/sec    0   5.95 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  1.28 GBytes  1.10 Gbits/sec    0             sender
[  4]   0.00-10.00  sec  1.28 GBytes  1.10 Gbits/sec                  receiver

iperf Done.


(4).別リージョン、ARMとクラシック



[  4] local 10.1.0.4 port 46760 connected to 10.3.0.5 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   116 MBytes   974 Mbits/sec    0   6.01 MBytes
[  4]   1.00-2.00   sec   134 MBytes  1.12 Gbits/sec    0   6.01 MBytes
[  4]   2.00-3.00   sec   134 MBytes  1.12 Gbits/sec    0   6.01 MBytes
[  4]   3.00-4.00   sec   132 MBytes  1.11 Gbits/sec    0   6.01 MBytes
[  4]   4.00-5.00   sec   134 MBytes  1.12 Gbits/sec    0   6.01 MBytes
[  4]   5.00-6.00   sec   134 MBytes  1.12 Gbits/sec    0   6.01 MBytes
[  4]   6.00-7.00   sec   134 MBytes  1.12 Gbits/sec    0   6.01 MBytes
[  4]   7.00-8.00   sec   134 MBytes  1.12 Gbits/sec    0   6.01 MBytes
[  4]   8.00-9.00   sec   134 MBytes  1.12 Gbits/sec    0   6.01 MBytes
[  4]   9.00-10.00  sec   132 MBytes  1.11 Gbits/sec    0   6.01 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  1.29 GBytes  1.11 Gbits/sec    0             sender
[  4]   0.00-10.00  sec  1.29 GBytes  1.11 Gbits/sec                  receiver

iperf Done.



まとめ



 結果的に、ARM同士とARM+クラシックでも速度差はあまりないように思います。
また、今回の結果では、別リージョンでもはやい速度でつながるもんだなーって思いました。
利用できるリージョンが増えたら、もっといろんなところで確かめてみたいですよねー。
例えば、Japan east と West Central US でPeering でどれくらいの速度がでるのかとかw

あと、今回は、1回だけ測定しただけなので、もっと複数回やらないと、正しい結果にはならないですがそれなりに速度は出そうだなって思いました。

ひとまず、早く GA して、日本のデータセンターでも使えるようにして欲しいなって思います。

最後に、Ignite の仮想ネットワーク周りのアナウンスは、以下のものもあります。
・DDos Protection
・VNET 接続(ストレージ/SQL DataBase)

また、時間を見つけていじってみようと思います。