Azure Container Apps environment fails during ManagedCluster initialization with UDR and Azure Firewall

Stas Popov 0 Reputation points
2026-11-08T00:41:50.0866667+00:00

An isolated Azure Container Apps workload-profile environment in West Europe failed during provisioning. It used a Consumption workload profile, a dedicated delegated subnet and a user-defined default route through Azure Firewall. The network and firewall deployment operations succeeded; the managed environment progressed from Waiting to Failed.

The provider error was ManagedEnvironmentProvisioningError. The failed activity-log event reported: "Error when initializing components on ManagedCluster". The retained records do not identify a component, failed destination or underlying cause. Application qualification never started.

We compared the reviewed configuration with Microsoft's Container Apps/Azure Firewall guidance: https://learn.microsoft.com/en-us/azure/container-apps/use-azure-firewall

The four documented general bootstrap FQDNs are present in the allow rules: mcr.microsoft.com, *.data.mcr.microsoft.com, packages.aks.azure.com and acs-mirror.azureedge.net. Registry/login and managed-identity dependencies were also included. One deliberate restriction is that the ACR Blob allowance is a pinned regional Blob hostname, rather than the documented *.blob.core.windows.net wildcard. There is no retained evidence that attributes the failure to that restriction.

A prior attempt with the same reviewed ARM bodies reached application qualification, but this does not prove the later failure was transient or service-side.

The failed temporary environment and network have since been deleted. A subsequent GET of its environment-diagnostics endpoint returned 404 ResourceGroupNotFound. We have retained the original error and activity records privately. We have not recreated the environment, broadened outbound access or retried the failed deployment.

What supported diagnostic evidence can distinguish a required outbound bootstrap dependency failure from a service-side managed-cluster initialization failure in this situation, especially after the failed environment has been deleted? We want to identify a specific cause before approving another isolated attempt or changing the egress policy.

Azure Container Apps
Azure Container Apps

An Azure service that provides a general-purpose, serverless container platform.


1 answer

Sort by: Most helpful
  1. Rukshan edirisinghe 2,445 Reputation points
    2026-11-09T06:21:36.9833333+00:00

    Hi @Stas Popov

    To answer your main question directly: the evidence that separates "blocked bootstrap dependency" from "platform failure" is the firewall's own deny log. The Container Apps error itself won't name the destination, but Azure Firewall records every denied flow. Since you've deleted the environment, that log is only useful on the next attempt, so it's worth setting up before you retry:

    1. Enable structured firewall logs. On the firewall, add a diagnostic setting that sends Azure Firewall Application Rule, Network Rule and DNS proxy logs to Log Analytics in resource-specific mode.
    2. Redeploy the environment once, unchanged. Then query the application and network rule log tables (AZFWApplicationRule and AZFWNetworkRule) for Deny actions from the Container Apps subnet's address range during the deployment window.
    3. Read the result. If denies show up, they name the exact FQDN or IP and port the bootstrap needed, which is documented proof of a missing dependency. If there are no denies and it still fails with ManagedEnvironmentProvisioningError, you have solid evidence of a service-side problem to take to support.

    On your one known deviation: Microsoft's Container Apps firewall guide lists *.blob.core.windows.net as a wildcard. Pinning a single regional Blob hostname is the most likely candidate, because platform components can pull from storage accounts other than your ACR's. If you need to keep it narrow, let the deny log tell you which extra Blob hostnames were requested rather than guessing.

    Do you want to keep the Blob rule pinned for compliance reasons, or is the wildcard acceptable if the logs show it's needed?

    If the deny log identifies the blocked dependency, please consider accepting it as the answer. If it shows no denies, let me know and I'll be happy to keep helping.

    Reference:

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.