Networking errors — subnets, delegation, peering, private endpoint creation, approval, DNS and deletion

Look up a networking deployment or connectivity error — subnets that can't be deleted or reused (in use, delegated, service association links, network profiles), peering stuck Initiated or Disconnected, private endpoint creation and permission failures, Pending connections, DNS returning a public IP or NXDOMAIN, 403s from a service behind a private endpoint, and deletions blocked by locks or ghost links.

markdownreferencev1MF9F-Q83Rstage: operatetrust: officialservice: networkinginterface: anyInUseSubnetCannotBeDeletedSubnet is in use and cannot be deleted.SubnetHasDelegationsSubnetIsDelegatedAndCannotBeUsedSubnetWithExternalResourcesCannotBeUsedByOtherResourcesInUseNetworkInterfaceCannotBeAssociatedWithSubnetNetworkProfileCannotBeDeletedSubnetHasServiceEndpointsserviceAssociationLinkspeering Initiatedpeering Disconnectedoverlapping address space peeringPrivateEndpointAlreadyExistsPrivateEndpointCreationNotAllowedAsSubnetIsDelegatedMicrosoft.Network/virtualNetworks/subnets/join/actionMicrosoft.Network/privateDnsZones/A/writeprivateEndpointConnectionsApproval/actionLinkedAuthorizationFailed private endpointprivate endpoint Pendingprivate endpoint resolves public IPserver can't find NXDOMAINPublic access is disabled and the request was not made from a trusted service or via an approved private linkThis TCP connection does not allow access to vault.azure.net on port 443InUseLinkedDnsZoneResourceDeletionFailed private DNS zoneghost virtual network linkInterfaceEndpoint next hop

Created 21 Oct 2026 · Modified 23 Oct 2026 · 1 version

Networking errors

Network deployment errors come back from Resource Manager (reference/arm/errors.md for the wrapper and AuthorizationFailed in general). Network connectivity failures usually aren't errors at all, but timeouts: follow guides/networking/diagnose-connectivity.md.

Subnets and delegation

Code / messageCause → fixCheck
InUseSubnetCannotBeDeleted; Subnet <name> is in use and cannot be deleted.NICs, load balancers, private endpoints or service deployments still hold IPs in the subnet. Remove or move them, then retryaz network vnet subnet show -g <rg> --vnet-name <vnet> -n <subnet> --query "{ipConfigs:ipConfigurations[].id, pe:privateEndpoints[].id, links:serviceAssociationLinks[].linkedResourceType}"
SubnetHasDelegationsThe subnet is delegated and the service's resources are still there: delete them, then the delegation--query "delegations[].serviceName"
SubnetIsDelegatedAndCannotBeUsedDeploying a different service (or a private endpoint) into a subnet delegated to another service. Use another subnet, or remove the delegationSame
SubnetWithExternalResourcesCannotBeUsedByOtherResourcesAnother service (App Service, SQL Managed Instance, Container Apps …) deployed into the subnet through a service association link--query "serviceAssociationLinks[].{link:link, type:linkedResourceType}"
InUseNetworkInterfaceCannotBeAssociatedWithSubnetAn orphaned NIC still has an IP configuration there: delete itaz network nic list -g <rg> --query "[?virtualMachine==null].name"
NetworkProfileCannotBeDeletedA Container Instances network profile still references the subnetaz network profile list -g <rg>
SubnetHasServiceEndpointsReported alongside other blockers; service endpoints alone don't block deletionResolve the other blockers first

Microsoft's deletion order: VMs and their NICs, private endpoints, service deployments (Container Instances, App Service, flexible servers), service association links (wait for their cleanup), service endpoints, the delegation, then the subnet.

Peering

SymptomCause → fix
Status stays InitiatedOnly one side exists: create the peering on the other VNet
Status DisconnectedOne side was deleted, or an address space changed without a sync: re-create the missing link, or az network vnet peering sync -g <rg> --vnet-name <vnet> -n <peering>
Peering rejected for overlapping addressesPeered VNets can't overlap; re-address one of them
Peered VMs can't reach a third VNetPeering isn't transitive (reference/networking/vnets-subnets-and-peering.md)

Private endpoint creation and permissions

Code / messageCause → fix
PrivateEndpointCreationNotAllowedAsSubnetIsDelegated ("… cannot be created as subnet … is delegated")Use a subnet without delegations
PrivateEndpointAlreadyExists / name in useAn endpoint (or its NIC) with that name exists or a delete is still running. Wait for the delete, or use a new name; Terraform or Bicep that deletes and re-creates the same name hits this intermittently
MissingSubscriptionRegistration / NoRegisteredProviderFound / LocationNotAvailableForResourceTypeMicrosoft.Network not registered, or the region doesn't offer it (reference/arm/errors.md)
A message about a limit, quota or maximum number of private endpointsAbout 1,000 endpoints per VNet without High Scale, or a subscription/regional cap. Count them before adding
AuthorizationFailed citing Microsoft.Network/privateEndpoints/writeGrant Network Contributor on the endpoint's resource group
AuthorizationFailed citing Microsoft.Network/virtualNetworks/subnets/join/actionYou can read the subnet but not join it: Network Contributor (or a custom role) on the VNet
AuthorizationFailed citing Microsoft.Network/privateDnsZones/A/write or …/virtualNetworkLinks/writePrivate DNS Zone Contributor on the zone (and Network Contributor on the linked VNet) for the zone group
LinkedAuthorizationFailed citing */PrivateEndpointConnectionsApproval/actionYou asked for auto-approval without approve rights on the target. Request a manual connection instead, or get the target's contributor role
Endpoint Succeeded but connection PendingThe target owner must approve (az network private-endpoint-connection approve --id <connection-id>), signed in to the target's tenant. Service-managed endpoints (Front Door Premium, managed VNets) always wait for this

Role changes take 5–10 minutes; then retry.

DNS and access through the endpoint

SymptomCause → fix
nslookup <name> from the VNet returns a public IPThe client VNet isn't linked to the privatelink. zone, the zone has no or a wrong A record, or a custom DNS server doesn't forward to 168.63.129.16 (reference/networking/private-endpoints-and-dns.md)
** server can't find <name>: NXDOMAIN inside the VNet onlyA linked privatelink zone is authoritative but has no record for that name; add it via a zone group, or set the link's resolutionPolicy: NxDomainRedirect. Also check stale negative caching and AAAA lookups
Storage 403 This request is not authorized to perform this operation. from inside the VNetUsually DNS sent the call to the public endpoint while the account denies public access. Fix DNS first, then data roles (reference/storage/access-errors.md)
Key Vault 403 Public access is disabled and the request was not made from a trusted service or via an approved private link. or This TCP connection does not allow access to vault.azure.net on port 443Same pattern for Key Vault (reference/keyvault/access-and-errors.md)
DNS resolves privately but connections time outConnection Pending or Rejected, an NSG on the source subnet, a missing peering, or a web app without VNet integration and route-all. A UDR doesn't catch endpoint traffic unless network policies are enabled (reference/networking/nsgs-and-routes.md)

Deleting zones and endpoints

SymptomCause → fix
ScopeLocked, "cannot perform delete operation because following scope(s) are locked"A CanNotDelete or ReadOnly lock at the resource, group or subscription. Remove it, and check that a pipeline or DeployIfNotExists policy doesn't re-create it
InUseLinkedDnsZone, or a virtualNetworkLinks reference error after the links look goneA ghost link: its VNet no longer exists, or it's Failed or Disconnected. Delete the link resource itself: az network private-dns link vnet list -g <rg> -z <zone> -o table, then … link vnet delete

Read this document as markdown — the same bytes an agent receives.