Networking Foundation参照資料確認: 2026-09-10

Azure Virtual Network (VNet)

AzureのL3 private network境界を、address space・subnet・NIC・routing・security・DNSの関係から実運用向けに整理する。

Scope: Microsoft Learn / Azure Architecture Centerの一次資料を基準に、設計と運用で判断が必要な点をpacket path中心に整理。SKU、region、limitsは変更されるため、実装時はOfficial sourcesのcurrent documentationを再確認してください。

Azure Virtual Network (VNet)を理解するための前提

VNetはAzure Resource Manager上のL3 overlay networkで、同一VNet内のsubnet間は既定でsystem routeによりroutingされる。 VNet address spaceは接続前にnon-overlapを保証する。Peering、VPN、ExpressRoute、Virtual WANの後からのrenumberingは影響範囲が大きい。

Azureは各subnetで先頭4個と末尾1個、合計5個のIPv4 addressを予約する。/29なら利用可能host addressは3個だけになる。 subnetは単なるCIDR分割ではなく、NSG、route table、NAT Gateway、service endpoint、delegationなどの適用境界でもある。

control plane上の「Connected」「Succeeded」とdata planeの到達性は別。代表NICのeffective routes / security rulesと実flowで検証する。 2026-03-31以降のAPIで作成する新規VNetはprivate subnetが既定となるため、Internet/public endpointへのegressはexplicit outboundを前提にする。

通信や判断の流れを追う
利用側VNet / SubnetNIC / Azure service接続先

Control plane と data plane

Control planePortal / ARM / CLIで定義されたresource、association、route advertisement、peering flagなど。設定がSucceededでもpacket到達を保証しない。
Data plane実際のsource/destination/5-tupleが選ぶroute、NAT、security device、return path。Effective state、Next hop、logs、packet capture、application testで証明する。

仕組み

VNet作成時、Azure SDNはaddress spaceをvirtual network next hopとして各subnetのrouting stateへ反映する。subnet間通信にユーザー管理gatewayは不要。

VMからpacketが出ると、NIC/subnetに作用するroute・security policyが評価される。DNSは宛先IPを決める前段であり、routeが正しくても名前解決が誤れば別の宛先へ到達する。

PeeringやVirtual Network Gatewayなどを追加するとoptional system route/BGP routeがeffective stateへ加わる。設計図だけでなく「そのNICに現在何がprogramされているか」を見る。

VNetはL2延伸ではない。broadcast/VLAN adjacencyを前提にしたon-prem設計をそのまま持ち込まず、L3 routing・service endpoint・load balancer等へ置き換える。

Packet path

routing問題は「どのresourceがあるか」ではなく、packetが各hopで何を選ぶかを順に追う。

  1. applicationがFQDNを解決しdestination IPを得る。
  2. source VM/NICからpacketがAzure SDNへ出る。
  3. subnetのeffective route setからdestinationに対するrouteが選択される。
  4. NSG/NVA/Firewall等、path上のsecurity controlを通過する。
  5. destination NIC/PaaS endpointへ到達し、return pathも独立にroute選択される。

設計判断

判断点推奨理由
Address space将来接続する全networkを含めて重複しないhierarchical CIDRを先に予約する。後からのpeering/hybrid接続でoverlapが発覚すると設計変更が大きい。
Subnet boundaryworkload role・routing・security・managed service要件の境界が一致する単位で切る。IP節約だけを目的に小さく切るとscale-outと専用subnet要件で詰まりやすい。
Outboundpublic IPの暗黙挙動に依存せずNAT Gateway/Firewall/NVA等を明示する。source IP、logging、allowlist、DRが予測可能になる。
Verification代表NICのeffective route/NSGと実application flowをacceptance criteriaにする。control planeのSucceededだけではpacket forwardingを証明しない。

確認手順

Azure Portal

  • Virtual networks → 対象VNet → Address space / Subnets を確認。
  • 対象subnetのNSG、Route table、NAT gateway、Delegation、Private subnet設定を一覧化。
  • 代表VM → Networking からNICを辿り、Network Watcherと合わせてeffective stateを確認。

Verification discipline

  • subscription / resource group / resource IDを記録する。
  • 同じsource・destinationでbefore/afterを比較する。
  • read-only evidenceを保存してから変更する。
  • control-plane successとapplication successを別々に判定する。
Azure CLI — read-only first
az network vnet show -g <rg> -n <vnet> -o jsonc
az network vnet subnet list -g <rg> --vnet-name <vnet> -o table
az network nic show-effective-route-table -g <rg> -n <nic> -o table
PowerShell — read-only first
Get-AzVirtualNetwork -ResourceGroupName <rg> -Name <vnet>
Get-AzNetworkInterface -ResourceGroupName <rg> -Name <nic>

障害切り分け

症状疑う点証拠次の確認
同一VNetなのに到達しないNSG / guest firewall / UDR / NVAeffective routesとeffective security rulesをsource NICで取得VNetそのものよりpacket path上のfilter/routeを分離して確認
新規VMだけInternetへ出られないprivate subnet + explicit outbound未設定subnet.defaultOutboundAccessとNAT/Firewall/UDR associationexplicit outboundを設計し、旧default outbound前提へ戻さない
Peering追加後に特定prefixのみ不達overlap / peering flags / more-specific routeeffective routeのprefix/source/next hopLPMとpeering stateを確認
IP不足予約5 address、Private Endpoint/scale-out増加subnet sizeと実割当数CIDR拡張/新subnet/renumberingの影響を比較

変更時の確認と rollback

  • 変更前にVNet/subnet/NIC/route table associationをJSONで保存する。
  • CIDR変更はpeering・Private Endpoint・gateway・DNS・IaCへの影響を列挙してから実施する。
  • routing/security変更は同じ5-tupleでbefore/afterを比較する。
  • rollback後もroute convergence、既存stateful session、DNS cacheを確認する。

What changed recently

2026年の運用上の注意

2026-03-31以降にリリースされたAPI versionでは、新規VNetのsubnetはdefaultOutboundAccess=falseが既定。新規設計ではimplicit default outboundを前提にしない。

Official sources