※このブログ エントリに記載している検証結果については、Microsoft 社からの正式見解および回答ではありません。使用している、もしくは構築・導入している環境やサービスとは異なる場合がありますので、記載されている内容を鵜呑みにせず、適用前の検証を行うようにしてください。
2017/10/03 のブログ エントリにて、Azure 管理ポータルからアクティブ/アクティブ構成の Azure VPN ゲートウェイが作成、構成できるようになったことを記載させていただきました。
その際、アクティブ/スタンバイ構成と同様に可用性が担保されるのと同時にスループットがどうなるのか、気になる部分であったので、実際に検証してみました。
VPN ゲートウェイのスループットの検証
検証環境、パターン
- 使用する Azure VM は、同一 OS、VM サイズ、ストレージを使用しています。
- OS : Ubuntsu Server 16.04 LTS
- VM サイズ : DS3v2 (4 vCPU、14 GB メモリ)
- ストレージ : Premium Storage (Managed Disks)
- スループットの計測には、 ntttcp for Linux を使用、5分間計測を実施しています。
- パターン 0 については東日本リージョンを使用、パターン 1~3については東日本リージョンと西日本リージョンを使用しています。
パターン 0
パターン 0 で実施している検証環境は、下図となります。
この憲章では、使用する Azure VM がネックとならないよう、VM 自身のネットワーク スループットを計測しています。
パターン 1
パターン 1 で実施している検証環境は、下図となります。
アクティブ/スタンバイ構成同士間の仮想マシンのスループットを計測します。
Azure VPN ゲートウェイの SKU (VpnGw1、VpnGw2、VpnGw3) を合わせてぞれぞれで計測しています。
パターン 2
パターン 2 で実施している検証環境は、下図となります。
アクティブ/アクティブ構成とアクティブ/スタンバイ構成間の仮想マシンのスループットを計測します。
Azure VPN ゲートウェイの SKU (VpnGw1、VpnGw2、VpnGw3) を合わせてぞれぞれで計測しています。
パターン 3
パターン 3 で実施している検証環境は、下図となります。
アクティブ/アクティブ構成同士間の仮想マシンのスループットを計測します。
Azure VPN ゲートウェイの SKU (VpnGw1、VpnGw2、VpnGw3) を合わせてぞれぞれで計測しています。
検証結果
検証結果は、下表のとおりとなりました。
VpnGw1、VpnGw2、VpnGw3 のどの場合でもパターン 1 よりもパターン 2 および パターン 3 のほうがよいスループットが出ているので、アクティブ/アクティブ構成することによる効果は表れていると言えます。
ただし、Azure ドキュメント内の以下の記載にもあるとおり、アクティブ/アクティブ構成にすることで高可用性を向上させるのが目的であり、スループットに関しては分散の統計的性質により、さまざまなアプリケーション (OS 含む) のトラフィックに対する全体のスループットへの影響を測定することが困難であるため、この結果が他の環境で同様の結果が得られるとは断言することができません。
All gateways and tunnels are active from the Azure side, so the traffic will be spread among all 4 tunnels simultaneously, although each TCP or UDP flow will again follow the same tunnel or path from the Azure side. Even though by spreading the traffic, you may see slightly better throughput over the IPsec tunnels, the primary goal of this configuration is for high availability. And due to the statistical nature of the spreading, it is difficult to provide the measurement on how different application traffic conditions will affect the aggregate throughput.
- Overview of Highly Available configurations with Azure VPN Gateways | Microsoft Docs
https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-highlyavailable
確かに、VpnGw2、VpnGw3 のパターン 3 については、パターン1 の倍以上のスループットが出ていますが、VpnGw1 に関しては、劇的にスループットは向上していません。もちろん、通信を行う Azure VM を今回使用したものとは別 VM を使用することで、VpnGw1 を利用した場合でもアクティブ/アクティブ子構成でのスループット向上が期待できると思いますが、本番リリース前に、十分に検証、確認してみるのが一番かと思います。
※それと、VpnGw3 よりも VpnGw2 のほうがスループットがよかったのが一番の謎ですが…
おまけ : ntttcp 実行出力結果
VNet-VNet : パターン 0
Azr-JE-Lin1 → Azr-JE-Lin2
Azr-JE-Lin1 ← Azr-JE-Lin2
VpnGw1 : パターン 1
Azr-JE-Lin1 → Azr-JW-Lin1
Azr-JE-Lin1 ← Azr-JW-Lin1
VpnGw1 : パターン 2
Azr-JE-Lin1 → Azr-JW-Lin1
Azr-JE-Lin1 ← Azr-JW-Lin1
VpnGw1 : パターン 3
Azr-JE-Lin1 → Azr-JW-Lin1
Azr-JE-Lin1 ← Azr-JW-Lin1
VpnGw2 : パターン 1
Azr-JE-Lin1 → Azr-JW-Lin1
Azr-JE-Lin1 ← Azr-JW-Lin1
VpnGw2 : パターン 2
Azr-JE-Lin1 → Azr-JW-Lin1
Azr-JE-Lin1 ← Azr-JW-Lin1
VpnGw2 : パターン 3
Azr-JE-Lin1 → Azr-JW-Lin1
Azr-JE-Lin1 ← Azr-JW-Lin1
VpnGw3 : パターン 1
Azr-JE-Lin1 → Azr-JW-Lin1
Azr-JE-Lin1 ← Azr-JW-Lin1
VpnGw3 : パターン 2
Azr-JE-Lin1 → Azr-JW-Lin1
Azr-JE-Lin1 ← Azr-JW-Lin1
VpnGw3 : パターン 3
Azr-JE-Lin1 → Azr-JW-Lin1
Azr-JE-Lin1 ← Azr-JW-Lin1
参考
- VPN Gateway | Microsoft Azure
https://azure.microsoft.com/ja-jp/services/vpn-gateway/ - Azure VPN Gateway のドキュメント – チュートリアル、API リファレンス | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/vpn-gateway/ - Azure VPN Gateway の FAQ | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/vpn-gateway/vpn-gateway-vpn-faq - 料金 – Virtual Network | Microsoft Azure
https://azure.microsoft.com/ja-jp/pricing/details/vpn-gateway/
コメント
[…] Azure VPN ゲートウェイをアクティブ/アクティブ構成した場合にスループットが向上するのか検証してみました […]