AWS recently announced a new Load Balancer called as Network Load Balancer(NLB). It operates at OSI Layer 4(Transport) that can handle millions of requests per second while maintaining high throughput at ultra-low latency. Let’s look at its feature set to understand how you can utilize it.
- Static IP Addresses:
- Zonal Isolation:
- Source/Remote Address Preservation:
- Long Lived TCP Connections:
- Support for Route53 DNS Fail Over:
- Reduced Bandwidth Usage:
- Load Balancing to multiple ports on the same instance:
Each Network Load Balancer provides a single IP address for each Availability Zone. classNameic Load Balancer used to provide a URL endpoint which you were mapping with CNAME DNS Record to create a subdomain. The greatest advantage is when you need to whitelist your application within a firewall of a customer or partner, you can easily do so now. classNameic Load Balancer posed a limitation here. You can also use Elastic IP to assign fixed IP address for each Availability Zone.
The Network Load Balancer can be used for applications architectures lying with a Single Zone. This gives you a great flexibility in isolating application that shall work within particular Availability Zone. If something in that particular Availability Zone fails, AWS will automatically switch-over the traffic to other healthy Availability Zones.
With Network Load Balancer, the original source IP address and source ports for the incoming connections remain unmodified. Earlier you were needed to get your remote address in application from HTTP header X-Forwarded-For. It has eased a major boilerplate handling the applications earlier needed to have.
Network Load Balancer supports long-running TCP connections that can be open for months or years making it ideal for WebSocket type of Applications. This is great news for IoT, Gaming, Messaging and AdTech Applications.
Many times, we have noticed that there are geo catastrophes which might disrupt your business. Route53 was a solution aimed at solving this issue. Nothing is truly fault-tolerant. Route53 is a Geo DNS service provided by AWS using which you can prepare for natural catastrophes, physical failures making your application fault tolerant across all AWS Geographies. This can also help in reducing latency by routing the traffic to nearest Availability Zone. Route53 Integration with Network Load Balancer is a great news for an organization who need 24×7 high availability. In the event that your Network load balancer is unresponsive, integration with Route 53 will remove the unavailable load balancer IP address from service and direct traffic to an alternate Network Load Balancer in another region. It also will provide DNS failover in case there is no healthy node in particular zone.
AWS in its announcement has notified that most applications should see a cost reduction (for load balancing) of about 25% when compared to Application or Classic Load Balancers. This is a great news for companies which have high bandwidth usage.
Network Load Balancer can support routing to multiple ports on the same instance.
- No SSL offloading:
- No Sticky Sessions or Configurable idle connection timeout:
The only major disadvantage that we could notice is that Network Load Balancer does not support SSL offloading by its very nature of being OSI Layer 4 Load Balancer. SSL Offloading is supported by other OSI Layer 7 compliant Load Balancers such as Application Load Balancer or classNameic Load Balancer.
This is another disadvantage of being OSI Layer 4 Load Balancer.