Cross Zone Network Load Balancer Cost


How can I check the cost of network load balancer with cross-zone load balancing enabled on AWS console? Cross zone load balancing only.

2 Answers

If possible, I would try and recommend you to first try and keep your application working in a Zonal based environment, so that traffic is only sent to per AZ, and you build your application in a way that it sends traffic to the available zonal address of your NLB. This does require a bit of rework from the application point of view, but will help you to reduce zonal data transfer costs. There is a blog post on that for more information:

Though if you still wanted to calculate these charges, and didn't want to use the above mentioned method, there isn't an easy way of doing this currently. What you would more than likely have to do, is use VPC Flow Logs or the NLB access logs, and make sure that you take notes of the NLB ENIs IP addresses which sit in each AZ (you can find the NLB ENIs under Network Interfaces in the EC2 Console page, just find the correlating ENIs to your NLB ID). Then you would have to look at all the instances which you have and make notes of each IP address and which AZ the instance sits in. From there, you would use the VPC Flow Logs, and determine the traffic being sent to each instance across the AZs from your NLB ENIs to the instances IP addresses. Any traffic which is then crossing the AZ (on a per Gib basis, there is a difference between GB and Gib, and AWS always uses Gib/Mib as it is more accurate) would need to be correlated and then multiplied by $0.02 per Gib. If possible, I would highly recommend automating this in a Lambda function instead of doing it manually, and it definitely isn't elegant, but it is doable. But again, I would recommend going for the first approach if you have enough instances in each AZ to handle failover.

answered 2 years ago


I have worked with NLB Cross Zone Load Balancing and i had the same question.

First of all, in this [1] link, you can go to Workload components in same Region part, and there, aws tell us that "Data transfer within the same Availability Zone is free. One way to achieve high availability for a workload is to deploy in multiple Availability Zones.". So in conclution, it's free.

But, that doesn't means that you won't have more charges. NLB will charge you for: Processed bytes per NLB for TCP or UDP Average number of new TCP or UDP connections Average TCP or UDP connection duration or Average UDP Flow duration

And if you have TLS Traffic Processed bytes per NLB for TLS Average number of new TLS connections Average TLS connection duration

And If you are going to balance between different AVz, that means that if your targets are AWS EC2, you could have more EC2 charges

You can calculate your estimate using the AWS Calculator [2]

Hope this can help you.

Best Regards.

[1] Workload components in same AWS Region [2] AWS Calculator

profile picture
answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions