An Azure service that provides a general-purpose, serverless container platform.
Thank you for reaching out to Microsoft Q&A.
This issue occurs because when a custom DNS server is configured at the Virtual Network level used by Azure Container Apps, Azure no longer automatically uses its built‑in platform DNS for name resolution. Azure Container Apps rely on Azure DNS to resolve critical service endpoints such as Azure Storage account FQDNs and Private Endpoint records. If the custom DNS server is not properly configured to resolve or forward these Azure‑specific domains, DNS resolution for endpoints like <storage-account>.table.core.windows.net fails, resulting in transient connectivity errors such as “Resource temporarily unavailable”. This is why the setup works with Azure default DNS but breaks immediately after switching to custom DNS.
Refer below points to resolve this issue or this is the workaround:
Configure DNS forwarding to Azure Platform DNS (mandatory)
When using custom DNS servers, ensure that they forward unresolved DNS queries to the Azure recursive resolver IP:
168.63.129.16
This is required so Azure service FQDNs (including Storage Accounts and Private Endpoints) can be resolved correctly from within the Container Apps environment.
Ensure Private DNS zone for Storage Account is configured correctly
If the Storage Account uses a Private Endpoint, verify that the following Private DNS zone exists and is correctly linked to the VNet used by Azure Container Apps:
-
privatelink.table.core.windows.netMake sure the A‑record for<storage-account>points to the Private Endpoint’s private IP address and there are no stale or duplicate DNS records.
Do not mix Azure DNS and custom DNS IPs in VNet DNS settings Avoid configuring both custom DNS IPs and 168.63.129.16 directly in the VNet DNS server list. Mixing them can cause inconsistent DNS resolution because requests may randomly hit different upstream resolvers. Use only custom DNS servers and handle Azure DNS resolution through forwarding.
Allow Azure Platform DNS traffic (Consumption plan specific) For Azure Container Apps running on the Consumption plan, network security rules must allow traffic to Azure Platform DNS (168.63.129.16). Blocking this IP or the AzurePlatformDNS service tag can break internal resolution even if custom DNS is configured.
Validate DNS resolution from the container
From a container console inside the Container App, validate name resolution:
nslookup <storage-account>.table.core.windows.net
nslookup <storage-account>.privatelink.table.core.windows.net
Both should resolve to the expected private IP address.