What is Azure Virtual Network encryption?

Azure Virtual Network encryption is a feature of Azure Virtual Networks. Virtual network encryption allows you to seamlessly encrypt and decrypt traffic between Azure Virtual Machines by creating a DTLS tunnel.

Virtual network encryption enables you to encrypt traffic between Virtual Machines and Virtual Machines Scale Sets within the same virtual network. Virtual network encryption encrypts traffic between regionally and globally peered virtual networks. For more information about virtual network peering, see Virtual network peering.

Virtual network encryption enhances existing encryption in transit capabilities in Azure. For more information about encryption in Azure, see Azure encryption overview.

Requirements

Virtual network encryption has the following requirements:

Availability

Azure Virtual Network encryption is generally available in all Azure public regions and is currently in public preview in Azure Government and Microsoft Azure operated by 21Vianet.

Limitations

Azure Virtual Network encryption has the following limitations:

  • In scenarios where a PaaS is involved, the virtual machine where the PaaS is hosted dictates if virtual network encryption is supported. The virtual machine must meet the listed requirements.

  • For Internal load balancer, all virtual machines behind the load balancer must be a supported virtual machine SKU.

  • AllowUnencrypted is the only supported enforcement at general availability. DropUnencrypted enforcement will be supported in the future.

  • Virtual networks with encryption enabled don't support Azure DNS Private Resolver.

  • Virtual networks configured with the Azure Private Link service don't support Virtual Network encryption, so Virtual Network encryption shouldn't be enabled on these virtual networks.

  • The backend pool of an internal load balancer must not include any network interface secondary IPv4 configurations to prevent connection failures to the load balancer.

  • Virtual Network encryption shouldn't be enabled in virtual networks that have Azure confidential computing VM SKUs. If you want to use Azure confidential computing VMs in virtual networks where Virtual Network encryption is enabled, then:

    • Enable Accelerated Networking on the VM's NIC if it's supported.
    • If Accelerated Networking isn't supported, change the VM SKU to one that supports Accelerated Networking or Virtual Network encryption.

    Don't enable Virtual Network encryption if the VM SKU doesn't support Accelerated Networking or Virtual Network encryption.

Supported scenarios

Virtual network encryption is supported in the following scenarios:

Scenario Support
Virtual machines in the same virtual network (including virtual machine scale sets and their internal load balancer) Supported on traffic between virtual machines from these SKUs.
Virtual network peering Supported on traffic between virtual machines across regional peering.
Global virtual network peering Supported on traffic between virtual machines across global peering.
Azure Kubernetes Service (AKS) - Supported on AKS using Azure CNI (regular or overlay mode), Kubenet, or BYOCNI: node and pod traffic is encrypted.
- Partially supported on AKS using Azure CNI Dynamic Pod IP Assignment (podSubnetId specified): node traffic is encrypted, but pod traffic isn't encrypted.
- Traffic to the AKS managed control plane egresses from the virtual network and thus isn't in scope for virtual network encryption. However, this traffic is always encrypted via TLS.

Note

Other services that currently don't support virtual network encryption are included in our future roadmap.