Azure Documentation

Azure Private Link Architecture

Azure Private Link provides a secure and efficient way to access Azure PaaS services (like Azure Storage and SQL Database) and Azure hosted customer-owned services or partner services, entirely within a Microsoft Azure backbone network.

Azure Private Link Architecture Diagram

A simplified representation of Azure Private Link connectivity.

How it Works

Azure Private Link uses Private Endpoints, which are network interfaces that bring a specific Azure service into your virtual network. When you create a private endpoint for a service, it gets a private IP address from your virtual network's address space. This IP address is dynamically assigned by Azure. Traffic from your virtual network to the service then travels over the Microsoft Azure backbone network, effectively bypassing the public internet.

Key Components

  • Virtual Network (VNet): The private network in Azure where your resources reside.
  • Private Endpoint: A network interface with a private IP address in your VNet that connects to a specific Azure service.
  • Azure Private Link Service: The Azure-managed service that enables connectivity to PaaS services and customer-owned services.
  • Private DNS Zone: Used to map the service's FQDN to its private IP address within your VNet.
  • Azure PaaS Service/Customer-Owned Service: The target service you want to access privately.

Benefits of Azure Private Link

  • Enhanced Security: Traffic stays within the Azure backbone, reducing exposure to the public internet.
  • Simplified Network Architecture: Eliminates the need for complex VNet peering or VPN gateways for accessing many Azure services.
  • Consistent Access: Provides a unified connectivity experience for both PaaS and customer-owned services.
  • Compliance: Helps meet stringent data residency and compliance requirements.
  • Private IP Addressing: Leverages private IP addresses within your VNet.

Common Use Cases

Configuration Snippet Example

Here's a conceptual example of how you might configure a private endpoint using Azure CLI:


az network private-endpoint create \
  --name myPrivateEndpoint \
  --resource-group MyResourceGroup \
  --vnet-name MyVNet \
  --subnet MySubnet \
  --private-connection-resource-id "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Storage/storageAccounts/mystorageaccount" \
  --group-id "blob" \
  --connection-name myConnection \
  --location eastus