I've got 2 Ubuntu VMs on Azure (classic VMs on old management panel.) I created both of the under the same Cloud Service. I also created a load balanced endpoint 80 (public) to 80 (private) with both machines having this endpoint, protocol HTTP and probe path /probe.

When I browse to the IP of the cloudservice with both of the VMs running I get the response I am expecting.

If I shut down VM 2 and keep VM 1 running it still works, but when I shut down VM 1 and leave VM 2 I get a connection failure in the browser.

I've played around and VM2 is never getting any traffic directed to it. I have an endpoint on my app /probe which returns a non-cacheable response of status 200 for the Load Balancer probes. I tried testing them on the VMs by calling

wget localhost/probe

I tried this on both machines and get the correct output only when VM1 is running. When VM 1 is off and I run this command on VM 2 it fails to connect to the address. I think this is where the issue lies but can't figure out how to fix it.


I added logging to the applications and it only ever seems to be probing the first virtual machine.


I had to add a Load Balanced endpoint on both virtual machines in the Azure Management Panel. Very silly mistake .

Also each virtual machine needs to have a valid endpoint, for me it was <address>/healthcheck. All this endpoint needs to do is always return a non-cache-able response with status 200. Nothing else is needed, Azure Internal Load balancer handles the rest.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.