Total Pageviews

Friday, July 27, 2018

Network Load Balancer FAQ


                              Network Load Balancer
Q: Can I create a TCP (Layer 4) listener for my Network Load Balancer?
Yes. Network Load Balancers support only TCP (Layer 4) listeners.


Q: What are the key features available with the Network Load Balancer?
Network Load Balancer provides TCP (Layer 4) load balancing. It is architected to handle millions of requests/sec, sudden volatile traffic patterns and provides extremely low latencies. In addition Network Load Balancer also preserves the source IP of the clients, provides stable IP support and Zonal isolation. It also supports long-running connections that are very useful for WebSocket type applications.


Q: How does Network Load Balancer compare to what I get with the TCP listener on a Classic Load Balancer?
Network Load Balancer preserves the source IP of the client which in the Classic Load Balancer is not preserved. Customers can use proxy protocol with Classic Load Balancer to get the source IP. Network Load Balancer automatically provides a static IP per Availability Zone to the load balancer and also enables assigning an Elastic IP to the load balancer per Availability Zone. This is not supported with Classic Load Balancer. Classic Load Balancer provides SSL termination that is not available with Network Load Balancer.


Q: Can I migrate to Network Load Balancer from Classic Load Balancer?
Yes. You can migrate to Network Load Balancer from Classic Load Balancer using one of the options listed in this document


Q: Are there limits on the resources for my Network Load Balancer?
Yes, please refer to Network Load Balancer limits documentation for more information.


Q: Can I use the AWS Management Console to set up my Network Load Balancer?
Yes, you can use the AWS Management Console, AWS CLI, or the API to set up a Network Load Balancer.


Q: Can I use the existing API for Classic Load Balancers for my Network Load Balancers?
No. To create a Classic Load Balancer, use the 2012-06-01 API. To create a Network Load Balancer or an Application Load Balancer, use the 2015-12-01 API.


Q: Can I create my Network Load Balancer in a single Availability Zone?
Yes, you can create your Network Load Balancer in a single availability zone by providing a single subnet when you create the load balancer.


Q: Does Network Load Balancer support DNS regional and zonal fail-over?
Yes, you can use Amazon Route 53 health checking and DNS failover features to enhance the availability of the applications running behind Network Load Balancers. Using Route 53 DNS failover, you can run applications in multiple AWS Availability zones and designate alternate load balancers for failover across regions. In the event that you have your Network Load Balancer configured for multi-AZ, if there are no healthy EC2 instances registered with the load balancer for that Availability Zone or if the load balancer nodes in a given zone are unhealthy, then R-53 will fail away to alternate load balancer nodes in other healthy availability zones.


Q: Can I have a Network Load Balancer with a mix of ELB-provided IPs and Elastic IPs or assigned private IPs?
No. A Network Load Balancer’s addresses must be completely controlled by you, or completely controlled by ELB. This is to ensure that when using Elastic IPs with a Network Load Balancer, all addresses known to your clients do not change.


Q: Can I assign more than one EIP to my Network Load Balancer in each subnet?
No. For each associated subnet that a Network Load Balancer is in, the Network Load Balancer can only support a single public/internet facing IP address


Q: If I remove/delete a Network Load Balancer what will happen to the Elastic IP addresses that were associated with it?
The Elastic IP Addresses that were associated with your load balancer will be returned to your allocated pool and made available for future use.


Q: Does Network Load Balancer support internal load balancers?
Network Load Balancer can be set-up as an internet-facing load balancer or an internal load balancer similar to what is possible with Application Load Balancer and Classic Load Balancer.


Q: Can the internal Network Load balancer support more than one private IP in each subnet?
No. For each associated subnet that a load balancer is in, the Network Load Balancer can only support a single private IP.


Q: Can I set up Websockets with my Network Load Balancer?
Yes, configure TCP listeners that route the traffic to the targets that implement WebSockets protocol (https://tools.ietf.org/html/rfc6455 ). Because WebSockets is a layer 7 protocol and Network Load Balancer is operating at layer 4, no special handling exists in Network Load Balancer for WebSockets or other higher level protocols.


Q: Can I load balance to any arbitrary IP address?
You can use any IP address from the load balancer’s VPC CIDR for targets within load balancer’s VPC and any IP address from RFC 1918 ranges (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16) or RFC 6598 range (100.64.0.0/10) for targets located outside the load balancer’s VPC (EC2-Classic and on-premises locations reachable over AWS Direct Connect).


Q: What benefit will I get by targeting containers behind a load balancer with IP addresses instead of instance IDs?
Each container on an instance can now have its own security group and does not need to share security rules with other containers. You can attach security groups to an ENI and each ENI on an instance can have a different security group. You can map a container to the IP address of a particular ENI to associate security group(s) per container. Load balancing using IP addresses also allows multiple containers running on an instance use the same port (say port 80). The ability to use the same port across containers allows containers on an instance to communicate with each other through well-known ports instead of random ports.


Q: How can I load balance applications distributed across a VPC and on-premises location?
There are various ways to achieve hybrid load balancing. If an application runs on targets distributed between a VPC and an on-premises location, you can add them to the same target group using their IP addresses. To migrate to AWS without impacting your application, gradually add VPC targets to the target group and remove on-premises targets from the target group.You can also use separate load balancers for VPC and on-premises targets and use DNS weighting to achieve weighted load balancing between VPC and on-premises targets.


Q: How can I load balance to EC2-Classic instances?
You cannot load balance to EC2-Classic Instances when registering their Instance IDs as targets. However if you link these EC2-Classic instances to the load balancer's VPC using ClassicLink and use the private IPs of these EC2-Classic instances as targets, then you can load balance to the EC2-Classic instances. If you are using EC2 Classic instances today with a Classic Load Balancer, you can easily migrate to a Network Load Balancer.


Q: How do I enable cross-zone load balancing in Network Load Balancer?
You can enable cross-zone loading balancing only after creating your Network Load Balancer. You achieve this by editing the load balancing attributes section and then by selecting the cross-zone load balancing support checkbox.


Q: Am I charged for regional AWS data-transfer when I enable cross-zone load balancing in Network Load Balancer?
Yes, you will be charged for regional data transfer between Availability Zones with Network Load Balancer when cross-zone load balancing is enabled. Check the charges in the data-transfer section at Amazon EC2 On-Demand Pricing page.


Q: Is there any impact of cross-zone load balancing on Network Load Balancer limits?
Yes. Network Load Balancer currently supports 200 targets per Availability Zone. For example, if you are in 2 Availability-Zones, you can have up to 400 targets registered with Network Load Balancer. If cross-zone load balancing is on, then the maximum targets reduces from 200 per Availability Zone to 200 per load balancer. So, in the example above when cross-zone load balancing is on, even though your load balancer is in 2 Availability Zones, you are limited to 200 targets that can be registered to the load balancer.
Q:How does Network Load Balancer pricing work?
You are charged for each hour or partial hour that a Network Load Balancer is running and the number of Load Balancer Capacity Units (LCU) used by Network Load Balancer per hour.


Q: What is a Load Balancer Capacity Unit (LCU)?
An LCU is a new metric for determining how you pay for a Network Load Balancer. An LCU defines the maximum resource consumed in any one of the dimensions (new connections/flows, active connections/flows, and bandwidth) the Network Load Balancer processes your traffic.


Q: Is new connections/flows per sec same as requests/sec?
No. Multiple requests can be sent in a single connection.


Q: Will I be billed on Classic Load Balancers by LCU?
No. Classic Load Balancers will continue to be billed for bandwidth and hourly charge


Q: How do I know the number of LCUs a Network Load Balancer is using?
We will expose the usage of all three dimensions that constitutes a LCU via Amazon CloudWatch.


Q: Will I be billed on all the dimensions in an LCU?
No. The number of LCUs per hour will be determined based on maximum resource consumed amongst the three dimensions that constitutes a LCU.


Q: Will I be billed on partial LCUs?
Yes.


Q: Is a free tier offered on a Network Load Balancer for new AWS accounts?
Yes. For new AWS accounts, a free tier for a Network Load Balancer offers 750 hours and 15 LCUs. This free tier offer is only available to new AWS customers, and is available for 12 months following your AWS sign-up date.


Q: Can I use a combination of Network Load Balancer, Application Load Balancer and Classic Load Balancer as part of my free tier?
Yes. You can use Application and Network each for 15 LCUs and Classic for 15 GB respectively. The 750 load balancer hours are shared between Application, Network and Classic Load Balancers.

1 comment: