Moving data out of AWS S3, Google Cloud, or Azure storage costs $0.09 to $0.12 per GB. Compare real egress rates and see how teams cut them to zero.

Egress fees are the charge a cloud storage provider adds when data leaves its network, whether that's a download, a streaming session, or a backup replicating to another region. The fee scales with volume.
A workload that looks cheap in storage costs can turn expensive the moment it starts serving traffic.
TL;DR
That gap compounds fast for anything data-heavy: media delivery, model artifacts, RAG document corpora, call recordings.
Pricing varies more on egress than on storage itself. AWS S3's pricing page puts standard internet egress at $0.09/GB for the first 10TB each month, tapering to $0.05/GB only past 150TB.
Google Cloud Storage charges $0.12/GB, the highest of the major providers.
| Provider | Storage ($/GB/mo) | Egress ($/GB) |
|---|---|---|
| Telnyx Cloud Storage | $0.006 | $0 |
| Cloudflare R2 | $0.015 | $0 |
| Backblaze B2 | $0.006 | $0 up to 3x stored volume, then $0.01 |
| Wasabi | flat per-TB rate | tied to active storage, not flat-free |
| Azure Blob Storage | $0.018 | $0.087 |
| AWS S3 | $0.023 | $0.09 |
| Google Cloud Storage | $0.020 | $0.12 |
Backblaze and Wasabi land closer to zero-egress than the hyperscalers, but neither guarantees a flat $0 the way Telnyx or Cloudflare do.
Take a support line handling 1 million calls a month, a common scale for a national contact center. Each call runs about 5 minutes at the standard 64kbps telephony bitrate, so a recording lands around 2.4MB.
That volume moves through the pipeline fast:
On a Frankenstack, telephony, storage, and speech-to-text are three separate vendors, so that audio crosses network boundaries repeatedly. At the AWS rate above, that's about $453/month.
Egress fees exist because hyperscalers treat storage and compute as separate services joined over the public internet. Every byte crossing that boundary gets billed. That's an architecture choice, not physics.
Telnyx's Object Storage skips the boundary: an edge function reads and writes objects through a binding, not an HTTP call to an external service.
That binding also backs CloudFS, the mountable filesystem layer that lets agents read and write files directly instead of scripting uploads.
The same pattern shows up in decentralized storage architectures generally, where compute and storage share a network by design.
Egress fees are charges a cloud storage provider adds when data leaves its network, whether through a download, a streaming session, or a backup replicating to another region. They scale with volume, so a provider's storage price alone doesn't reflect the full cost of actually using that data.
Hyperscalers treat storage and compute as separate services connected over the public internet, a pattern rooted in edge computing architecture that keeps them apart, and every byte crossing that boundary gets billed. Providers that colocate storage with compute, like Telnyx or Cloudflare R2, don't need to charge for it at all.
Providers multiply the gigabytes transferred out of storage by a per-GB rate that usually depends on volume, destination, and speed. AWS S3 charges $0.09/GB for the first 10TB each month, tapering to $0.05/GB past 150TB, while Telnyx and Cloudflare R2 charge $0 regardless of volume.
Google Cloud Storage charges the most at $0.12/GB, AWS S3 charges $0.09/GB, and Azure Blob Storage charges about $0.087/GB. All three price egress separately from storage, unlike an edge compute vs cloud platform built to keep both on one network, so a 10TB monthly transfer still costs $870 to $1,200.
Ingress is data moving into a storage service, like an upload or a write. Egress is data moving out, like a download or a read from another service, the kind of read that drives up inference latency when storage sits far from compute. Most providers charge only for egress.
The most direct way is picking a provider that doesn't charge for it, like Telnyx Cloud Storage or Cloudflare R2, both priced at $0/GB. Telnyx also runs co-located infrastructure that keeps compute next to storage. On a hyperscaler, caching and batching transfers can reduce, but not eliminate, the charge.
Further reading
Related articles