Egress fees

Also known as: data transfer costs

On this page 7

Egress fees are charges for data transferred out of a cloud network or between its locations, usually priced per gigabyte. In cloud economics they are one of the most frequently underestimated cost lines, because inbound data transfer is typically free while outbound traffic to the internet, other regions or other clouds is metered.

Also called data transfer costs, egress fees influence architecture as much as budgets. They affect where workloads run, how data is replicated, whether a content delivery network is used and how expensive it is to move away from a provider, which is why they are central to discussions of vendor lock-in and multi-cloud strategy.

How egress fees are charged

Providers meter bytes that cross defined boundaries. The direction and destination of traffic decide the rate: data leaving to the public internet is billed at the highest rate, traffic between regions at a lower rate, and traffic between availability zones in the same region often at a small per-gigabyte charge in both directions. Traffic within a single zone over private addresses is generally free.

Internet egress is normally priced in volume tiers, so the per-gigabyte rate falls as monthly volume grows. Many providers include a free monthly allowance, commonly around 100 GB for internet egress, and list prices for the first tier have historically been in the range of several cents per gigabyte, varying by region and provider. Exact rates change and must be checked against the current price list.

Billing granularity also matters. Transfer is usually measured in gigabytes per month per usage type, and the bill groups it under labels such as internet out, inter-region or regional transfer. Because these lines are spread across many services, egress is rarely visible as one number, which is a major reason it surprises teams. Tagging resources and exporting detailed billing data to a query tool turns these scattered lines into a clear picture per application.

The table below summarizes the main traffic paths and how they are usually billed.

Traffic pathUsually billedRelative cost
Inbound from the internetNoFree
Within one availability zoneNo, on private addressesFree
Between availability zonesYes, often in each directionLow
Between regionsYesModerate
To the internetYes, in volume tiersHighest
Through a CDN to usersYes, at CDN ratesOften lower than direct egress
Over a dedicated interconnectYes, at reduced rates plus port feesLower per gigabyte
Typical billing by traffic path

Hidden sources of egress

Much egress does not come from serving users but from internal architecture. Several patterns create data transfer charges that teams do not anticipate when they design a system.

PatternWhy it costs moneyMitigation
Cross-zone microservice callsEvery request and response crosses a billed boundaryZone-aware routing and topology hints
NAT gateway for cloud APIsProcessing charge on top of transferPrivate endpoints for storage and services
Cross-region replicationEvery write is copied to another regionReplicate only data that needs disaster recovery
Analytics in another cloudRaw data leaves the providerProcess data where it is stored
Database replicas in other zonesReplication traffic between zonesAccept as resilience cost, size deliberately
Architecture patterns that generate unexpected charges

NAT gateway charges deserve special attention. Traffic from private subnets to object storage or other managed services can pass through a NAT gateway and incur a per-gigabyte processing fee, even though the destination is inside the same provider. Gateway or private endpoints usually remove that charge.

Egress fees and vendor lock-in

Because ingress is free and egress is not, moving data into a cloud is cheap while moving it out is expensive. For organizations with petabytes of data, the cost of a one-time migration to another provider can be a significant barrier, which critics describe as a form of economic lock-in.

Regulation and competition have started to change this. Following European data portability rules, several large providers announced waivers of egress fees for customers leaving the platform entirely, usually requiring an application and a completed migration within a set period. These waivers do not cover ongoing multi-cloud traffic, so day-to-day egress remains billed.

Some alternative object storage providers and S3-compatible services market zero or low egress pricing, often with fair-use limits tied to stored volume. They can reduce costs for download-heavy workloads, but teams should compare total cost, including request fees and performance, rather than egress alone.

Reducing egress costs

Effective reduction combines architecture changes with FinOps practices such as cost allocation and cost anomaly detection, so that data transfer is visible per team and per service.

StrategyEffectTrade-off
Content delivery networkCaches content close to users, lowers origin egressCDN fees and cache invalidation complexity
CompressionFewer bytes per responseSmall CPU overhead
Co-locating compute and dataKeeps traffic in one region or zoneLess geographic redundancy
Private endpointsAvoids NAT processing chargesExtra configuration per service
Committed or negotiated pricingLower per-gigabyte rates at scaleRequires volume commitment
Strategies for lowering data transfer costs

The essential first step is measurement. Billing exports broken down by usage type, together with VPC flow logs, show which services and paths generate the traffic, and the largest contributor is often not the one teams expect.

Common misjudgments

  • Treating multi-zone deployment as free: high availability across zones adds inter-zone transfer charges.
  • Estimating only compute and storage in a total cost of ownership comparison, leaving data transfer out.
  • Assuming a free tier covers production: monthly allowances are small compared with real workloads.
  • Ignoring egress from backups and exports to external systems or other clouds.
  • Optimizing rates instead of volume: removing unnecessary transfer usually saves more than negotiating price.

A practical rule is to estimate data transfer during design reviews, alongside compute and storage, by multiplying expected request volume by average response size for each traffic path. Even a rough estimate reveals whether an architecture choice will cost a few dollars or thousands per month.

In plain words

Egress fees are like a toll on the way out of a parking garage. Driving in costs nothing, but every car that leaves pays. In the cloud, the cars are data, and every gigabyte sent out to users, other regions or other providers is charged.

For small websites the toll is barely noticeable. For companies that move large amounts of data, it can become one of the biggest items on the cloud bill and can make switching providers expensive.

A real-world example

A media startup hosted video files in object storage and streamed them directly to viewers. As its audience grew to about 200 TB of downloads per month, the monthly bill showed data transfer costing more than compute and storage combined, a situation the founders had not modeled.

The engineering team placed a content delivery network in front of the storage bucket, enabled long cache lifetimes for finished videos and moved thumbnail generation into the same region as the bucket. Because most views now came from CDN caches, origin egress fell to a small fraction of its previous level, and total delivery cost dropped noticeably even after adding the CDN fees.