An Apache Spark-based analytics platform optimized for Azure.
The change from STORAGE_DOWNLOAD_FAILURE_SLOW to NPIP_TUNNEL_SETUP_FAILURE is useful evidence. It suggests that the storage path improved after the network change, but the updated configuration still does not provide reliable connectivity to the Secure Cluster Connectivity relay.
Rather than troubleshooting both errors independently, compare the effective network path before and after the change:
Review the exact network change
Check whether the change modified a user-defined route, firewall policy, NAT configuration, proxy, DNS forwarding rule or NSG association. Pay particular attention to any default route such as 0.0.0.0/0 that now directs Databricks subnet traffic through a firewall or network virtual appliance.
Validate the effective route and security rules
On a failed cluster VM network interface, inspect:
- Effective routes
- Effective NSG rules
- Next hop for internet-bound traffic
- Whether the same configuration is applied to both Databricks subnets
- Next hop for internet-bound traffic
- Effective NSG rules
- Allow the regional SCC relay by FQDN Secure Cluster Connectivity is established as an outbound connection from the classic compute plane to the regional SCC relay. Use the relay FQDN listed for the workspace region and avoid restricting access to a single resolved IP address, because the addresses behind the relay FQDN can change. Microsoft recommends the
AzureDatabricksservice tag where service tags are supported. Check TLS inspection and proxy handling If HTTPS inspection or an explicit proxy is present, temporarily bypass inspection for the Databricks SCC relay and required artifact-storage endpoints. A TCP connection may succeed while tunnel establishment still times out because TLS interception, certificate substitution or proxy session handling disrupts the long-lived relay connection. Check outbound SNAT capacity If traffic passes through Azure Firewall, NAT Gateway or another network appliance, review SNAT port utilisation and connection metrics during cluster startup. Exhausted or heavily utilised SNAT capacity can produce intermittent downloads followed by tunnel timeouts, especially when multiple cluster nodes start concurrently. Correlate the failure with network logs Use the cluster event timestamp to filter Azure Firewall, NSG flow or network-appliance logs. Look for denied, reset or repeatedly retried connections to the regional SCC relay. This is more useful than reviewing general logs because it identifies the component interrupting the bootstrap connection.
After correcting the network path, start a small single-node cluster first. If that succeeds consistently but a larger cluster fails, investigate firewall throughput, SNAT capacity or concurrent-connection limits rather than endpoint allowlisting alone.
Relevant documentation:
- Classic compute termination error codes
- Secure cluster connectivity
- Azure Databricks regional IP addresses and domains
Help make this community better for everyone: if this answer resolved your issue, please accept it or leave an upvote. If not, share more details in a comment so we can continue the discussion and find the right solution