I have two VMs in the backend pool of the load balancer. I have set up the health probe to probe port 80. The network security groups on both VMs allow 80 from any source and any protocol. I've also setup NAT rules for SSH to both VMs, and I can SSH normally. I can load port 80 by connecting to the individual IP's of both VMs.
Loading the load balancer IP (or URL) just leaves me hanging, the traffic doesn't hit my VMs at all.
I followed this tutorial to setup the Azure LB: https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-get-started-internet-portal
What could be the issue?
According to your description, we should check LB Backend pools settings and Health probes settings.
1.Check backend pools:
After we add VMs to backend pool successfully, we can find them via Azure portal, like this:
2.Check LB health probe settings:
If we have not configure the health status in web server(Linux), we should use default settings, like this:
By the way, we can enable logging in Diagnostics logs for Azure load balancer, we can follow this article to enable it.
We will see the Health probe log like this(example):
{
"records":[
{
"time": "2016-01-26T10:37:46.6024215Z",
"systemId": "32077926-b9c4-42fb-94c1-762e528b5b27",
"category": "LoadBalancerProbeHealthStatus",
"resourceId": "/SUBSCRIPTIONS/XXXXXXXXXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX/RESOURCEGROUPS/RG7/PROVIDERS/MICROSOFT.NETWORK/LOADBALANCERS/WWEBLB",
"operationName": "LoadBalancerProbeHealthStatus",
"properties": {
"publicIpAddress": "40.83.190.158",
"port": "81",
"totalDipCount": 2,
"dipDownCount": 1,
"healthPercentage": 50.000000
}
},
{
"time": "2016-01-26T10:37:46.6024215Z",
"systemId": "32077926-b9c4-42fb-94c1-762e528b5b27",
"category": "LoadBalancerProbeHealthStatus",
"resourceId": "/SUBSCRIPTIONS/XXXXXXXXXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX/RESOURCEGROUPS/RG7/PROVIDERS/MICROSOFT.NETWORK/LOADBALANCERS/WWEBLB",
"operationName": "LoadBalancerProbeHealthStatus",
"properties": {
"publicIpAddress": "40.83.190.158",
"port": "81",
"totalDipCount": 2,
"dipDownCount": 0,
"healthPercentage": 100.000000
}
}]
}
Update:
When we add LB backend pool, we should select VM NIC, like this: