Azure Load Balancer operates at layer four of the Open Systems Interconnection (OSI) model. It’s the single point of contact for clients. Load Balancer distributes inbound flows that arrive at the load balancer’s front end to backend pool instances. These flows are according to configured load balancing rules and health probes. The backend pool instances can be Azure Virtual Machines or instances in a virtual machine scale set.
The above is taken from ms-docs and it has some terms that you need to understand for better understanding the working of a Load Balancer.
Front End: It is basically the front facing IP address we have allocated to the Load Balancer. It is going to be either a public IP or private IP. And based on the type of IP we have allocated it, the load will be either a Public (PIP one) Load Balancer or Internal (Private IP) Load Balancer.
Backend Pool: They are the set of VMs. These VMs could be from the same availability set (Basic Load Balancer) or VMs in different availability sets or VMs(Standard Load Balancer)
Health Probe: It is something which pings the server, at defined Interval, and based upon the ping result the decision is made for the new flow of connection.
Creating a Load Balancer:
You can see above that as soon as we choose the Internal Type for LB, the option for Public IP address is replaced by Private address.
Once we have the LB we are required to create the Backend pool as below.
We have to create the Health Probe which lets LB makes the decision about the server that will have the new flow.
Once we have got the Backend Pool created only then we can create the Load Balancing rule.
Now once you have set everything like above, you need to make the application connect on the PIP/ Private IP of the Load Balancer and the Load Balancer will decide the VM your connection will be directed to.