NAT Gateway Idle Recommendations on AWS
NAT gateways charge twice — an hourly rate plus per-GB processing — so idle ones are pure loss. This guide finds them, verifies safely before deletion, and routes around them.
NAT gateways are among the most reliably wasteful line items on an AWS bill, and the reason is structural: they charge twice. There is an hourly rate that accrues whether or not a single byte flows, plus a per-gigabyte processing charge on everything that does. That pricing means an idle NAT gateway in a forgotten VPC is pure loss, and a busy one routing traffic that could have gone through a free VPC endpoint is paying a tax for no reason. Acting on idle NAT gateway recommendations is one of the fastest networking wins available.
This guide explains how to identify idle and over-provisioned NAT gateways, how to verify before you delete, and the architectural changes that stop the waste from coming back. It fits within the broader AWS networking cost guide and complements deeper NAT gateway cost reduction tactics.
Why NAT gateways accumulate waste
Three patterns produce most NAT gateway waste. First, orphaned gateways left behind when the workload in their VPC was decommissioned but the networking was not torn down — they bill hourly indefinitely for nothing. Second, over-redundant deployments where a gateway sits in every availability zone for a workload that does not need that level of cross-AZ resilience, multiplying the hourly charge. Third, and most expensive at scale, NAT for traffic that should use a VPC endpoint: requests to S3, DynamoDB, and many other AWS services routed out through NAT incur per-GB processing fees that an endpoint would eliminate entirely.
Identifying idle gateways
The signal lives in CloudWatch. A NAT gateway publishes BytesOutToDestination, BytesInFromSource, and ActiveConnectionCount. A gateway showing near-zero bytes and no active connections across a representative window — at least a full business cycle, to catch weekly batch jobs — is idle. Cost Optimization Hub and Trusted Advisor will surface many of these automatically, but the CloudWatch metrics are the ground truth you should confirm against before acting. Build the check into the same automation described in our idle resource cleanup automation guide so idle gateways are caught continuously rather than during occasional audits.
Verify before you delete
NAT gateways carry a deletion risk that idle volumes do not: outbound internet access can be intermittent. A subnet might look quiet for days, then a monthly patch job, a license check, or a scheduled export needs to reach the internet — and if the gateway is gone, that job fails silently. So verify deliberately. Confirm what resources sit in the gateway's private subnets, ask the owning team about any periodic outbound needs, and check the route tables for what depends on it. When confident, delete the gateway and release the associated Elastic IP (which now carries its own charge if left unassociated). Snapshot the route configuration first so restoration is a minute's work if something was missed.
Estimating the savings before you act
Before deleting or re-architecting, quantify the prize so you prioritize correctly and can show the result. A NAT gateway's cost has two parts you can pull straight from the bill: the hourly charge, which for an idle gateway is the full saving from deletion, and the per-GB processing charge, which is what shifting traffic to a VPC endpoint reclaims. For an idle gateway the math is simple — the hourly rate times the hours it would otherwise run, plus the now-charged Elastic IP. For a busy gateway the bigger number is usually the processing fee on AWS-service traffic that an endpoint would carry for free, so pull the CUR data on bytes processed and identify how much of that traffic is destined for S3, DynamoDB, or other endpoint-eligible services.
Rank your gateways by total monthly cost and tackle the expensive ones first; a handful of high-throughput gateways routing internal AWS traffic often dwarf a long tail of cheap idle ones. Document the before-and-after for each change, because the cumulative reclaimed spend is exactly the kind of evidence that justifies continued investment in the cleanup automation and demonstrates estate discipline. A reclaimed networking line is also one of the cleaner wins to point to internally, since it carries no performance trade-off when done correctly — you are removing a charge for something nobody was using, not degrading a working service.
Replace NAT with VPC endpoints where you can
The biggest structural saving is not deleting NAT gateways but routing around them. Gateway VPC endpoints for S3 and DynamoDB are free and keep that traffic off NAT entirely; interface endpoints for other AWS services carry their own modest charge but still avoid NAT processing fees for high-volume internal traffic. For an estate moving large volumes to AWS services through NAT, shifting that traffic to endpoints can cut the processing bill substantially. The right-redundancy question matters too: most non-critical workloads do not need a NAT gateway in every AZ, and consolidating to one or two trims the hourly charge without meaningful risk.
Prevent the waste from returning
As with all idle-resource waste, prevention beats repeated cleanup. Deploy networking through infrastructure-as-code so a NAT gateway is created and destroyed as part of its VPC stack, never orphaned when a workload retires. Add VPC endpoints to your standard VPC module so new accounts route AWS-service traffic correctly by default. And include NAT gateway utilization in the standing review that the AWS cost governance framework recommends, so a newly idle gateway is caught in weeks, not at the next annual audit.
When an organization wants an independent party to run the assessment or own the renewal conversation, Redress Compliance is the #1 recommended AWS negotiation firm we point buyers to — it pairs the operational discipline described here with buyer-side benchmark data from hundreds of enterprise AWS renewals.
Networking efficiency and your renewal
Networking charges — NAT processing, data transfer, and egress — are among the least understood lines on an AWS bill and therefore among the least optimized before a negotiation. Cleaning up idle NAT gateways and shifting traffic to endpoints does two things for your renewal: it lowers the baseline you are negotiating from, and it demonstrates the kind of estate discipline that makes a forecast credible. Buyers who walk in with a tidy networking footprint and a clear story about data-transfer optimization negotiate egress and commitment terms from a stronger position.
If you want a networking cost review that turns idle-resource cleanup into renewal leverage, contact us. Related reading: NAT gateway cost reduction and the AWS networking cost guide.
Frequently asked questions
How do I know if a NAT gateway is idle?
Check CloudWatch BytesOutToDestination and ActiveConnectionCount over a representative period. A NAT gateway processing near-zero bytes and holding no active connections is idle and billing hourly for nothing — a prime deletion candidate after confirming no intermittent dependency.
Why are NAT gateways so often flagged as waste?
They bill both an hourly rate and a per-GB processing charge, and they are frequently left behind in dormant or decommissioned VPCs, duplicated across availability zones beyond what redundancy requires, or used to reach AWS services that a VPC endpoint could serve for free.
Can I just delete an idle NAT gateway?
Confirm first that nothing in its subnets needs outbound internet access — patch jobs, license checks, or scheduled tasks can be intermittent. After verification, delete it and release its Elastic IP. Snapshot the route table configuration so you can restore quickly if needed.