← Back to Portal
AZ-700 Study Material
Quick Reference Cheat Sheet
10 golden rules, service comparison tables, subnet and limit numbers, NSG default priorities, and CLI/PowerShell command snippets — everything on one page for the final pass before your exam.
1Routing Precedence: Longest prefix match selects candidates. Then: UDR > BGP > System routes (same length).
2Non-Transitive Peering: VNet peering is non-transitive. Spoke-A cannot reach Spoke-B through the hub — Firewall/NVA + UDRs required.
3Service Endpoints vs Private Endpoints: SE = VNet only, public IP retained. PE = private IP, on-prem access possible, DNS required.
4Virtual WAN Migration Order: Create VWAN → delete existing peerings → connect spokes → update UDRs. Never connect before deleting peerings.
5Firewall Rule Order: DNAT → Network → Application → Default Deny. A Network rule match stops processing — Application rules are never reached for that traffic.
6ExpressRoute Has No Encryption: Use VPN-over-ER (IPsec) for encryption on provider circuits. MACsec is only for ExpressRoute Direct connections.
7DNS Resolver Directions: Inbound endpoint = on-prem → Azure. Outbound endpoint = Azure → on-prem (via forwarding ruleset).
8Hub-Spoke UDR Requirements: Spoke subnets need UDRs to route spoke-to-spoke via Firewall. GatewaySubnet needs UDRs for return traffic from on-prem. Disable BGP propagation on spoke route tables.
9Network Watcher Tools: IP Flow Verify = NSG block check. Next Hop = routing check. Connection Monitor = continuous monitoring. Packet Capture = deep investigation.
10Load Balancer Decision: L4 Regional = Azure LB. L7 Regional = App Gateway. L7 Global = Front Door. DNS Global = Traffic Manager. L4 Global = Cross-Region LB. NVA insertion = Gateway LB.
VPN Gateway vs ExpressRoute vs Virtual WAN
| Feature | VPN Gateway | ExpressRoute | Virtual WAN |
|---|---|---|---|
| Transport | Public Internet (IPsec) | Private circuit (MPLS/Ethernet) | SD-WAN + backbone |
| Encryption | ✅ Always (IPsec) | ❌ Layer 2 only | ✅ (over tunnels) |
| Max bandwidth | 10 Gbps (VpnGw5) | 10 Gbps (Direct: 100 Gbps) | 50 Gbps per hub |
| SLA / latency | Variable (Internet) | Dedicated / predictable | Variable / backbone |
| Best for branches | Small / few sites | Critical / large sites | 50+ sites / any mix |
| BGP support | VpnGw1+ only (not Basic) | Mandatory (AS 12076) | Automatic |
Load Balancing Service Comparison
| Service | Layer | Scope | WAF | SSL | Best For |
|---|---|---|---|---|---|
| Azure Load Balancer (Std) | L4 | Regional | ❌ | ❌ | TCP/UDP, VMs, VMSS |
| Application Gateway (v2) | L7 | Regional | ✅ | ✅ Terminate | Web apps, API, WAF |
| Azure Front Door (Std/Premium) | L7 | Global | ✅ Premium | ✅ Terminate | Global web, CDN, multi-region |
| Traffic Manager | DNS | Global | ❌ | Pass-through | Non-HTTP, failover, geography |
| Cross-Region LB | L4 | Global | ❌ | ❌ | Global TCP/UDP failover |
| Gateway LB | L4 | Regional | ❌ | ❌ | NVA inline insertion |
Front Door vs Traffic Manager
| Feature | Azure Front Door | Traffic Manager |
|---|---|---|
| Layer | L7 (HTTP/HTTPS) | DNS (L4 DNS) |
| Routes app traffic? | ✅ Yes (Anycast proxy) | ❌ DNS only |
| SSL termination | ✅ At edge PoP | ❌ None |
| WAF | ✅ Built-in (Standard/Premium) | ❌ |
| Failover speed | Seconds (health probe) | Depends on DNS TTL |
| Protocol support | HTTP/HTTPS only | Any (TCP, SMTP, custom) |
Subnet Sizes
/29 → 3
Minimum usable subnet (8 − 5 reserved)
/28 → 11
16 − 5 reserved addresses
/27 → 27
32 − 5 reserved (GatewaySubnet min)
/26 → 59
64 − 5 reserved (Firewall/Bastion min)
/24 → 251
256 − 5 reserved (common subnet)
5
Azure reserved IPs per subnet (.0,.1,.2,.3,.255)
VPN Gateway Limits
| SKU | S2S Tunnels | P2S Connections | Throughput |
|---|---|---|---|
| Basic | 10 | 128 | 100 Mbps |
| VpnGw1 / VpnGw1AZ | 30 | 250 | 650 Mbps |
| VpnGw2 / VpnGw2AZ | 30 | 500 | 1 Gbps |
| VpnGw3 / VpnGw3AZ | 30 | 1,000 | 1.25 Gbps |
| VpnGw4 / VpnGw4AZ | 100 | 5,000 | 5 Gbps |
| VpnGw5 / VpnGw5AZ | 100 | 10,000 | 10 Gbps |
NSG Default Rules (Lower Number = Higher Priority)
| Priority | Name | Direction | Action |
|---|---|---|---|
| 65000 | AllowVnetInBound | Inbound | Allow |
| 65001 | AllowAzureLoadBalancerInBound | Inbound | Allow |
| 65500 | DenyAllInBound | Inbound | Deny |
| 65000 | AllowVnetOutBound | Outbound | Allow |
| 65001 | AllowInternetOutBound | Outbound | Allow |
| 65500 | DenyAllOutBound | Outbound | Deny |
Azure Firewall SKU Feature Matrix
| Feature | Basic | Standard | Premium |
|---|---|---|---|
| FQDN application rules | ❌ | ✅ | ✅ |
| Threat Intelligence filtering | ❌ | ✅ | ✅ |
| IDPS (signature-based) | ❌ | ❌ | ✅ |
| TLS inspection | ❌ | ❌ | ✅ |
| URL filtering (full) | ❌ | Partial (SNI) | ✅ |
| Web category filtering | ❌ | ✅ | ✅ |
Azure CLI — Networking Essentials
# Create VNet with a subnet az network vnet create -g RG -n MyVNet --address-prefixes 10.0.0.0/16 \ --subnet-name Subnet1 --subnet-prefixes 10.0.1.0/24 # Create route table and add a route az network route-table create -g RG -n MyRT az network route-table route create -g RG --route-table-name MyRT \ -n ToFirewall --address-prefix 0.0.0.0/0 \ --next-hop-type VirtualAppliance --next-hop-ip-address 10.0.0.4 # Associate route table with subnet az network vnet subnet update -g RG --vnet-name MyVNet -n Subnet1 \ --route-table MyRT # Disable BGP route propagation on route table az network route-table update -g RG -n MyRT \ --disable-bgp-route-propagation true # Create NSG rule (allow HTTP) az network nsg rule create -g RG --nsg-name MyNSG -n AllowHTTP \ --priority 100 --direction Inbound --access Allow \ --protocol Tcp --destination-port-ranges 80 # Enable Private Endpoint Network Policies on subnet az network vnet subnet update -g RG --vnet-name MyVNet -n PrivateSubnet \ --private-endpoint-network-policies Enabled # Create Private DNS Zone and link to VNet az network private-dns zone create -g RG -n privatelink.database.windows.net az network private-dns link vnet create -g RG \ --zone-name privatelink.database.windows.net \ --name MyDnsLink --virtual-network MyVNet --registration-enabled false # Check effective routes on a NIC az network nic show-effective-route-table -g RG -n MyNicName -o table # IP Flow Verify (Network Watcher) az network watcher test-ip-flow --vm MyVM -g RG \ --direction Inbound --protocol TCP \ --local 10.0.1.4:80 --remote 1.2.3.4:60000
PowerShell — Networking Essentials
# Get effective routes on a VM NIC Get-AzEffectiveRouteTable -NetworkInterfaceName "MyNic" ` -ResourceGroupName "RG" | Format-Table # Create a route table and UDR $rt = New-AzRouteTable -Name "MyRT" -ResourceGroupName "RG" ` -Location "uksouth" -DisableBgpRoutePropagation Add-AzRouteConfig -Name "ToFirewall" -RouteTable $rt ` -AddressPrefix "0.0.0.0/0" -NextHopType "VirtualAppliance" ` -NextHopIpAddress "10.0.0.4" Set-AzRouteTable -RouteTable $rt # Associate route table with subnet $vnet = Get-AzVirtualNetwork -Name "MyVNet" -ResourceGroupName "RG" $subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet ` -Name "Subnet1" Set-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet ` -Name "Subnet1" -AddressPrefix $subnet.AddressPrefix ` -RouteTable $rt Set-AzVirtualNetwork -VirtualNetwork $vnet # Get VPN Gateway connection status Get-AzVirtualNetworkGatewayConnection -Name "MyConn" ` -ResourceGroupName "RG" | Select-Object Name, ConnectionStatus # Start a packet capture (Network Watcher) New-AzNetworkWatcherPacketCapture -NetworkWatcher $nw ` -TargetVirtualMachineId $vm.Id -PacketCaptureName "MyCapture" ` -StorageAccountId $storage.Id
| Azure Service | Sub-resource | Private DNS Zone |
|---|---|---|
| Azure SQL Database | sqlServer | privatelink.database.windows.net |
| Azure SQL Managed Instance | managedInstance | privatelink.{dns_zone}.database.windows.net |
| Azure Blob Storage | blob | privatelink.blob.core.windows.net |
| Azure File Storage | file | privatelink.file.core.windows.net |
| Azure Queue Storage | queue | privatelink.queue.core.windows.net |
| Azure Table Storage | table | privatelink.table.core.windows.net |
| Azure Key Vault | vault | privatelink.vaultcore.azure.net |
| Azure Container Registry | registry | privatelink.azurecr.io |
| Azure Cosmos DB (SQL API) | sql | privatelink.documents.azure.com |
| Azure App Service / Functions | sites | privatelink.azurewebsites.net |
| Azure Event Hubs | namespace | privatelink.servicebus.windows.net |
| Azure Service Bus | namespace | privatelink.servicebus.windows.net |
| Azure Monitor (Log Analytics) | workspace | privatelink.ods.opinsights.azure.com |
Each VNet that needs Private Endpoint DNS resolution must have its own VNet link to the Private DNS Zone (registration-enabled: false for most zones).
Trap 1: "ExpressRoute encrypts data in transit" — FALSE. Private only. Use VPN-over-ER for encryption.
Trap 2: "Traffic Manager routes application traffic" — FALSE. DNS only — never sees packets.
Trap 3: "AllowGatewayTransit goes on the spoke peering" — FALSE. Hub peering gets AllowGatewayTransit. Spoke gets UseRemoteGateways.
Trap 4: "Service Endpoints work from on-premises" — FALSE. VNet only. Private Endpoints are needed for on-premises access.
Trap 5: "NSG rules automatically apply to Private Endpoint NICs" — FALSE. Must enable privateEndpointNetworkPolicies on the subnet.
Trap 6: "VPN Gateway Basic SKU supports BGP and P2S with IKEv2" — FALSE. No BGP. No IKEv2/Entra on Basic.
Trap 7: "AzureFirewallSubnet needs a route table" — FALSE in standard deployments. Only for forced tunnelling scenarios.
Trap 8: "A Network rule allow for TCP 443 lets Application rules evaluate for FQDN" — FALSE. Network rule match stops processing.
Trap 9: "Standard Load Balancer provides outbound Internet access automatically" — FALSE. Requires NAT Gateway or explicit outbound rules.
Trap 10: "DDoS Protection Standard stops HTTP floods" — FALSE. L3/L4 only. HTTP floods require WAF on App Gateway or Front Door.
Trap 11: "ExpressRoute FastPath applies to spoke VNets peered with the hub" — FALSE. FastPath only applies to the hub VNet.
Trap 12: "MACsec can be used on provider-based ExpressRoute circuits" — FALSE. MACsec requires ExpressRoute Direct (your own port at the Microsoft edge).