Azure – Networking – Part 22 – Azure Load Balancer – Overview
First of all, Thank you so much for your useful comments and questions on our last topic. In our last article Part 21 – Azure Route Table 2 – Configure User Define Route (UDR), we have discussed about, how to configure a User Define Route Table (UDR). Today in this article, we will start with a very important topic Azure Load Balancer. So let’s start :).
Tool Installation Articles :
- Configure Azure Command Line Interface ( Azure CLI) On Windows
- Configure PowerShell For Microsoft Azure Az Module On Windows
Previous Azure Series :
- Learn Basics Of Microsoft Azure Storage services
- Learn Basic Of Azure Active Directory And Azure Identity And Access Management
- Azure DevOps – Learn at one place
If you have missed our previous articles on Azure Networking, please check it in following links.
Azure Load Balancer :
An Azure load balancer is used to distribute incoming traffic to backend virtual machines or virtual machine scale sets . By defining our own load balancing rules, we can use a load balancer in a more flexible way. Load balancer distributes inbound flows that arrive at the load balancer’s front end to backend pool instances. It operates at layer 4 of the Open Systems Interconnection (OSI) model.
Types Of Load Balancer :
In Azure, we can create two types of the load balancer as per our requirement.
- Public Load Balancer – Public Load Balancers are used, to load balance internet traffic to our VMs. It can provide outbound connections for virtual machines (VMs) inside your virtual network.
- Internal (Private) Load Balancer – Internal load balancers are used to load balance traffic inside a virtual network. A load balancer frontend can be accessed from an on-premises network in a hybrid scenario or that use a VPN to access Azure infrastructure. Frontend IP addresses and virtual networks are never directly exposed to an internet endpoint. For example, an internal load balancer could receive database requests that need to be distributed to backend SQL servers.
SKUs Of Load Balancer :
Azure Load Balancer provides following 3 different types of SKUs. Each SKU is catered towards a specific scenario and have differences in scale, features, and pricing.
- Basic – Equipped for small-scale applications that don’t need high availability or redundancy. Not compatible with availability zones.
- Standard – Equipped for load-balancing network layer traffic when high performance and ultra-low latency is needed. Routes traffic within and across regions, and to availability zones for high resiliency.
- Gateway – This catered for third-party network virtual appliances (NVAs) currently in preview.
As per the Microsoft find following comparison, I copied from MS documentation.
Component of Azure Load Balancer :
- Front-end IP configuration: It is the IP address to which the incoming traffic will initially come to, and Azure load balancer can have one or more front end IP addresses. They are sometimes also called as virtual IPs. These IP addresses can be either:
- Public IP Address
- Private IP Address
- Back-end address pool: These are the pool of virtual machines or instances in a virtual machine scale set that is serving the incoming request.
- Load balancing rules: A load balancing rule is simply a mapping between the front end IP configuration and back-end address pool. A load-balancing rule maps a given frontend IP configuration and port to multiple backend IP addresses and ports.
- Health Probes: Probes enable us to keep track of the health of VM instances. If a health probe fails, the VM instance will be taken out of rotation automatically and re-added to the rotation once it is considered as healthy.
- Inbound & Outbound NAT rules: NAT rules defining the inbound traffic flowing through the front end IP and distributes to the backend IP. Outbound rules will transmit VM private IP to load balancer public IP.
Features Of Azure Load Balancer :
- Load Balancing : Azure load balancer uses a 5-tuple hash composed of source IP, source port, destination IP, destination port, and protocol. We can configure a load balancing role within the load balancer in such a way based on the source port and source IP address from where the traffic is originating.
- Port forwarding : Load balancer also has port forwarding capability if we have a pool of web servers, and we don’t want to associate public IP address for each web server in that pool. If we’re going to carry out any maintenance activities, you need to RDP into those Web servers having a public IP address on that web servers.
- Application agnostic and transparent : Load balancer doesn’t directly interact with TCP or UDP or the application layer. We can route the traffic based on URL or multi-site hosting, and then we can go for the application gateway.
- Automatic reconfiguration : Load balancer can reconfigure itself when we scale up or down instances. So, if we are adding more virtual machines into the backend pool, automatically load balancer will reconfigure.
- Health probes : As we discussed earlier, the load balancer can recognize any failed virtual machines in the backend pool and stop routing the traffic to that particular failed virtual machine. It will recognize using health probes we can configure a health probe to determine the health of the instances in the backend pool.
- Outbound connection : All the outbound flows from a private IP address inside our virtual network to public IP addresses on the Internet can be translated to a frontend IP of the load balancer.
With the above information, I am concluding this article. I hope this is informative to you. Please let me know if I missed anything important or if my understanding is not up to the mark. Keep reading, share your thoughts, experiences. Feel free to contact us to discuss more. In our next article we will continue with the Lab exercise.
If you have any suggestion / feedback / doubt, you are most welcome. Stay tuned on Knowledge-Junction, will come up with more such articles.
Thanks for reading 🙂 .