Educational — Cloud egress & data-transfer cost guides. FinOps-lite estimators. Not a quote, broker, or savings guarantee. Launching soon where incomplete.
nat-triple · Educational

Cloud egress: AWS NAT Gateway vs Internet Gateway triple-charge

Updated

Private-subnet Internet access via NAT can stack hourly + processing + egress — the triple-charge pattern FinOps teams miss.

Path matrix: AWS NAT Gateway vs Internet Gateway cost layers (educational)
Cost layerNAT Gateway pathPublic subnet + IGW pathFinOps note
Hourly / provisionedNAT GW hourly per AZUsually none for IGW itselfMulti-AZ NAT multiplies hours
Data processing $/GBNAT processing on bytes through GWNo NAT processingOften overlooked
Internet egress $/GBStill billed on Internet DT-outInternet DT-out from instance/ELBSame cliff math
AZ hairpin riskCross-AZ to NAT adds cross-AZ DTKeep IGW local to AZTopology matters
IPv6 / egress-onlyAlternate designs existPublic IPv6 optionsArchitecture review

Provider source footnotes

  1. AWS NAT Gateway pricing — as-of Unknown until verified
  2. AWS data transfer / EC2 pricing — as-of Unknown until verified
  3. AWS VPC documentation — Internet gateways — as-of

Dated starting points only — Unknown until verified means no invented $/GB. PipeToll does not scrape private consoles or guarantee figures.

Path-class vocabulary: path template, Unknown until verified. Triple-charge pattern (educational): (1) NAT Gateway hourly, (2) NAT per-GB processing, (3) Internet data-transfer-out — plus cross-AZ if NAT sits in another AZ. PipeToll names each meter before any $/GB arithmetic.

Path templates to model

Common traps

Comparing only Internet egress $/GB hides NAT hourly and processing. Multi-AZ “for HA” without measuring bytes can triple hours. Free-tier cliffs on Internet DT-out still apply after NAT processing. VPC endpoints shift cost — they do not magically zero every bill line. No architecture here is a guaranteed savings claim.

FinOps checklist

  1. Export NAT Gateway bytes and hours by AZ for the last 30–90 days.
  2. Separate AWS-bound API traffic (endpoint candidates) from true Internet destinations.
  3. Model hourly×hours + processing×GB + egress×GB as three lines — use calculator Mode B.
  4. Re-price after endpoint or IGW redesign; keep Unknown until rates are dated.
  5. Document threat-model constraints so “move to public subnet” is not a blind cost-only change.

See also the NAT Gateway processing glossary term and methodology for Unknown-until-verified discipline.

FinOps-lite Unknown until verified

Worked example (educational): 2,000 GB via NAT in one month

Assume one NAT Gateway runs 730 hours at an example Unknown hourly rate you paste from the provider page, 2,000 GB of NAT processing, and the same 2,000 GB still incur Internet data-transfer-out. Stack = hourly×hours + processing×GB + egress×GB. This is synthetic arithmetic — not a quote and not a savings guarantee.

Open calculator

FAQ on this path

What is the NAT triple-charge pattern?

Educationally: (1) NAT Gateway hourly charge, (2) per-GB NAT processing, (3) Internet data-transfer-out — plus optional cross-AZ if the NAT sits in another AZ. Always verify current SKUs.

Does an Internet Gateway remove all egress cost?

No. IGW avoids NAT hourly/processing, but Internet data-transfer-out from public instances or load balancers can still apply. Path matters.

Should I always add per-AZ NAT?

Only when AZ-isolated failure domains require it. Extra NAT hours multiply cost; measure bytes and availability needs first.