A 10 TB monthly download workload can have several different cloud bills. Serve every request from the origin and the origin handles every byte. Put a cache in front of it and a large share of that traffic may never reach the origin. Add replication to a second region and the application creates another data flow that the download figures do not describe.

Follow the bytes, not just the internet connection

Egress means data leaving a particular resource or billing boundary. It does not always mean data leaving the cloud provider. Transfers between availability zones, between regions and over the public internet can have different prices. Some traffic within a service or location is exempt.

Google Cloud's network pricing documentation distinguishes these paths, including internal versus external addresses and network tiers. Two VMs in one project are not necessarily communicating for free. Their zones, address types and services determine which billing rules apply.

AWS explains the corresponding reporting details in its Cost and Usage Report transfer guide. An inter-region movement can produce incoming and outgoing records without both records representing a charge. Regional transfers may be billed on both metered sides, subject to exceptions. Look at the usage type, source, destination and cost rather than assuming duplicate-looking records mean an invoice error.

Keep the units consistent too. One GiB is 1,073,741,824 bytes; one decimal GB is 1,000,000,000 bytes. Match the provider's stated billing units when converting traffic measurements into costs.

A simple cache example

Suppose an application serves 10,000 GB of cacheable content per month. An 80% byte-hit ratio would leave 2,000 GB to be fetched from its origin, ignoring revalidation and other transfers. If a hypothetical origin charges $0.08 per GB, that part of the transfer bill would fall from $800 to $160.

The remaining 8,000 GB did not vanish. The cache provider still delivers those bytes to visitors and may charge for delivery, requests or the cache service. Cache misses, uncacheable responses and background refreshes can add traffic. This example uses assumed rates and hit ratios, not a quote from a particular vendor.

Measure byte-hit ratio as well as request-hit ratio. A cache might satisfy most small requests but miss the large downloads that account for most of the transfer bill. A hit rate alone is not enough to estimate savings.

Free allowances and egress-free storage

The EC2 on-demand pricing page describes free internet-transfer allowances and their exclusions, including aggregation across eligible services. Check the region, account terms and current rate before using an allowance in a budget. Migration concessions, where available, are not necessarily ongoing delivery discounts.

Cloudflare R2 pricing takes a different approach: direct R2 egress does not incur a bandwidth charge. Storage and operations remain billable, with additional retrieval charges for Infrequent Access. Other services used to deliver or process an object can have their own billing rules.

For example, downloading a 1 GB object once and reading one million 1 KB objects transfer roughly the same amount of data, but the latter creates far more operations. An egress-free storage product can still have a substantial request bill. The object size distribution matters.

Replication, backups and migration

A database sending 200 GB of updates per day to another region creates roughly 6,000 GB of transfer in a 30-day month before protocol overhead or additional copies. Storage and processing at the destination are separate costs. Whether that expense is justified depends on the recovery or placement benefit it buys.

A one-time migration export should not be treated as a recurring workload. Equally, a steady analytics feed or cross-cloud replication job should not be budgeted using a temporary migration concession. Estimate a recovery event separately if it would involve a large export from archival storage.

Build the estimate around actual flows

Record each material source, destination and volume. Separate the normal internet-delivery path from cross-zone requests, inter-region replication, backup transfers and exceptional recovery traffic. Add operation, retrieval and processing charges where the services impose them.

Then check the model against the billing export rather than assuming the architecture diagram is the bill. A new replica or a drop in cache-hit ratio should show up as a specific change in projected cost. For the recovery side of this calculation, see object storage durability, availability and backups.