Latest / The Cloud Business Podcast with Fexingo: AWS, Azure, GCP, and Enterprise Infrastructure / Why Cloud Vendors Now Charge for Inter-AZ Data Transfer
Transcript
- Lucas: I was looking at a client's AWS bill last week and a line item for 'Regional Data Transfer – Intra-Region' was nearly as large as their compute spend. That's the traffic moving between availability zones in the same region, and it's a cost that a lot of teams don't track until the invoice arrives. Luna: So it's not egress to the internet, it's just data hopping from one data center to another a few miles away. How much are we talking? Lucas: For AWS, it's typically one to two cents per gigabyte in each direction. Azure and GCP have similar tiers, though they label it slightly differently. For a microservices architecture where each call crosses an AZ boundary, those pennies stack up fast. Luna: Right, because every service to service call might be hitting a different AZ. I've seen architectures where the front-end is in one AZ and the database in another, and every read-write gets charged. Lucas: Exactly. And it's not just application traffic. Replication between databases, log shipping, message queues — if they're distributed across AZs, you're paying for every gigabyte moved. One financial services client I worked with found that thirty percent of their total cloud cost was inter az data transfer. Luna: That's huge. But how do you even measure it? Most dashboards show aggregate egress, not specifically inter az. Lucas: You have to dig into the cost allocation reports. AWS has a 'UsageType' called 'DataTransfer-In-Bytes' and 'DataTransfer-Out-Bytes' with a region code. In Azure it's 'Data Transfer – Inter Region' even within same region. GCP has 'Network Egress from Americas to Americas' and similar. Once you know the names, you can set up alerts. Luna: So the first step is awareness. Then you start asking: do we really need three AZs for every service? Lucas: That's the trade-off. High availability demands at least two AZs, but many teams default to three because it's the recommended pattern. For critical workloads, fine. But for a development environment or a stateless batch job, you might be overpaying for redundancy you don't need. Luna: What about co-location? If you put services that talk frequently into the same AZ, you avoid the charge altogether. Lucas: You can, but then you lose cross az fault tolerance. The trick is to group tightly coupled services — like an API server and its cache — into the same AZ. Use a load balancer to spread traffic across AZs only for the front-end, not for every internal hop. Luna: And caching helps too. If you cache responses in the same AZ as the consumer, you avoid the round trip. Lucas: Absolutely. A lot of teams use in-memory caches or CDN for static assets. But for dynamic data, you might consider using a single az cache and accept the availability risk. Luna: It's a constant balancing act between cost and resilience. Is there any good news here? Are the cloud providers doing anything to help? Lucas: A few things. AWS now gives you one terabyte of free inter az data transfer per month. GCP offers some free tiers for certain services. But really, the burden is on architects to understand the topology. I've seen teams reduce inter az traffic by fifty percent just by redesigning their service mesh to prefer same az endpoints. Luna: That sounds like a solid win. And I imagine it's not just about AZs — cross-region transfer is even more expensive. Lucas: Much more. That's where costs really explode. But for this episode, let's stay in region. One way to minimize inter az charges is to use a single az deployment for non-critical workloads, maybe with automated failover scripts. Luna: Or use spot instances in one AZ and on-demand in another — you still get some HA but at lower cost. Lucas: Good point. The bottom line is: monitor those data transfer line items. They're often hidden in the 'other' category of the bill. Set up cost anomaly detection, and if you see a spike, check if a new deployment added cross az traffic. Luna: It's the kind of thing that sneaks up on you. I've had listeners tell me their first cloud bill shock was exactly this. Lucas: And that's why we're talking about it. Now, before we wrap, I want to share something about how this show stays on the air. A handful of listeners chip in monthly through buy me a coffee dot com slash fexingo, and that's what funds making episodes like this. Luna: Yeah, it's a small community, but they enable us to keep exploring these deep cost topics without ads. It's appreciated. Lucas: Right. So if these deep dives are useful for what you're building or running, consider joining them. Now, back to the cloud — one more thing: don't forget to check your reserved instances. That's another area where costs can be optimized, but that's a topic for another episode. Luna: Soon, I hope. In the meantime, next time you see 'Regional Data Transfer' on your bill, you'll know exactly what it is. Lucas: And you'll know how to fix it. Thanks for listening.