こんにちは。
コンサルティング & テクノロジー部の Azure チームの吾郷です。
今回は、機械学習系サービスの Cognitive Services の成分はまったくなく、Microsoft Azure のネットワークについての内容です。 9月の Ignite でアナウンスがありました、仮想ネットワークの Global Peering が気になったので検証してみました。
検証は、同じリージョンで Peering したネットワークと GLobal Peering した場合で速度がどうなるかってこと。
ついでに、ARM同士とARMとクラシックの組み合わせでのネットワーク速度の比較をしてみました。
絵に起こすとこんな感じです。
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 で接続したネットワーク同士は通信できるのですが、ツリー構成のネットワークの葉同士の通信をすることはできないので、メッシュ構造のネットワークとなります。
今回試したこと
今回のネットワーク速度の検証は、各仮想ネットワークに仮想マシン(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)
また、時間を見つけていじってみようと思います。