AWS NAT gateway pricing: what a NAT gateway costs and how to reduce it

A NAT gateway charges by the hour even with no traffic, and per GB on top of data transfer.

Published 2 November 2026 · Published by Zoorik

AWS NAT gateway pricing: a private subnet’s traffic passes a NAT gateway that meters hours provisioned and GB processed

Short answer. AWS NAT gateway pricing has two parts: a charge for each hour a NAT gateway runs, and one for each GB it processes. AWS’s US East (Ohio) rates, in November 2026, are $0.045 per NAT gateway-hour and $0.045 per GB processed, plus data transfer. Gateway endpoints and deleting unused gateways reduce it.

What an AWS NAT gateway costs

A network address translation (NAT) gateway gives instances in a private subnet a way out to the internet and to AWS services. A private subnet is one whose route table has no route to an internet gateway.

AWS charges for a NAT gateway in three ways:

  • Each NAT gateway-hour the gateway is provisioned and available. A partial hour counts as a full hour.
  • Each GB the gateway processes, whatever the traffic’s source or destination.
  • Standard AWS data transfer charges on the data it carries, such as the egress cost of data going out to the internet.

A public NAT gateway uses an Elastic IP address. AWS charges $0.005 an hour for every public IPv4 address, in use or idle: $3.65 over a 730-hour month.

A NAT gateway with no traffic still costs $36.50 a month Two horizontal bars on one shared dollar scale, for one public NAT gateway at AWS's US East (Ohio) rates over a 730-hour month. Row 1, No traffic, is a grey segment for 730 hours and the IPv4 address, bracketed Fixed, with or without traffic, and it totals $36.50. Row 2, 1,000 GB processed, has the same grey segment plus an amber segment bracketed Grows with each GB processed and labelled 1,000 GB times $0.045 equals $45. Row 2 totals $81.50. A NAT gateway with no traffic still costs $36.50 a month Fixed, with or without trafficNo traffic730 hours + IPv4 address$36.501,000 GB processedGrows with each GB processed1,000 GB × $0.045 = $45$81.50
AWS’s US East (Ohio) rates, November 2026, over 730 hours: $0.045 per NAT gateway-hour and $0.045 per GB processed. The public IPv4 address adds $0.005 an hour. Data transfer is extra.

Zonal vs regional NAT gateways: one hourly charge per zone

A standard NAT gateway is zonal: it works in one Availability Zone. For high availability, you create one in each zone and route each zone’s private subnets to it.

Three zones then pay three hourly charges: 3 × 730 × $0.045 = $98.55 a month at the Ohio rate, before any data is processed.

A regional NAT gateway is one gateway that spans zones. In its automatic mode, which AWS recommends, it expands to each zone where your workloads have network interfaces. AWS charges it by the hour in each zone, so three zones cost $0.135 an hour, as three zonal gateways do.

Three zones cost $0.135 an hour, zonal or regional Two panels, each with three zone columns, Zone 1 to Zone 3, and a private subnet in each zone with an arrow up to a NAT gateway. The first arrow reads routes out. Top panel, Zonal: a NAT gateway in each zone, and beside it, 3 gateways times $0.045 equals $0.135 an hour. Bottom panel, Regional: one regional NAT gateway spans all three zones, and every subnet's arrow leads to it. Beside it, 3 zones times $0.045 equals $0.135 an hour. Three zones cost $0.135 an hour, zonal or regional Zonal: a NAT gateway in each zoneZone 1Zone 2Zone 3NAT gatewayprivate subnetroutes outNAT gatewayprivate subnetNAT gatewayprivate subnet3 gateways × $0.045= $0.135 an hourRegional: one NAT gateway across the zonesZone 1Zone 2Zone 3Regional NAT gatewayprivate subnetroutes outprivate subnetprivate subnet3 zones × $0.045= $0.135 an hour
Illustration with three zones, at AWS’s US East (Ohio) rate in November 2026. Each zonal gateway costs $0.045 an hour, and a regional gateway costs the same for each zone it covers. Data processing and data transfer are extra.

Why NAT gateway cost grows in an EKS cluster

AWS recommends private subnets for the nodes of an Amazon Elastic Kubernetes Service (EKS) cluster. With no route to an internet gateway, the nodes and their pods reach the internet through a NAT device. They reach AWS services through it too, or through virtual private cloud (VPC) endpoints.

Without VPC endpoints, the NAT gateway carries what your nodes and pods send to AWS services, as well as to the internet. Each GB pays the processing charge. AWS gives these services as examples:

  • Amazon Elastic Container Registry (Amazon ECR)
  • Elastic Load Balancing
  • Amazon CloudWatch
  • AWS Security Token Service (AWS STS)
  • Amazon Simple Storage Service (Amazon S3)

AWS’s own pricing example sends 1 GB from an instance to Amazon S3 in the same Region. The NAT gateway charges $0.045 to process it, while the data transfer itself has no charge.

How to reduce NAT gateway charges

Send Amazon S3 and DynamoDB traffic through gateway endpoints

A gateway endpoint reaches Amazon S3 or Amazon DynamoDB without a NAT device, with no hourly or data processing charge. When you create one, AWS adds a route to each route table you pick.

It covers only its own Region, because its route uses that Region’s prefix list for the service. Traffic to S3 in another Region doesn’t use it.

Weigh interface endpoints for other AWS services

If most NAT traffic goes to services such as Amazon ECR or CloudWatch, AWS suggests interface endpoints. They’re priced under AWS PrivateLink, so compare that price with the processing charge first.

Keep heavy traffic in the NAT gateway’s zone

Data between an instance and a NAT gateway in another zone pays data transfer charges. For heavy traffic across zones, AWS suggests moving the resources into the NAT gateway’s zone. The other choice is a NAT gateway in each zone with resources, which adds an hourly charge per zone.

Delete NAT gateways nothing routes to

Before you delete a gateway, check which route tables send traffic to it. Their subnets lose that way out, and the routes stay in a blackhole status until you update or delete them.

Deleting a gateway doesn’t release its Elastic IP address from your account. Release it too if nothing else needs it, or it keeps its $0.005 hourly charge as an idle public IPv4 address.

Azure NAT Gateway pricing

Azure NAT Gateway gives the resources in a subnet outbound internet access, and it doesn’t permit unsolicited inbound connections. Since 31 March 2026, new virtual networks default to private subnets without default outbound access. They need an explicit way out, such as a NAT gateway.

Azure charges for it in two ways, as AWS does:

  • Resource hours, from the moment the gateway is created, with or without subnets or public IP addresses attached. A partial hour counts as a full hour.
  • Each GB processed, outbound and return traffic alike.

Standard NAT gateways are zonal and StandardV2 ones are zone redundant, at the same price. Bandwidth charges for data leaving Azure apply on top, and Azure lists its rates by region.

Find your own number

One line in your cloud console. One PDF report with your estimated saving at list price.

Estimate your saving
Talk to the builders

Thirty minutes with the people who build Coral.

Book a demo (opens in a new tab)

Or write to founders@zoorik.com