Azure private endpoint doesn't work with Azure firewall

Van Huy Tuyen 40 Reputation points
2025-10-06T12:31:27.12+00:00

Dear team

I have network topology

  1. Hub vnet: 10.150.0.0/20
    • Azure firewall subnet with private IP: 10.150.0/4
    • Azure firewall management subnet
    • Gateway subnet
    • Peering with DB vnet
    • UDR with route table 1 (RT1): 10.160.18.0/23 via next hop 10.150.0/4, associate to Gateway subnet, Propagate gateway routes = YES
    2.Spoke VNet (DB vnet): 10.160.18.0/23
    • Azure SQL private endpoint subnet: 10.160.18.0/26
    • Network Policy for Private Endpoints: Route table
    • Peering with Hub vnet
    • UDR with route table 2 (RT2): 0.0.0.0/0 via next hop 10.150.0/4, associate to Azure SQL private endpoint subnet, Propagate gateway routes = NO
      1. On-premises subnet: 10.147.0.0/16

On Firewall, I create allowed rule from On-premises to Azure SQL private endpoint subnet, allowed port = 3389/TCP

On Azure SQL private endpoint subnet, I create:

  • Azure VM
  • Private endpoint NIC for Azure SQL

The result.

  • I can connect to VM via 3389/TCP -> It's correct
  • I still can connect to Private endpoint NIC for Azure SQL via 1433 -> I think it's incorrect, because I don't allow it via Firewall.

-> So I think in this case, traffic from on-premises to Azure SQL private endpoint doesn't go through Azure firewall.

Please support me what I wrong.

Thanks!

Azure Firewall
Azure Firewall
An Azure network security service that is used to protect Azure Virtual Network resources.
{count} votes

1 answer

Sort by: Most helpful
  1. Priya ranjan Jena 1,990 Reputation points Microsoft External Staff Moderator
    2025-10-06T14:09:04.43+00:00

    Hi Van Huy Tuyen,

    Thank you for reaching out to the Microsoft Q&A forum.

    You are suspecting that the traffic to the Azure SQL Private Endpoint is not traversing the Azure Firewall.

    This might happens because of

    Private Endpoint behavior

    • A Private Endpoint creates a direct network interface in your VNet for the PaaS resource (Azure SQL in this case).
    • When you connect to the SQL Database using its private IP, the traffic stays within the VNet and uses Azure’s backbone. It does not route through the firewall unless explicitly forced.

    Peering and system routes

    • VNet peering allows direct communication between VNets without passing through the firewall unless you configure forced tunneling or disable default system routes.

    To block the Azure SQL private endpoint NIC on port 1433, which you expected to be , you can ensure some of the below steps:

    Network Security Group (NSG) Rules: Make sure that there are no overlapping NSG rules that might be allowing traffic to reach the Azure SQL private endpoint. Sometimes NSG rules can override firewall rules.

    Private Endpoint Configuration: Verify that the private endpoint for the Azure SQL Database is correctly configured and that the DNS settings for the private link are resolving to the private IP address.

    Firewall Rules: Please check the rules in the Azure Firewall because its possible that there may be an explicit allow rule for traffic to your Azure SQL instance that is overriding the rules you set. Make sure that you have logging enabled on the Azure Firewall to see what traffic is being allowed or denied.

    Routing: Since you're using User-Defined Routes (UDRs), ensure that the routes are correctly directing the traffic through the Azure Firewall.

    Endpoint Type:Private endpoints always associates with a private IP address in your VNet. Make sure that any default connections to the public IP of your SQL Database are not inadvertently enabled, which could leads the connectivity on port 1433.

    Testing Connectivity: Use tools like telnet or Test-NetConnection in PowerShell from your on-premises environment to see if you can explicitly reach the IP address of the private endpoint on port 1433 and check what the firewall logging says at that time.

    Hope you find this comment helpful, if yes, please “up-vote” for the information provided , this can be beneficial to community members.

    Kindly let us know if you have any additional questions.

    Thanks

    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.