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.