ここ数回、VNet Peering (Public Preview) の動作について検証、確認してきましたが、そもそも VNet で作成できる構成は何か? を整理、以下の図に纏めてみました。
Azure サブスクリプション内に VNet を複数作成することができ、(アドレス空間の場合、警告が出るだけで作成することはできますが、) ネットワーク セグメントが重複しなければ VNet 内に複数のアドレス空間、およびサブネットを作成することができます。
VNet 内に作成されたアドレス空間間、サブネット間の通信の経路がどうなっているかについて検証してみました。
検証
検証環境
検証環境は以下となります。
以下のパターンで検証しています。
- VNet1-VM1
- VNet1-VM2 との通信経路 (サブネット間)
- VNet1-VM3 との通信経路 (アドレス空間間)
- VNet1-VM2
- VNet1-VM1 との通信経路 (サブネット間)
- VNet1-VM3 との通信経路 (アドレス空間間)
- VNet1-VM3
- VNet1-VM1 との通信経路 (アドレス空間間)
- VNet1-VM2 との通信経路 (アドレス空間間)
検証結果
検証した結果、アドレス空間間、およびサブネット間の通信の経路として直接通信しているように見受けられます。
また、アドレス空間間、およびサブネット間通信における VNet Peering の時と同じですが、低遅延となっていました。
VNet1-VM1
VNet1-VM2
VNet1-VM3
VNet Peering の使いどころについて
Public Preview ということもありますが、VNet Peering の前提条件を纏めると以下となります。
- 同一リージョン内、同一ディレクトリ内で作成された VNet 間のみ
- ARM – ARM 間、および ARM – ASM 間での VNet Peering は作成可能
- 異なるサブスクリプション間 (ARM – ARM 間のみ) での VNet Peering は作成可能
- 接続する VNet 間でネットワーク セグメント (アドレス空間) が重複していないこと
VNet Peering の使う状況としては、「システムごとに VNet を分けたいが、低遅延でシステム間を通信したい場合」などが考えられます。
単にネットワーク セグメントが異なる状況での通信は VNet 内であればアドレス空間間、およびサブネット間でも同様のことができます。
GA されるタイミング、今後どう機能が拡張されるかは分かりませんが、VNet Peering を使用するかどうかについては、ネットワークの設計検討が十分必要かな、と思います。
参考
- Microsoft Azure: Cloud Computing Platform & Services
https://azure.microsoft.com/ - Virtual Network Documentation | Azure
https://azure.microsoft.com/documentation/services/virtual-network/ - Azure Virtual Network Peering | Microsoft Azure
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-network-peering-overview/ - VNet Peering for Azure Virtual Network が Public Preview になりました | 焦げlog
https://kogelog.com/2016/08/05/20160805-01/ - Azure ポータルから Azure リソース マネージャーで作成された VNet 間の VNet Peering を作成する (同一サブスクリプション) | 焦げlog
https://kogelog.com/2016/08/06/20160806-01/ - VNet Peering が作成されている状態で仮想ネットワーク ゲートウェイの作成、削除ができず失敗状態となる | 焦げlog
https://kogelog.com/2016/08/09/20160809-01/ - Azure ポータルから Azure リソース マネージャーで作成された VNet と Azure 管理サービスで作成された VNet 間の VNet Peering を作成する (同一サブスクリプション) | 焦げlog
https://kogelog.com/2016/08/10/20160810-01/ - Azure ポータルから Azure リソース マネージャーで作成された VNet 間の VNet Peering を作成する (異なるサブスクリプション) | 焦げlog
https://kogelog.com/2016/08/13/20160813-01/ - Azure リソース マネージャーで作成された VNet と Azure 管理サービスで作成された VNet 間の VNet Peering (異なるサブスクリプション) は作成できません | 焦げlog
https://kogelog.com/2016/08/14/20160814-01/ - ネットワーク セグメントが重複している状況で VNet Peering が構成できるかどうかを確認してみました
https://kogelog.com/2016/08/15/20160815-01/