I have three Azure VMs in an availability set which is the target of an ALB which has a public IP address, the intention being to use SNAT so they have a predictable outbound IP. Each VM is behaving as though it is a standard non-load balanced VM with no instance-level public IP. The documentation states;

The Load Balancer resource must be configured with a rule to link the public IP frontend with the backend pool. If you do not complete this configuration, the behavior is as described in the preceding section for Standalone VM with no Instance Level Public IP.

What is this rule? Is it not enough to have the public IP on the load balancer and the VMs in the targeted availability set? Can someone explain where this rule is created?


OK, turns out this is vague for a reason - despite the fact I only want the ALB for outbound SNAT, it only works if you create (literally any) inbound load balancer rule and associated health check. Once I did that, my instances are sending traffic out the ALB with the correct source IP.

  • Yes, this is correct. The IP will not get associated with the LB until it has some sort of inbound rule. If it does not Azure see's this LB as not actually doing anything and does not assign the IP. Not great really, but that is how it works. – Sam Cogan Dec 4 '17 at 18:03

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.