AWS network cost guide: NAT, VPC endpoints, PrivateLink, and data transfer (what to model)

AWS networking cost modeling is simpler than it looks if you treat it as a set of consistent line items. This hub gives you a practical workflow (with formulas) and links to the calculators and deep guides.

The 3 buckets (the mental model)

  1. NAT Gateway: hourly gateway fees + GB processed.
  2. VPC endpoints / PrivateLink: endpoint-hours (per AZ) + (sometimes) GB processed.
  3. Transfer boundaries: cross-AZ, cross-region, and internet egress (depends on architecture).

Core formulas (planning-safe)

  • NAT hourly = NAT gateways x hours/month x $/gateway-hour
  • NAT traffic = NAT GB processed/month x $/GB processed
  • Interface endpoint-hours = endpoints x AZs x hours/month
  • Interface endpoint hourly = endpoint-hours x $/endpoint-hour
  • Interface endpoint traffic = endpoint GB processed/month x $/GB processed

Break-even workflow (NAT vs endpoints)

  1. Estimate NAT GB processed today (baseline).
  2. Identify the share of NAT traffic that is actually to AWS services that can move to endpoints (S3, ECR, STS, etc).
  3. Model 30% / 60% / 90% traffic moved to endpoints, and compare total monthly cost.
  4. Validate you didn't accidentally increase cross-AZ/cross-region transfer (common hidden pitfall).

Decision table (which lever to pull)

Symptom Likely driver High-leverage fix
NAT bill dominated by GB processed Image pulls, updates, large outbound downloads Move AWS-service traffic to endpoints; cache/package mirrors
Endpoint bill higher than expected 3-AZ deployment + many endpoints Consolidate endpoints; validate which services need endpoints
Cross-AZ transfer surprises Multi-AZ clients hitting single-AZ backends or LB patterns Keep traffic AZ-local where possible; validate routing/targets

Troubleshooting checklist (what to verify)

  • Top talkers behind NAT (which destinations drive GB processed)
  • AZ locality (client and backend in same AZ?)
  • Retries/timeouts during incidents (traffic multiplier)
  • Log/monitoring traffic you forgot (steady background costs)

Deep guides (recommended reading order)

Validation checklist

  • Validate the primary driver with measured usage from a representative window.
  • Confirm units and pricing units (per 10k vs per 1M, GB vs GiB) before trusting the estimate.
  • Re-check incident windows: retries/timeouts often multiply cost drivers.

Related reading


Related guides


Related calculators


FAQ

What's the fastest way to model AWS network costs?
Break it into three buckets: (1) NAT hourly + GB processed, (2) VPC endpoints/PrivateLink endpoint-hours + GB processed, and (3) data transfer boundaries (cross-AZ/cross-region/internet). Build a baseline and a high-usage scenario.
Why do network bills spike unexpectedly?
Because network charges scale with traffic. Common causes are NAT GB processed from image pulls/updates, cross-AZ traffic from load balancers or multi-AZ clients, and log/monitoring traffic you didn't account for.
Do VPC endpoints always reduce NAT costs?
Only for compatible traffic (AWS services that support endpoints). Endpoints add their own hourly and (sometimes) per-GB charges, so you need a break-even model based on your traffic mix.
What should I do if I don't have perfect data yet?
Use scenarios: estimate NAT GB processed and model 30% / 60% / 90% of that traffic moving to endpoints. Also model 2-AZ vs 3-AZ deployments for endpoints, because AZ count is a major multiplier.

Last updated: 2026-01-22