AWS Elastic Load Balancer (ELB) is a load balancer service that automatically distributes incoming application traffic across multiple Amazon EC2 instances. Ever since AWS was launched, it has some basic standard features like High Availability, Elasticity, Security, Auto Scaling Support, etc.
AWS ELB has become the de facto and most used standard load balancer for CMS, e-commerce and web portal applications. Amazon is adding more and more features to make the ELB as a standard Load balancer service in AWS. Over the last six months, Amazon has added some great new features to ELB, which makes it even more powerful.
Here are some of the best new features recently added in AWS ELB. These features help users to manage their application and ELB in a better way.
Cross-Zone Load Balancing
Before Cross-Zone Load Balancing, ELB used to rely on DNS to distribute the traffic from clients to the Availability Zones and then to the back-end instances. Because of this, users might see some instances receiving a higher amount of inbound requests than others, while they were caching DNS information. In addition, ELB distributes the traffic evenly to the Availability Zones and this could result in the service disruption or performance degradation when a user runs a few instances in one zone than the other.
If you enable cross-zone load balancing, you no longer have to worry about the clients caching DNS information and equal instances in each Availability Zone. ELB ensures that requests are distributed to the back-end instances equally regardless of which zones the instances were located.
When you deregister an instance manually or via Auto Scaling, it stops sending any new request to that instance and existing connections in that instance will be lost and users will experience an abrupt behavior. To address this issue, ELB has added a new feature called Connection Draining.
Connection Draining is the process of serving the existing connections on a deregistered instance for the duration of the configured timeout. When an Instance is removed from the ELB for maintenance, termination or etc, it will not allow any new requests to the instance. With this feature, end users will not see any abrupt behavior while deregistering an instance from the ELB.
ELB Access Logs
Till now, ELB is a black box and ELB logs were inaccessible to analyze and diagnose the issues at ELB level or back-end instances. So, to debug any issue you need to contact the Amazon support.
Recently, Amazon has introduced the ELB Access Logs, that allow users to store in S3 buckets. Furthermore, users can process those Logs using some standard third-party tools like Splunk Storm, Logstash and Sumo Logic or you can write your own log parser as well. As you store the data in S3 bucket, users can apply the retention policies to the S3 bucket to clean the ELB logs depending on their requirements. These logs help a user to understand the request-response between users to ELB to Instances, debug, analyze and diagnose the issues at instance level, zone Level, and in fact at ELB Level.
ELB DNS Failover with Route 53
Route53 supports ELB DNS Failover. With this feature, users can create multiple record sets for the same domain from multiple regions with different ELBs. While creating the record set, use Alias: Yes, Routing Policy: Failover/Latency and Evaluate Target Health: Yes. This brings the high availability of application with ELB support.
ELB Security Enhancements
Security and Privacy is everyone’s priority and it is becoming extremely important to manage secure communication for your applications. ELB is already having an SSL termination and ELB Security Policy. Along with this, ELB recently added the 3 more new security enhancements: Perfect Forward Secrecy, Server Order Preference, and new predefined security policy, in order to enhance the ELB security of the application traffic.