NAT Gateway Capacity Calculator
Calculate maximum concurrent connections and bandwidth for a NAT gateway based on elastic IP count.
Inputs
AWS NAT Gateway supports up to 8 EIPs per gateway
Ephemeral port range typically yields ~64,000 usable ports per destination-IP/protocol combo
AWS NAT Gateway scales up to 45 Gbps per gateway
Max Concurrent Connections (per destination)
64,000
Gateway Bandwidth Limit
45.0Gbps
Gateway Bandwidth Limit
45,000Mbps
Step by step
Values used
Number of Elastic/Public IPs = 1; Available Ports per IP = 64,000; Gateway Bandwidth Limit = 45 Gbps
Max concurrent connections
connections = ports_per_ip × elastic_ips
Max Concurrent Connections (per destination)
= 64,000
Gateway Bandwidth Limit
= 45.0 Gbps
Gateway Bandwidth Limit
= 45,000 Mbps
How it works
A NAT gateway's maximum concurrent connections to any single destination IP/protocol/port combination is limited by the number of ephemeral source ports available, multiplied by how many public IP addresses the gateway can use: connections = ports_per_ip × elastic_ips. Each additional public IP effectively multiplies the available port pool, since ports are tracked per source-IP, allowing the gateway to open many more simultaneous connections to the same busy destination before running into port exhaustion. Bandwidth is a separate, independent limit — the gateway's throughput ceiling regardless of connection count.
Formula
Max concurrent connections
connections = ports_per_ip × elastic_ips
- p
- Usable ephemeral ports per IP (~64,000 typical)
- n
- Number of elastic/public IPs attached
Frequently Asked Questions
Why does adding more Elastic IPs increase connection capacity?
NAT translates each outbound connection to a unique combination of (public IP, source port). With only one public IP, you're limited to that IP's ~64,000 usable ports per destination; adding a second IP effectively doubles the available port pool for connections to the same busy destination.
What causes 'port exhaustion' errors on a NAT gateway?
When too many simultaneous connections are made to the same destination IP and port (e.g. a single popular API endpoint) and the available port pool for that destination is used up, new connection attempts fail until existing ones close and free up a port — adding more elastic IPs directly mitigates this.
Does this port limit apply separately per destination?
Yes — the port limit is per unique (destination IP, destination port, protocol) tuple, not a global cap. A NAT gateway can typically support many multiples of this connection count in aggregate as long as traffic is spread across many different destinations rather than concentrated on one.
Is bandwidth or connection count usually the binding constraint?
It depends on the workload — many short-lived connections to few destinations (e.g. web scraping a single site) tend to hit port limits first, while sustained large data transfers tend to hit the bandwidth ceiling first. Both should be checked independently, as this calculator does.