Skip to content

Home

This section provides best practices related to reliability and covers both Application Load Balancer (ALB) and Network Load Balancer (NLB).

How to use this guide

This guide is meant to provide generic best practices for architects, developers and engineers responsible for designing, deploying and operating a system that leverage Amazon Elastic Load Balancer (ELB) for traffic distribution.

This guide covers two types of Elastic Load Balancing services: Application Load Balancer (ALB) and Network Load Balancer (NLB). Unless stated otherwise in a specific section, the best practice are applicable to both. We may sometimes use term 'ELB' (Elastic Load Balancing) to refer collectively to both ALB and NLB.

Each topic presents a brief overview, followed by recommendations and best practices. Topics can be read in any order order and it's essential to test and validate recommendations to ensure they align with your specific requirements.

Reliability Overview

Reliability is one of the pillares of the AWS Well-Architected Framework. To ensure reliability, a system must be resilient and designed to achieve its availability goals. This guide covers best practices for improved resilience against potential failures.

As with Security, resilience is a shared responsibility between AWS and the customer. AWS is responsible for resilience at the load balancer level, while the customer is responsible for managing the targets. Customers are also responsible for configuring the load balancer and making design decisions to meet their availability goals.

At a high-level, the Elastic Load Balancing system will scale up/out the load balancer when needed, and automatically remove and replace any faulty nodes. Elastic Load Balancers are typically deployed to multiple EC2 Availability Zones, and utilize DNS to fail away from an impaired Availability Zone. This is because each ELB IP address has a Route 53 health check, that monitors the health of the load balancer nodes in the DNS record of the load balancer. This means that, if a node or AZ fails, the IP(s) will be removed from DNS.

In this Guide

Feedback

This guide is being released on GitHub to collect direct feedback and suggestions from the broader AWS Cloud community. If you have a best practice that you feel we ought to include in the guide, please file an issue or submit a PR in the GitHub repository. We intend to update the guide periodically as new features are added to the service or when a new best practice evolves.