AZ-305 Network Design: Hybrid Connectivity, Private Endpoints, Firewalls and Load Balancing
Designing network solutions in Azure means choosing how resources reach the internet and on-premises networks, how traffic is secured, routed and balanced, and how latency is kept low, then picking the service and tier that meet every stated requirement at the least cost and effort. This lesson covers all five AZ-305 skills in the task: internet connectivity (NAT gateway, public IPs, Azure Bastion), on-premises connectivity (site-to-site and point-to-site VPN, ExpressRoute, hub-and-spoke and Virtual WAN), network performance, network security (private endpoints, DNS, Azure Firewall, NSGs, Virtual Network Manager, DDoS and WAF) and load balancing and routing (Front Door, Traffic Manager, Application Gateway and Load Balancer).
On this page10 sections
- Connecting Azure resources to the internet: NAT gateway, public IPs and outbound rules
- Secure administrative access with Azure Bastion
- Connecting Azure to on-premises networks: VPN, ExpressRoute and ExpressRoute Direct
- ExpressRoute resiliency, Global Reach and encryption
- Point-to-site VPN for remote users: tunnel types and authentication
- Hub-and-spoke routing, gateway transit and Azure Virtual WAN
- Private access to PaaS: private endpoints, service endpoints and DNS
- Network security: Azure Firewall, NSGs, Virtual Network Manager, DDoS and WAF
- Optimising network performance
- Recommending a load-balancing and routing solution
- Recommend outbound and inbound internet connectivity, including NAT gateway for private subnets and SNAT exhaustion, and the right Azure Bastion tier for administrative access
- Choose between site-to-site VPN, point-to-site VPN, ExpressRoute and ExpressRoute Direct, and design ExpressRoute resiliency, Global Reach and encryption
- Design hub-and-spoke routing with gateway transit, user-defined routes and route propagation, and know when Azure Virtual WAN Standard fits
- Recommend private endpoints or service endpoints for PaaS access, with private DNS zones and DNS Private Resolver for hybrid name resolution
- Select Azure Firewall, NSG and application security group, Virtual Network Manager, DDoS Protection and WAF controls for a stated threat
- Optimise network performance with accelerated networking, proximity placement groups, ExpressRoute FastPath and Front Door caching
- Recommend Front Door, Traffic Manager, Application Gateway, Load Balancer or Gateway Load Balancer from protocol, scope and routing requirements
Connecting Azure resources to the internet: NAT gateway, public IPs and outbound rules
For outbound internet access from private VMs, recommend Azure NAT Gateway on the subnet; give a VM its own public IP only when it must accept inbound connections itself. A NAT gateway translates every outbound flow from the subnets it is attached to into one or more static public IP addresses or a public IP prefix that you own, and it accepts no unsolicited inbound connections. Because the addresses are yours and static, partners can allowlist them in advance.
| Outbound method | How it works | When it fits |
|---|---|---|
| NAT gateway | Subnet-level SNAT to static public IPs or a prefix; ports allocated dynamically from a large pool on each IP | The default recommendation for outbound internet from private subnets, and the fix for SNAT port exhaustion |
| Load balancer outbound rules | SNAT through a public Standard load balancer's frontend IPs; ports pre-allocated per back-end instance | Works, but you size the port allocation per instance by hand |
| Instance-level public IP | A Standard public IP on the VM's NIC, used for its outbound and inbound traffic | A VM that must itself be reachable from the internet; each one is another endpoint to secure |
| Default outbound access | An implicit, Microsoft-owned IP that Azure gave VMs with no explicit method | Never a design choice: the address isn't yours, can change, and the feature is being retired |
Default outbound access is going away for new networks. Microsoft is retiring the implicit outbound IP: new virtual networks created in the portal or with current API versions (released after 31 March 2026) default to private subnets, which have no outbound internet access until you add an explicit method such as a NAT gateway. Existing virtual networks are unchanged, for their existing and newly created VMs alike, and older API versions and templates still allow default outbound access, so this isn't a blanket shutdown. New designs should still always name the outbound method.
SNAT port exhaustion is a classic outbound problem. With load balancer outbound SNAT, each back-end instance gets a fixed share of ports per frontend IP, so many instances making many calls to the same destination run out of ports and new connections fail. Associating a NAT gateway with the subnet takes over the subnet's outbound flows and allocates ports on demand, with no per-instance tuning, while inbound traffic keeps arriving through the load balancer. Adding more frontend IPs to the outbound rule also adds ports, but you still manage the allocation.
Inbound from the internet comes through a public endpoint you deliberately expose: a public load balancer, Application Gateway, Azure Front Door, Azure Firewall DNAT, or a VM's own public IP. Standard public IPs are secure by default: inbound traffic is blocked until a network security group (NSG) allows it. The Basic SKUs of public IP and Load Balancer were retired on 30 September 2025, so designs use Standard.
Secure administrative access with Azure Bastion
Azure Bastion gives administrators RDP and SSH to VMs that have no public IP addresses, over TLS from the Azure portal or a native client, without exposing ports 3389 or 22 to the internet. The dedicated tiers (Basic, Standard and Premium) deploy a managed host in a subnet named AzureBastionSubnet, while the Developer tier runs on a shared pool and needs no subnet or public IP of its own; either way, the target VMs only need private IPs. The tier decides which features you get.
| Tier | What it adds | Limits to remember |
|---|---|---|
| Developer | Free, browser-based RDP/SSH from the portal on shared infrastructure | One virtual network only (no peered networks), one connection at a time; for dev/test |
| Basic | A dedicated Bastion host; reaches VMs in the Bastion virtual network and in peered virtual networks | Browser-based sessions only |
| Standard | Native client support (connect with your own RDP/SSH client through the Azure CLI), IP-based connection, file transfer, shareable links, custom ports, host scaling | No session recording |
| Premium | Everything in Standard plus graphical session recording stored in a storage account, and private-only deployment | The highest-cost tier |
Two design facts shape a Bastion deployment. First, every dedicated tier, from Basic up, reaches VMs across virtual network peering, so one Bastion host in the hub serves all peered spokes; deploying one per network multiplies cost. Second, choose the lowest tier that delivers every stated feature: native clients need Standard, graphical session recording needs Premium, and plain browser access across peered networks needs only Basic. Only session recording captures what happens inside a session; logs describe connections.
Microsoft Defender for Cloud just-in-time (JIT) VM access is a different control: it opens management ports on a VM's NSG for an approved source and a limited time. It reduces exposure for VMs that already have a reachable address; it doesn't give a workstation a path to a VM with only a private IP.
Connecting Azure to on-premises networks: VPN, ExpressRoute and ExpressRoute Direct
Use a site-to-site VPN for encrypted connectivity over the internet at low cost and short lead time; use ExpressRoute when traffic must not cross the public internet or needs predictable latency and high bandwidth. Point-to-site VPN connects individual devices, not sites.
| Option | Path | Strengths | Trade-offs |
|---|---|---|---|
| Site-to-site (S2S) VPN | IPsec/IKE tunnel over the internet between an on-premises VPN device and an Azure VPN gateway | Encrypted, uses existing firewalls, quick to deploy, cheap for light traffic | Internet latency and throughput vary; bandwidth limited by the gateway SKU |
| Point-to-site (P2S) VPN | A VPN client on each device to the Azure VPN gateway | Remote and home workers | Per-user, not a site link |
| ExpressRoute (provider circuit) | A private connection through a connectivity provider to a Microsoft peering location | Doesn't traverse the public internet, consistent latency, higher bandwidth, SLA-backed | Higher cost and a provisioning lead time; not encrypted by default |
| ExpressRoute Direct | Your routers connect directly to Microsoft's network on dedicated high-bandwidth port pairs (for example 10 or 100 Gbps) at a peering location | No provider in the path, very high bandwidth, MACsec layer-2 encryption | You need presence at the peering location and buy whole ports |
ExpressRoute peerings. Private peering carries traffic to private IP addresses in your Azure virtual networks, through an ExpressRoute gateway. Microsoft peering reaches Microsoft's public endpoints (Microsoft 365 and Azure PaaS public IPs, selected with route filters). A common design trap: to reach a PaaS service such as Azure Storage with public network access disabled, Microsoft peering doesn't help, because it targets the public endpoint. Put a private endpoint for the service in a connected virtual network instead; on-premises clients then reach it on a private IP over the existing private peering. Service endpoints don't help either, because they only apply to traffic that starts in an Azure subnet.
The ExpressRoute Premium add-on extends a circuit's reach to virtual networks in any region worldwide (across geopolitical boundaries) and raises the route and VNet-link limits. It changes what the circuit can reach; it adds neither encryption nor resilience.
ExpressRoute resiliency, Global Reach and encryption
A single ExpressRoute circuit already has two links, but both land in one peering location, so surviving the loss of a whole location needs a second circuit at a different peering location or a coexisting site-to-site VPN as a backup path. Microsoft's maximum-resiliency guidance is two circuits at two peering locations; a coexisting VPN over the internet is the cheaper fallback. A zone-redundant ExpressRoute gateway (an AZ SKU) protects the Azure side against an availability-zone failure; it doesn't help when the peering location fails.
ExpressRoute and VPN coexistence
- Both gateways go into the same GatewaySubnet, which must be /27 or larger. A virtual network has only one GatewaySubnet.
- The VPN gateway must be route-based and not the Basic SKU; policy-based gateways can't coexist. Active-active is optional.
- If the existing GatewaySubnet is too small (for example /28), Microsoft's procedure is to delete the ExpressRoute gateway, enlarge the subnet and recreate the gateway, which causes downtime, so plan the subnet size up front.
- When both paths advertise the same prefixes, Azure prefers ExpressRoute, so the VPN carries traffic only when ExpressRoute fails.
Global Reach: site-to-site over the Microsoft backbone
Connecting two circuits to the same ExpressRoute gateway does not let the two on-premises sites talk to each other: the gateway doesn't transit routes between circuits. ExpressRoute Global Reach links the circuits so traffic between your datacenters crosses the Microsoft backbone, which can replace a private WAN or MPLS link between them.
Encrypting ExpressRoute
| Need | Recommendation |
|---|---|
| Layer-2 encryption between your edge routers and Microsoft's, on dedicated ports | ExpressRoute Direct with MACsec enabled on the port pair |
| Encryption on an existing provider circuit, without new ports and without the internet | Site-to-site IPsec VPN tunnels running over private peering, terminating on the VPN gateway's private IP addresses (or a Virtual WAN hub) |
| Encryption with no ExpressRoute at all | A normal site-to-site VPN over the internet |
MACsec is available only on ExpressRoute Direct ports, never on a provider circuit. FastPath, Global Reach and the Premium add-on encrypt nothing.
Point-to-site VPN for remote users: tunnel types and authentication
Point-to-site VPN connects individual devices to an Azure virtual network gateway; the design choices are the tunnel type and how clients authenticate.
| Authentication | How users are checked | Fits when |
|---|---|---|
| Microsoft Entra ID | Users sign in with work accounts in the Azure VPN Client; Conditional Access and MFA apply | Identities are in Entra ID and you don't want client certificates. Supported only with the OpenVPN tunnel type. |
| Azure certificate | A client certificate per device, chained to a root certificate (self-signed or from your CA) uploaded to the gateway | You can issue and revoke certificates |
| RADIUS | The gateway passes credentials to a RADIUS server, such as Network Policy Server (NPS), which checks Active Directory Domain Services | Users sign in with existing AD DS credentials and identities aren't in Entra ID; the RADIUS server can be on-premises, reached over a site-to-site connection |
Tunnel types: OpenVPN (TLS-based, works on Windows, macOS, Linux, iOS and Android, required for Entra ID authentication), IKEv2 (IPsec, native on Windows and macOS) and SSTP (TLS-based, Windows only). A gateway can enable more than one.
Routing for P2S clients: when a spoke is peered with the hub using gateway transit and use remote gateways, P2S clients can reach it through the hub gateway. The gateway side updates on its own, but clients install routes from the VPN client profile they downloaded. After a topology change such as a new peering, Microsoft's guidance is to download and install the client profile again; until then the Windows client has no route to the new address space.
Hub-and-spoke routing, gateway transit and Azure Virtual WAN
In a hub-and-spoke network, shared services (gateways, firewall, Bastion, DNS) live in a hub virtual network and workloads in spokes peered to it; because peering is not transitive, you add gateway transit for hybrid traffic and user-defined routes through a hub firewall or NVA for spoke-to-spoke traffic.
- Peering is non-transitive. Spoke A learns the hub's address space, not spoke B's, so spoke-to-spoke traffic has no route by default. A direct spoke-to-spoke peering would connect them but bypass central inspection.
- Gateway transit. On the hub's side of each peering set allow gateway transit; on the spoke's side set use remote gateways. Spokes then use the hub's VPN or ExpressRoute gateway and learn on-premises routes without a gateway of their own. The pair is directional: the side that owns the gateway allows transit, and the side that borrows it uses remote gateways.
- Allow forwarded traffic lets a peering accept packets that an appliance relayed from somewhere else; it's needed on the spoke side when traffic arrives via the hub firewall, but it creates no routes.
- Spoke-to-spoke through the firewall: associate route tables with the spoke subnets that send the other spokes' prefixes (or a summary, or 0.0.0.0/0) to the firewall's private IP as a virtual appliance next hop.
How Azure picks a route
Azure chooses the route with the longest prefix match; only when prefixes are equal does it prefer a user-defined route over a BGP route over a system route. That catches designs that send 0.0.0.0/0 to the firewall: the spokes also learn on-premises prefixes (say a /16) from the gateway through BGP, and the more specific /16 wins, so hybrid traffic skips the firewall. The fix is to disable gateway route propagation on the spoke route tables, so the default route catches everything; the firewall's own subnet still learns the on-premises routes. For symmetric return traffic, add a route table on the GatewaySubnet that sends spoke prefixes to the firewall.
Azure Virtual WAN
Virtual WAN provides Microsoft-managed hubs with automatic transit between branches, users and virtual networks, which suits large estates (hundreds of branches, many VNets, several regions) when the team wants least routing effort.
| Type | Supports |
|---|---|
| Basic | Site-to-site VPN only |
| Standard | Site-to-site and point-to-site VPN, ExpressRoute, VNet-to-VNet transit through the hub, full-mesh hub-to-hub across regions, secured hubs with Azure Firewall or partner NVAs (routing intent sends private and internet traffic through them) |
Self-managed hubs remain valid when you need full control, but you own every route table, and a single VPN gateway has a fixed tunnel limit well below several hundred sites. Azure Virtual Network Manager connectivity configurations can create hub-and-spoke or mesh peerings at scale; they build connectivity, not traffic filters.
Private access to PaaS: private endpoints, service endpoints and DNS
A private endpoint puts one specific PaaS resource on a private IP address in your virtual network through Azure Private Link; a service endpoint keeps the service's public endpoint but lets it recognise traffic from a chosen subnet.
| Private endpoint | Service endpoint | |
|---|---|---|
| Address the client uses | A private IP from your VNet's address space | The service's public IP (traffic stays on the Microsoft backbone) |
| Scope | One resource (one storage account sub-resource, one SQL logical server), which limits data exfiltration | The whole service from that subnet; service endpoint policies can narrow Azure Storage to specific accounts |
| Reachable from on-premises and peered VNets | Yes, over private peering, VPN or peering | No; only traffic that starts in the enabled subnet |
| Public network access on the resource | Can be disabled entirely | Stays enabled (restricted by firewall rules) |
| Cost | Per-hour and per-GB charges | No extra charge |
Name resolution for private endpoints
Clients keep using the normal name (for example account.blob.core.windows.net). Public DNS returns a CNAME to the privatelink name, and a private DNS zone such as privatelink.blob.core.windows.net, holding the endpoint's A record, answers with the private IP. Three rules follow:
- Azure-provided DNS answers from the zones linked to the querying VNet. A VNet whose zone isn't linked resolves the public address. Add a virtual network link from the existing zone rather than creating a duplicate zone.
- Custom DNS servers in Azure (for example domain controllers in the hub) must forward the service's zone to the Azure DNS virtual IP
168.63.129.16, using a conditional forwarder for the public zone (such asblob.core.windows.net), and the privatelink zone must be linked to the VNet where those DNS servers run. If they forward everything to on-premises DNS, the answer stays public. Domain-joined VMs keep the domain controllers as their DNS servers; the forwarder is what brings Azure's private zones into their answers. - On-premises clients can't reach
168.63.129.16; it only answers inside Azure virtual networks. Give on-premises DNS a private IP in Azure to forward to: an Azure DNS Private Resolver inbound endpoint is the managed option (forwarder VMs also work but must be run and patched). On-premises DNS gets conditional forwarders for the service zones pointing at the inbound endpoint. The resolver's outbound endpoint with a forwarding ruleset handles the opposite direction: Azure VMs resolving on-premises names.
Private endpoint name resolution is a DNS design task: only zone links and forwarding paths change which address a client receives.
Network security: Azure Firewall, NSGs, Virtual Network Manager, DDoS and WAF
Optimising network security means filtering at the right layer: Azure Firewall for central inspection of traffic between networks and to the internet, NSGs and application security groups for micro-segmentation, Virtual Network Manager for guardrails teams can't override, DDoS Protection for network-layer floods and a WAF for layer-7 attacks.
Azure Firewall tiers
| Tier | Key capabilities |
|---|---|
| Basic | For small businesses: network and FQDN application rules, threat intelligence in alert mode, fixed limited throughput |
| Standard | Adds threat intelligence alert-and-deny, web categories, DNS proxy, autoscaling |
| Premium | Adds TLS inspection (decrypting outbound HTTPS), signature-based IDPS, and URL filtering on the full URL including path |
Standard filters web traffic by FQDN (host name) only; anything that needs the decrypted payload or the URL path needs Premium. Traffic reaches the firewall only if routes send it there (see hub-and-spoke routing), so routing comes first and rules second.
NSGs and application security groups
An application security group (ASG) is a label attached to VM network interfaces. NSG rules can use ASGs as source or destination, so tiers sharing one subnet can still be segmented (web to API on one port, API to database on another), and scaling adds or removes NICs from the groups without anyone editing IP addresses. Use one ASG per tier: one shared group can't tell tiers apart, and ASGs attach to NICs, not subnets. By default, traffic inside a subnet goes VM to VM and never passes a hub firewall; forcing it through one needs a UDR for the subnet's own prefix and adds latency and cost, so NSGs with ASGs are the native way to segment co-located tiers.
Central guardrails with Azure Virtual Network Manager
Security admin rules in Azure Virtual Network Manager apply to network groups across subscriptions and are evaluated before NSG rules. A Deny rule drops the traffic whatever an NSG allows, Always Allow skips NSG evaluation, and Allow lets the NSG decide. Network groups can use Azure Policy for dynamic membership, so new virtual networks are covered automatically. This is how a central team blocks, for example, inbound RDP and SSH from the internet everywhere while application teams still own their NSGs. An Azure Policy deny effect only blocks future configurations; it doesn't filter traffic. For visibility, VNet flow logs (the successor to NSG flow logs) record traffic flows.
DDoS Protection tiers
| Tier | Scope | Includes |
|---|---|---|
| Infrastructure protection | Every Azure public IP, free | Platform-level mitigation, not tuned per application, no telemetry or alerts |
| DDoS IP Protection | Enabled per public IP | Adaptive tuning to the application's traffic, attack alerts, metrics and mitigation reports |
| DDoS Network Protection | A plan linked to virtual networks, covering their public IPs | Everything in IP Protection plus DDoS Rapid Response support, cost protection credits for scale-out during a documented attack, and a WAF discount |
A few public IPs with no need for rapid response or cost protection fit IP Protection; many IPs across networks, or a need for those extras, fit Network Protection.
Web Application Firewall
DDoS Protection works at layers 3 and 4, so a flood of well-formed HTTPS requests looks like normal traffic to it. Layer-7 protection is a WAF policy on Azure Front Door (global edge) or Application Gateway WAF v2 (regional): managed rule sets block common web attacks such as SQL injection and cross-site scripting, and rate-limit custom rules throttle clients that exceed a request threshold per window. Throttling abusive clients is a layer-7 decision, so it belongs in the WAF policy rather than in capacity or layer-4 rules.
Optimising network performance
Network performance in Azure is improved at four points: inside the VM (accelerated networking), between VMs (proximity placement groups), on the hybrid path (ExpressRoute FastPath) and for distant users (edge caching with Azure Front Door).
| Bottleneck | Recommendation | Trade-off |
|---|---|---|
| Per-VM latency, jitter and CPU spent on networking | Accelerated networking (SR-IOV bypasses the host's virtual switch) on supported VM sizes | Size and OS support required |
| Latency between VMs | A proximity placement group, which places VMs physically close within one datacenter | Lower resilience: co-located VMs can fail together. Availability sets and zones spread VMs apart, the opposite goal |
| The ExpressRoute gateway in the data path | ExpressRoute FastPath: the gateway still exchanges routes, but traffic goes from the Microsoft edge routers straight to the VMs | Needs a supported gateway size such as Ultra Performance or ErGw3AZ |
| Distant users loading static content from one region | Azure Front Door with caching, serving images, scripts and style sheets from points of presence near users | Helps cacheable and edge-terminated traffic; it doesn't move the origin |
Read the bottleneck before choosing. If circuit utilisation is low but the gateway limits throughput, more circuit bandwidth or a second circuit on the same gateway leaves the gateway in the path; FastPath removes it. Accelerated networking helps only once a packet reaches the host. DNS-based routing helps only when there are several origins to choose between, and physical placement, not virtual network layout, sets VM-to-VM latency.
Recommending a load-balancing and routing solution
Choose a load balancer with two questions: is the traffic HTTP(S) or any TCP/UDP protocol, and is it global (across regions) or regional?
| HTTP(S) (layer 7) | Any protocol | |
|---|---|---|
| Global | Azure Front Door: anycast edge, TLS offload, path routing, caching, WAF | Azure Traffic Manager (DNS-based; clients connect directly to the chosen endpoint) or a cross-region (global) Load Balancer for layer-4 traffic behind a static anycast IP |
| Regional | Application Gateway v2: in your VNet, URL path-based routing, TLS termination, WAF v2 | Azure Load Balancer Standard: layer-4 TCP/UDP, zone-redundant frontends, internal or public |
Traffic Manager routing methods: priority (failover), weighted, performance (lowest latency, which may cross borders), geographic (maps the DNS query's source location to a specific endpoint, which enforces data residency), multivalue and subnet. Only geographic routing guarantees that users from a country go to a named region; performance routing and the cross-region Load Balancer pick the closest or fastest region instead.
Front Door tiers and Application Gateway
| Front Door Standard | Front Door Premium | |
|---|---|---|
| Caching, global routing, custom WAF rules | Yes | Yes |
| Managed WAF rule sets and bot protection | No | Yes |
| Private Link to origins (for example App Service with public access disabled) | No | Yes |
With Premium, Front Door connects to the origin through a private endpoint that the origin owner approves, so the app's public network access can be turned off. Restricting an app to the AzureFrontDoor.Backend service tag is weaker: the public endpoint stays open. When the entry point itself must sit inside your virtual network and reach back ends on private IPs, the answer is Application Gateway, because Front Door is a global edge service outside your network. Retired or retiring options aren't design choices: Application Gateway v1 has been retired, Basic Load Balancer was retired in September 2025, and Front Door (classic) is being retired in favour of the Standard and Premium tiers.
Load balancing network virtual appliances
- Internal Standard Load Balancer with an HA ports rule: balances every TCP and UDP flow on every port across NVAs, keeps each flow on the same appliance in both directions and fails over using health probes. Spoke and gateway UDRs point at its frontend IP. HA ports is available only on internal load balancers. This suits east-west and hybrid inspection.
- Gateway Load Balancer: chained to a Standard public load balancer frontend or a VM's public IP configuration, it transparently sends inbound and outbound packets through an appliance pool and back, with no UDRs and no change to the public IP. This suits inserting third-party appliances in front of an internet-facing service.
Tip. Questions on this topic are design scenarios: an organisation describes its network, hybrid links or applications and two or three requirements, such as no public IPs on VMs, partners allowlisting source addresses, no traffic over the internet, layer-2 or in-transit encryption, surviving a peering-location outage, MFA through Conditional Access, rules teams can't override, data residency, private-only origins or the least administrative effort, and asks what you should recommend or which settings to choose. Options are real Azure services and tiers that each miss one requirement, so near-twin comparisons dominate: NAT gateway versus outbound rules versus instance public IPs, Bastion Basic versus Standard versus Premium, VPN versus ExpressRoute versus ExpressRoute Direct, MACsec versus IPsec over private peering, private versus service endpoints, Private Resolver inbound versus outbound endpoints, Azure Firewall Standard versus Premium, DDoS IP versus Network Protection, Front Door Standard versus Premium, and Front Door versus Traffic Manager versus Application Gateway versus Load Balancer. Expect troubleshooting-style scenarios where a route, DNS link or peering setting is missing, and select-TWO items where each correct option is part of the solution.
- NAT gateway is the recommended outbound path for private subnets: static IPs you own, no inbound connections, dynamic SNAT ports. Default outbound access is being retired and new VNets default to private subnets.
- One Azure Bastion host from the Basic tier up serves peered VNets; native clients need Standard, session recording needs Premium, and Developer has no peering support.
- Site-to-site VPN is encrypted but crosses the internet; ExpressRoute is private with predictable latency but isn't encrypted by default. MACsec needs ExpressRoute Direct; provider circuits use IPsec over private peering.
- Survive a peering-location outage with a second circuit at another location or a coexisting VPN (route-based, not Basic, in a /27 or larger GatewaySubnet). Global Reach links circuits so datacenters talk over the Microsoft backbone.
- Point-to-site Entra ID authentication requires OpenVPN; RADIUS uses existing AD DS credentials through NPS; Windows clients need a fresh profile after topology changes.
- Peering is non-transitive: hub allows gateway transit, spokes use remote gateways, and spoke-to-spoke traffic goes through the hub firewall by UDR. Longest prefix wins, so disable gateway route propagation when 0.0.0.0/0 must catch on-premises traffic.
- Private endpoints give one resource a private IP reachable from on-premises and allow public access to be disabled; service endpoints only serve traffic from an Azure subnet to the public endpoint.
- On-premises DNS can't reach 168.63.129.16: forward to a DNS Private Resolver inbound endpoint, and link privatelink zones to every VNet (or DNS server VNet) that resolves them.
- Azure Firewall Premium adds TLS inspection, IDPS and full-URL filtering; Virtual Network Manager security admin Deny rules beat any NSG; DDoS IP Protection is per IP, Network Protection adds rapid response and cost protection; layer-7 floods need a WAF rate-limit rule.
- Pick load balancing by HTTP(S) versus any protocol and global versus regional; Traffic Manager geographic routing enforces residency; Front Door Premium adds Private Link origins and managed WAF rules; HA ports on an internal load balancer for NVAs, Gateway Load Balancer for transparent chaining.
Frequently asked questions
When should I recommend ExpressRoute instead of a site-to-site VPN?
Recommend ExpressRoute when traffic between on-premises and Azure must not cross the public internet, when you need consistent, predictable latency, or when bandwidth needs exceed what VPN gateways deliver. A site-to-site VPN is the better fit for small sites, light traffic, a short deployment deadline or the lowest cost, because it uses an existing IPsec device and the internet. ExpressRoute isn't encrypted by default, so add IPsec over private peering or, on ExpressRoute Direct, MACsec when encryption is required.
What is the difference between a private endpoint and a service endpoint in Azure?
A private endpoint is a network interface with a private IP in your virtual network, mapped through Private Link to one specific resource. It is reachable from peered and on-premises networks, and the resource's public network access can be disabled; it costs per hour and per GB. A service endpoint is free and keeps traffic on the Microsoft backbone, but clients still use the service's public endpoint, it works only for traffic that starts in the enabled subnet, and it applies to the whole service unless a service endpoint policy narrows it.
Why can't on-premises servers resolve private endpoint addresses?
Private DNS zones are answered by Azure's platform resolver at 168.63.129.16, which is reachable only from inside Azure virtual networks. On-premises DNS servers therefore keep returning public addresses until they forward the service's zone to a private IP in Azure. The managed way to provide that IP is an Azure DNS Private Resolver inbound endpoint in a virtual network linked to the privatelink zones; DNS forwarder VMs also work but must be operated.
Which Azure Bastion tier do I need?
Use the lowest tier that provides every required feature. Developer is free but browser-only, limited to one virtual network with no peering support. Basic is a dedicated host that also reaches peered virtual networks. Standard adds native RDP and SSH client support, IP-based connection, file transfer and shareable links. Premium adds graphical session recording to a storage account and private-only deployment.
How do I make spoke-to-spoke traffic go through Azure Firewall in a hub?
Peering is not transitive, so spokes have no route to each other by default. Associate a route table with each spoke subnet that sends the other spokes' prefixes, or a default route, to the firewall's private IP as a virtual appliance next hop, and allow the firewall rules. Make sure the spoke peerings accept forwarded traffic. If a 0.0.0.0/0 route must also catch on-premises traffic, disable gateway route propagation on the spoke route tables, because the more specific BGP routes otherwise win.
When should I use Traffic Manager instead of Azure Front Door?
Use Traffic Manager when the application isn't HTTP(S) or when you need DNS-level routing methods such as geographic routing for data residency; clients connect directly to the endpoint Traffic Manager returns, so it works for any protocol. Use Azure Front Door for HTTP(S) applications that benefit from a global anycast edge, TLS offload, caching, path-based routing and a WAF.
What does Azure Virtual Network Manager add over NSGs?
Azure Virtual Network Manager applies security admin rules to groups of virtual networks across subscriptions, and those rules are evaluated before NSG rules. A Deny security admin rule blocks traffic whatever an NSG allows, so a central team can enforce guardrails while application teams keep managing their own NSGs. Network groups can be populated dynamically with Azure Policy, so new virtual networks are covered automatically. Virtual Network Manager can also create hub-and-spoke or mesh peering at scale with connectivity configurations.
How do I load balance network virtual appliances in Azure?
For east-west and hybrid traffic steered by user-defined routes, place the appliances behind an internal Standard Load Balancer with an HA ports rule, which balances all TCP and UDP flows on all ports, keeps flows symmetric and fails over with health probes. To insert appliances transparently in front of an internet-facing service without UDRs or a new public IP, chain a Gateway Load Balancer to the public load balancer frontend or the VM's public IP configuration.
Source
This lesson covers the "Design infrastructure solutions" domain of the official AZ-305 exam guide. Vendors revise their guides — check the source for the current version.
- Microsoft AZ-305 study guide — Microsoft Learn
Sign up free to mark lessons complete, bookmark topics and track your exam readiness.