Search code examples
azureazure-traffic-managerazure-load-balancer

Azure load balancer - balance on-premises servers


I have at home 3 servers that host 3 websites (on-premises).

Is it possible for Azure load balancer to load balance between my sites and enable http2.0?

I cannot find info on http 2.0


Solution

  • It's not possible. The Azure load balancer is used to balance traffic between Azure VMs only and more specifically Azure VMs in the same availability set and Scale sets. Also, the Azure VMs are within the same Azure region. You can see the response from Azure networking team about the feedback of Load Balancer support for on-premise VMs.

    You may consider that Azure traffic manager is the solution you can have endpoints which include on-premise services. But Traffic Manager endpoint should be any internet facing service hosted inside or outside of Azure. Refer to this.

    If you have endpoints that are inside a private network, Traffic manager cannot be used for that traffic.

    Another option would be Azure Application gateway which is a layer 7 solution that can front services regardless of the region/on-premises. Refer to this.

    Application Gateway can talk to instances outside of the virtual network that it is in as long as there is IP connectivity. If you plan to use internal IPs as backend pool members, then it requires VNET Peering or VPN Gateway.

    Update

    Add the http2.0 info per this doc.

    HTTP/2 protocol support is available to clients connecting to Application Gateway listeners only. The communication to backend server pools is over HTTP/1.1.

    By default, HTTP/2 support is disabled. The following Azure PowerShell code snippet example shows how you can enable it:

     $gw = Get-AzureRmApplicationGateway -Name test -ResourceGroupName hm
     $gw.EnableHttp2 = $true
     Set-AzureRmApplicationGateway -ApplicationGateway $gw