BizTechLab

IDEASINNOVATIONIMPACT

Cloud

Cloud Egress Traps

Storage looks cheap on the pricing page — until the bill for data leaving the cloud arrives.

3 August 20266 min read

Overview

Cloud providers generally charge little or nothing to bring data in, but charge per-gigabyte for data leaving their network — egress fees — and at scale, egress can quietly exceed the storage cost of the data itself.

Why It Exists

Cloud providers want data to stay inside their ecosystem, where it's cheap to store and free to move between their own services. Egress fees exist specifically to make moving data out to the public internet, another cloud, or a different region costly enough that it discourages exactly that — a pricing structure sometimes called a "roach motel": data checks in, but it doesn't check out for free.

Real World Example

A media company stores 50TB of video assets in S3, at a modest monthly storage cost. When their CDN falls back to fetching directly from S3 during a traffic surge, serving that video to end users generates far more in egress fees for that one month than the entire year's storage cost — because storage is billed once for what's kept, but egress is billed for every byte transferred out, every time.

Example Data

Storage cost vs. egress cost — same data, very different scaling

Cost TypeWhat Drives ItScales With
StorageAmount of data keptData volume, once
EgressAmount of data transferred outEvery byte served, every time

Where Egress Fees Hide

Serving Content Directly From Object Storage

Fetching files directly from a bucket to end users bills egress on every request — at any real traffic volume, this usually costs far more than fronting the bucket with a CDN.

Cross-Region Transfers

Moving data between regions of the same cloud provider is often billed as egress too, even though it never technically leaves the provider's network — a common surprise in multi-region architectures.

Cross-Cloud / Multi-Cloud Transfers

Moving data from one cloud provider to another (for backup, migration, or a multi-cloud strategy) pays full egress on the source side, on top of whatever the destination charges to store it.

Mitigations: CDNs and Egress-Free Providers

Fronting object storage with a CDN caches content at the edge, dramatically reducing origin egress. Some newer object storage providers (e.g. Cloudflare R2, Backblaze B2) deliberately charge zero egress fees as a competitive differentiator.

Diagram

Storage is billed once; egress is billed every time data leaves

Data stored in S3

billed once, monthly, per GB kept

Data served to users

billed per GB, every single transfer

Common Mistakes

Estimating cloud storage cost from the per-GB storage price alone

Why: For any workload that actually serves the stored data to users, egress fees — not storage — are frequently the larger line item on the bill.

Fix: Model egress cost based on expected data transfer volume, not just data volume at rest, before committing to an architecture.

Serving high-traffic content directly from object storage without a CDN in front of it

Why: Every request pays full egress from the origin bucket, when a CDN could serve the same content from a cached edge location at a much lower cost.

Fix: Front any object storage serving significant public traffic with a CDN to absorb repeat requests at the edge.

Assuming a multi-cloud or multi-region architecture only costs extra in storage

Why: Moving data between regions or between cloud providers is frequently billed as egress, adding an ongoing transfer cost that a single-region, single-cloud architecture never incurs.

Fix: Explicitly account for cross-region and cross-cloud transfer costs when comparing a multi-cloud architecture against a simpler alternative.

Interview Questions

beginner

What's the difference between how cloud providers typically charge for storage versus egress?

Storage is billed for how much data is being kept, generally on a monthly per-GB basis. Egress is billed per GB of data actually transferred out of the provider's network, every time it happens — so a small amount of stored data that's served frequently can generate far more egress cost than storage cost.

intermediate

Why does fronting object storage with a CDN reduce egress costs?

A CDN caches content at edge locations closer to users, so repeat requests for the same content are served from the CDN's cache instead of hitting the origin object storage each time — dramatically reducing the number of times data actually has to egress from the origin bucket.

senior

A team is designing a multi-cloud architecture that replicates data between two providers for redundancy. What cost factor might they overlook, and how would you evaluate whether the redundancy is worth it?

They may overlook that continuously replicating data between two cloud providers pays full egress fees on every byte leaving the source provider, which for large or frequently-updated datasets can become a substantial ongoing cost — not a one-time migration cost. Evaluating whether it's worth it means comparing that ongoing egress cost against the actual business value of cross-cloud redundancy (e.g. surviving a full provider outage) versus a cheaper single-provider high-availability approach (multiple regions within the same provider) that may avoid egress fees for internal replication.

Production Best Practices

Do

Model egress cost based on expected transfer volume before committing to a cloud architecture.

Front high-traffic object storage with a CDN to absorb repeat requests at the edge.

Account for cross-region and cross-cloud transfer costs explicitly when comparing architectures.

Don't

Don't estimate cloud cost from storage pricing alone for data that's actually served to users.

Don't serve significant public traffic directly from object storage without a CDN.

Don't treat multi-cloud/multi-region replication as a storage-only cost decision.

Comparison

Billed WhenTypical Cost DriverCommon Mitigation
StorageData at rest, monthlyTotal data volume keptTiering (previous chapter)
EgressEvery transfer outTotal data served/movedCDN, egress-free providers

Related Articles