This architecture demonstrates the connectivity architecture and traffic flows Azure Web APP and Function app when using VNET integration and private endpoints. This architecture also covers DNS architecture in a multi-region design when using private endpoints with web app
Download Visio link here
- VNET Integration with App services
- VNET Integration and Subnet Delegation
- Network Isolation with VNET Integration
- Control Outbound IP using Azure NAT Gateway
- Premium SKU requirement for Private Endpoints
- DNS Private Zone with App Services
- Hybrid DNS setup with Hub VNET Using Azure DNS, Spokes with Custom DNS server pointing to the HUB DNS server
- Private Endpoints Per region vs Private Endpoints Cross Region depending on your DR strategy and existing end-to-end routing.
- VNET links to Private Zone Zone for Registration
- VNET links to Priave DNS Zones for Resolution
- Front End App Service talking to BE App Service via Private Endpoints
- Egress Requirements for App services: Use VNET Integration and Outbound NAT Gateway for deterministic IP for outbound
- Create Private Endpoints per region and establish routing for the other region to connect to the private endpoint.
- Create Private endpoints cross regions if end-to-end IP routing is not in place.
- Centralized Private DNS Zones vs Prviate DNS Zones Per region. In the above architecture both east and the west hubs are linked to the same Private DNS Zone in the east region.
Make sure the private link DNS zone are linked to the corresponding VNETs
Verify DNS resolution from Webapp console
DNS Resolution for Private Endpoints From FrontEnd Webapp (ssh console)
root@c3feca61e67d:/home# nslookup nnwebapp-premium.azurewebsites.net
Server: 127.0.0.11
Address: 127.0.0.11#53
Non-authoritative answer:
nnwebapp-premium.azurewebsites.net canonical name = nnwebapp-premium.privatelink.azurewebsites.net.
Name: nnwebapp-premium.privatelink.azurewebsites.net
Address: 172.16.1.11
Access Backend website via Private Endpoint
root@c3feca61e67d:/home# curl -I https://nnwebapp-premium.azurewebsites.net
HTTP/1.1 200 OK
<snip>
Outbound IP via NAT Gateway
root@c3feca61e67d:/home# curl ifconfig.io
52.186.92.228
DNS private zone for privatelink.azurewebsites.net in each regions. Note that a vnet can only be linked to once to the same private DNS zone.
- Document Fuction app creating and validation