Skip to content
.qzip

Data transfer

Egress is the line that shouts.

Storage at rest can look cheap right up until something reads it from outside the region. Teams search cloud egress costs and data transfer fees when a download, a replica, or a NAT gateway dwarfs the disk. Ingress from the internet is often free. The way out is not. The fix starts by naming the path, because a free path does not need a smaller file, and a billed path bills every byte you put on it.

Why is my cloud egress bill so high?

You are paying for bytes that cross a boundary your provider meters. That can be the public internet, another region, another availability zone, or a NAT gateway in front of an otherwise ordinary call. The invoice often says data transfer and hides which boundary it was. Attribute the path before you tune anything.

AWS, Google Cloud, and Azure each publish network and storage pricing with several transfer cases: to the internet, between regions, and inside a region. The Well-Architected cost pillar describes services that reduce data transfer, including gateway endpoints for S3 and DynamoDB that avoid a NAT path. Those docs are the authority for which hop is free. Blog posts that quote a single dollar per gigabyte go stale. This page does not repeat a rate. Open the pricing page for the region you actually use and write the date next to the number in your spreadsheet.

The surprises are the hops that are not the internet. Cross-zone traffic inside one region is billed on some clouds and not on others. A NAT gateway can add a processing charge for every byte it touches, on top of whatever the destination charges. Cross-region replication looks like a durability feature and bills like an egress feature. A microservice mesh that chatters across zones can outspend the bucket you thought was the problem. If you cannot name the hop, you cannot tell whether compression, a cache, an endpoint, or a redesign is the right work.

Customer downloads are the loud version. A public object, a model file, a dataset, or a video segment that users fetch is internet egress unless a CDN or another free path sits in front. Cache hits may be billed on the CDN's own terms, which are often kinder than origin egress, and cache misses still fetch the origin. Compressing the origin object helps the miss and helps any viewer who must receive the bytes. It does nothing for a response you should not have sent at all.

Which data transfer paths are free, and which are not?

Same-zone traffic inside a network is often free. Internet ingress is often free. Internet egress, cross-region replication, and some cross-zone traffic are billed. Gateway endpoints can remove a NAT charge for storage APIs. Do not memorize a cheat sheet. Read the current provider page for your region and your service.

A free path is a design win, not a compression win. If S3 to CloudFront in the same arrangement is unbilled at the origin, making the object smaller does not reduce an origin fee that was already zero. It can still reduce what the CDN delivers onward if that delivery is billed. If a private endpoint makes bucket access free of NAT processing, stop sending that traffic through the NAT before you spend a quarter rewriting files. Architecture first, then size.

Replication is the path people forget to price. The second region holds a full copy, and the transfer that created it was metered. Every update resends the changed bytes. If you compress before you replicate, the transfer and the second copy both see the smaller object, provided the destination stores that form and can decompress it. If you compress only in the first region, you paid to send the large one. Order matters more than the codec argument.

Azure, Google Cloud, and AWS do not share one table. A pattern that is free in one region pair is billed in another. When someone on the team says egress is nine cents, ask which page, which region, which tier, and which month. Put that link in the ticket. Our calculator will multiply whatever rate you type. It will not pretend the rate is current.

Does compression reduce egress fees?

Yes, when the billed path carries the compressed bytes and the other side can restore them. The fee is per byte on that path, so fewer bytes cost less at the same rate. Compression does not make a free path cheaper, and it does not shrink traffic you fail to cache or fail to filter. Measure the object you send.

Think of egress as a toll on weight. If the truck has to cross a tolled bridge, a lighter truck pays less. If the bridge is free, weight is not the toll. Lossless compression makes the payload lighter and promises the same bytes at the other end. That is the right promise for files, datasets, logs, and backups. It is the wrong promise if you were willing to drop frames or sample logs. Dropping data is a product decision. Do it in the application, on purpose, and do not call it compression.

Where you compress decides which toll you miss. Compress in the client before upload and you may cut ingress, which is often already free, and you cut the stored size, which then cuts later egress. Compress at the edge only for the response and the stored object stays large for every other consumer. Compress inside the archive format your backup tool already uses and you only help that copy. Draw the path. Mark the billed hops. Put the smaller bytes on those hops.

Video and other encoded media may not shrink. We say that plainly on the video page. A general-purpose pass over an MP4 can do almost nothing because the codec already spent the redundancy. Send a sample of what you actually serve. If it does not move, we will say so. If the expensive bytes are sidecars, logs, or uncompressed masters, those are a different sample.

What should I do before I buy a transfer discount?

Attribute the transfer, remove chatty and accidental paths, cache repeated downloads, and only then shrink what you still send. A committed discount on a wasteful path is a discount on waste. A smaller object on a necessary path saves the same fraction at list price or at your negotiated rate.

Start with flow logs, bucket access logs, or the cost explorer split by usage type until one path is obviously the bill. Cross-region replication, NAT processing, and public downloads feel different in the architecture diagram and often share one line on the invoice. Split them. Then delete the transfers that should not exist: jobs that pull a whole bucket to change a column, dashboards that refetch full history, replicas in a region nobody fails over to.

Cache the transfers that repeat. A CDN, a local mirror, or an internal artifact cache changes how often the origin pays. Read the CDN's own pricing. A cache with a low hit rate is just another hop. Range requests and incremental syncs send less than a full copy when the tool supports them. Compression is complementary: the object in the cache is smaller, so the hit and the miss both move less.

After the path is honest, price a ratio you believe, using your rate, in the calculator. If the yearly difference is not worth a project, stop. If it is, send us a sample of the objects on that path. We will measure the sample. We will not quote the enwik9 ratio as your egress savings. That figure is a text benchmark, as of Oct 14, 2026, and your download is not that file.

Questions.

Is ingress free on AWS, Google Cloud, and Azure?

Internet ingress is free on the major clouds in the usual case, and internet egress is not. Exceptions exist for specific products and regions. Check the current network pricing page before you design around a memory. Do not skip egress just because uploads felt free.

Will a CDN eliminate egress?

A CDN can move delivery off the origin's egress rate and onto the CDN's rate, which may be lower, especially when the object is cached. Misses still read the origin. You still send bytes to users. Read the CDN pricing page. A smaller object reduces bytes on whichever rate applies.

Should I compress if the path is a NAT gateway?

First, get off the NAT if a gateway endpoint or private path exists for that API. AWS documents gateway endpoints for S3 and DynamoDB with no hourly processing charge. If the remaining traffic is still billed per byte, a smaller payload reduces that charge. Fix the path, then the size.

Provider docs, not our price list.

Links checked Oct 21, 2026. Rates and rules on those pages can change.

Send us a sample.

We will measure it on your files. We will not quote a savings number we have not measured. Write hello@qzip.ai or join the waitlist.