Summary
On 2026-08-04, a VNet-integrated Azure Container Apps (ACA) managed environment in Japan East intermittently failed to pull images from a Premium Azure Container Registry (ACR), also in Japan East.
This was broader than one database-initialisation job. ACA system logs contain 110 TCP-timeout image-pull failure records across 25 replicas, 10 workloads, and 7 image references, in two bursts:
UTC windowFailure recordsReplicasWorkloadsImages00:02:33–01:06:493386405:19:15–at least 06:29:50771763The affected resources comprised seven Container Apps and three ACA Jobs. The counts above are ContainerAppSystemLogs records, not necessarily unique deployments. For one database-initialisation job, six separate executions failed and each replica logged two pull attempts before orchestration stopped it.
Environment and network path
- Azure region: Japan East
- Source: VNet-integrated ACA managed environment using internal ingress
- Egress: default route through Azure Firewall
- Destination: public Premium ACR endpoint in the same region
- Registry hostname, destination IP, image paths, resource names, and Azure identifiers: redacted from this public post
Representative sanitised ACA system-log error:
Failed to pull image "[redacted-registry].azurecr.io/[redacted-image]:[redacted-tag]":
rpc error: code = DeadlineExceeded desc = failed to pull and unpack image ...
failed to resolve image: failed to do request:
Head "https://[redacted-registry].azurecr.io/v2/[redacted-image]/manifests/[redacted-tag]":
dial tcp [redacted ACR endpoint IP]:443: i/o timeout
This was followed by ErrImagePull. All included records had the same failure class: a TCP connection timeout to the ACR HTTPS endpoint while resolving a manifest.
Expected behaviour
ACA should establish HTTPS connectivity to ACR and pull an existing, authorised image during app revision deployment or job replica startup. A transient failure should be retried sufficiently, or expose a supported retry/backoff control that can ride through a regional/path interruption of this duration.
Actual behaviour
Pulls intermittently timed out before an HTTP response was received. The same registry endpoint was involved repeatedly. Six bounded retries of one idempotent job over approximately ten minutes did not ride through the incident.
Application-level retry is possible for idempotent jobs after a failed execution, but it does not help Container App revision deployment and did not cover the full interruption. We do not want to introduce a second image-mirroring workflow as the primary reliability workaround.
Observed facts:
- The referenced manifests existed in ACR before the failures.
- The included failures were not manifest unknown, unauthorised, or access denied; the observed failure was a TCP timeout before an HTTP response.
- ACR repository audit data in the correlation windows contains 952 successful Pull HTTP 200 events and no non-200 repository pull event matching these timeouts.
- Some pulls, including some of the same tags, succeeded during overlapping periods, so the registry was not universally unavailable.
- Azure Firewall application-rule logs for the relevant ACR FQDNs show Allow actions.
- Firewall DNS-proxy queries were NOERROR.
- Firewall health was 100%, and observed SNAT utilisation peaked at approximately 2%.
- No relevant Azure control-plane changes were found during the incident windows.
- A separate set of 22 authentication-related image-pull records was excluded from the 110 TCP-timeout records because it is a different failure mode.
The ACR audit result is consistent with the failed TCP connections not reaching the registry HTTP layer, but that is an inference rather than proof of the failing network segment. Likewise, an Azure Firewall Allow record may show policy evaluation rather than a completed upstream TCP connection.
Questions for Microsoft
- Was there a known or reconstructable Japan East incident affecting ACA managed-environment egress, ACR front ends, Azure Firewall upstream connectivity, or the regional network during 00:02–01:07 UTC and 05:19–at least 06:30 UTC on 2026-08-04?
- What supported diagnostics can correlate an ACA pre-start image pull with the managed node/source IP, Azure Firewall flow, and the selected ACR front end? ACA exposes the destination timeout, but not enough hop-level detail to identify where the SYN/handshake was lost.
- For an Azure Firewall application-rule Allow event, does it represent only policy evaluation, or also a successfully established upstream TCP/TLS connection?
- Is there a supported way to configure retry count/backoff for ACA pre-start image pulls for both Container Apps revisions and ACA Jobs? If not, what Microsoft-supported mitigation is recommended for intermittent ACA-to-ACR data-plane failures?
- What Azure Monitor signal or alerting pattern is recommended for detecting this failure class across all apps and jobs in a managed environment?
We are not attributing the root cause to Microsoft infrastructure based on the available evidence. The proven symptom is an intermittent TCP connection timeout from ACA image-pull activity to the ACR endpoint; the exact loss segment remains undetermined.