2
votes

We are trying to create custom probes for LoadBalanced sets in Windows Azure. We created a Windows Communication Foundation service probe, which is listening to port 1001 (added an inbound rule for this port in Firewall - TCP, allow connection for everyone).

This service will return a 200 (OK) if some conditions are met, otherwise it will return 404 (NotFound).

The endpoint is configured:

Protocol - TCP
Public Port - 50655
Private Port - 50655

we configured in the LoadBalanced Set properties:

Probe Protocol - HTTP
Probe Path - probe
Probe Port - 1001
Probe interval - 15
Number of Probes - 2    

The problem is that even if the probe service is returning 404 for a VM, the load balancer is still choosing this VM to process a request.

If we configure the endpoints to have private and public port 1001 (the same as the probe port) it is working as expected. But we need to have the endpoints listening to port 50655. How can we achieve this?

1

1 Answers

0
votes

I notice that you configured your endpoint as type TCP instead of HTTP. I think that is the problem!

Think logically and you'll see the consequence is the load balancer can not fairly assume it should see an HTTP 200 success to verify the endpoint is up - because it doesn't even know if it will get an HTTP response at all!

So instead it will fall back to doing the TCP style 'are you up' test, which is to send a SYN to your port, and check that it gets an ACK back.