Menu
Elastic Load Balancing
Network Load Balancers

Network Load Balancers

A load balancer serves as the single point of contact for clients. Clients send requests to the load balancer, and the load balancer sends them to targets, such as EC2 instances, in one or more Availability Zones.

To configure your load balancer, you create target groups, and then register targets with your target groups. Your load balancer is most effective if you ensure that each enabled Availability Zone has at least one registered target. You also create listeners to check for connection requests from clients and route requests from clients to the targets in your target groups.

Network Load Balancers support connections from clients to your load balancer over intra-region VPC peering only if those clients are C5, i3.metal, R5, R5D, M5, or Z1D instances. Network Load Balancers do not support connections from clients to your load balancer over inter-region VPC peering or AWS managed VPN.

Load Balancer State

A load balancer can be in one of the following states:

provisioning

The load balancer is being set up.

active

The load balancer is fully set up and ready to route traffic.

failed

The load balancer could not be set up.

Load Balancer Attributes

The following are the load balancer attributes:

deletion_protection.enabled

Indicates whether deletion protection is enabled. The default is false.

load_balancing.cross_zone.enabled

Indicates whether cross-zone load balancing is enabled. The default is false.

Availability Zones

You enable one or more Availability Zones for your load balancer when you create it. You cannot enable or disable Availability Zones for a Network Load Balancer after you create it. If you enable multiple Availability Zones for your load balancer, this increases the fault tolerance of your applications.

When you enable an Availability Zone, you specify one subnet from that Availability Zone. The subnet must have at least 8 available IP addresses. Elastic Load Balancing creates a load balancer node in the Availability Zone and a network interface for the subnet (the description starts with "ELB net" and includes the name of the load balancer). Each load balancer node in the Availability Zone uses this network interface to get a static IP address. Note that you can view this network interface but you cannot modify it.

When you create an Internet-facing load balancer, you can optionally associate one Elastic IP address per subnet. You cannot add or change Elastic IP addresses for your subnets after you create the load balancer.

Cross-Zone Load Balancing

By default, each load balancer node distributes traffic across the registered targets in its Availability Zone only. If you enable cross-zone load balancing, each load balancer node distributes traffic across the registered targets in all enabled Availability Zones. For more information, see Cross-Zone Load Balancing in the Elastic Load Balancing User Guide.

To enable cross-zone load balancing using the console

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. In the navigation pane, under LOAD BALANCING, choose Load Balancers.

  3. Select the load balancer.

  4. Choose Description, Edit attributes.

  5. On the Edit load balancer attributes page, select Enable for Cross-Zone Load Balancing, and choose Save.

To enable cross-zone load balancing using the AWS CLI

Use the modify-load-balancer-attributes command with the load_balancing.cross_zone.enabled attribute.

Deletion Protection

To prevent your load balancer from being deleted accidentally, you can enable deletion protection. By default, deletion protection is disabled for your load balancer.

If you enable deletion protection for your load balancer, you must disable it before you can delete the load balancer.

To enable deletion protection using the console

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. In the navigation pane, under LOAD BALANCING, choose Load Balancers.

  3. Select the load balancer.

  4. Choose Description, Edit attributes.

  5. On the Edit load balancer attributes page, select Enable for Delete Protection, and choose Save.

To disable deletion protection using the console

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. In the navigation pane, under LOAD BALANCING, choose Load Balancers.

  3. Select the load balancer.

  4. Choose Description, Edit attributes.

  5. On the Edit load balancer attributes page, clear Enable delete protection and choose Save.

To enable or disable deletion protection using the AWS CLI

Use the modify-load-balancer-attributes command with the deletion_protection.enabled attribute.

Connection Idle Timeout

For each request that a client makes through a Network Load Balancer, the state of that connection is tracked. The connection is terminated by the target. If no data is sent through the connection by either the client or target for longer than the idle timeout, the connection is closed. If a client sends data after the idle timeout period elapses, it receives a TCP RST packet to indicate that the connection is no longer valid.

Elastic Load Balancing sets the idle timeout value to 350 seconds. You cannot modify this value. Your targets can use TCP keepalive packets to reset the idle timeout.