All posts
Redis CloudCost OptimizationData TransferAWSVPC Peering

Redis Cloud Data Transfer Costs: The Hidden Line Item That Can Exceed Your Subscription

Polystreak Team2026-04-029 min read

Redis Cloud pricing is straightforward: you pay for memory, throughput, and the features you enable (persistence, replication, multi-AZ). What doesn't appear on the Redis Cloud pricing page — but shows up on your cloud provider bill — is data transfer. Every response to a GET command, every pub/sub message delivered, every replication byte between nodes, and every byte that crosses an availability zone or region boundary is a data transfer charge. For high-throughput AI workloads, this invisible cost regularly exceeds the subscription itself.

The Redis Cloud subscription buys you memory and throughput. The cloud provider charges you for every byte that travels across the network to use them. At 100,000 ops/sec, network charges are the real bill.

How Data Transfer Costs Work with Redis Cloud

Redis Cloud runs on AWS, GCP, or Azure. When your application connects to Redis Cloud — whether via VPC peering, Private Link, or the public endpoint — every response travels across the network. The cloud provider meters this traffic and charges accordingly. Redis Labs doesn't add a markup on transfer, but you pay the underlying provider's rates.

The cost depends entirely on the network path between your application and the Redis Cloud cluster. Same AZ? Free. Cross-AZ? Metered. Cross-region? More expensive. Public internet? Most expensive.

Network PathDirectionTypical Cost (AWS)
Same AZ (VPC peering)App ↔ RedisFree
Cross-AZ (VPC peering)App ↔ Redis$0.01/GB each direction
Same region (Private Link)App ↔ Redis$0.01/GB + endpoint hourly fee
Cross-regionApp (us-east-1) ↔ Redis (eu-west-1)$0.02/GB
Public endpoint (internet)App ↔ Redis$0.09/GB egress
Active-Active replicationRedis (region A) ↔ Redis (region B)$0.02/GB per region pair
Backup export to S3 (same region)Redis → S3Free
Backup export to S3 (cross-region)Redis → S3$0.02/GB

Why Transfer Costs Exceed the Subscription

A Redis Cloud Pro subscription for a 10GB database with replication might cost $300-500/month. But if that database handles 50,000 ops/sec with an average response size of 2KB, the math changes dramatically.

50,000 ops/sec × 2KB × 86,400 seconds/day = 8.6TB/day of response data. Even at cross-AZ rates ($0.01/GB each direction), that's $172/day or $5,160/month — 10x the subscription cost. The subscription is a fixed fee for memory. The transfer is a variable fee that scales with throughput. And Redis is designed for high throughput.

Redis is fast because it serves from memory. That speed means more data crosses the network per second than almost any other database. More throughput, more transfer, more cost.

Here are the five patterns that cause the biggest transfer bills.

1. Cross-AZ Traffic Without VPC Peering Awareness

Redis Cloud deploys your database across availability zones for high availability. If your application pods run in us-east-1a but the Redis primary is in us-east-1b, every command-response pair crosses an AZ boundary. With VPC peering, you avoid the public internet — but cross-AZ charges still apply. At high throughput, $0.01/GB × 2 directions adds up to thousands per month.

2. Large Value Sizes

Redis is often used to cache JSON objects, serialized sessions, LLM responses, or context chunks. If the average value size is 10KB instead of 1KB, your data transfer volume is 10x higher for the same number of operations. Teams cache entire API responses or full conversation histories as single keys without thinking about the network cost of retrieving them.

3. Active-Active Geo-Replication

Redis Cloud's Active-Active feature replicates writes across regions in real time using CRDTs. Every write in us-east-1 is replicated to eu-west-1 and ap-southeast-1. If you write 10GB/day, that's 20GB/day of cross-region transfer (two remote regions). At $0.02/GB, that's $12/day or $360/month — just for replication, before any application read traffic.

4. Pub/Sub and Streams at Scale

Redis Pub/Sub delivers every published message to every subscriber. If you publish a 5KB message to a channel with 100 subscribers, Redis transfers 500KB — not 5KB. Redis Streams are more efficient (consumers pull), but if consumers are in different AZs or regions, every XREADGROUP response is metered. AI agent architectures using Redis Pub/Sub for real-time event distribution can generate massive fan-out transfer.

5. Using the Public Endpoint Instead of VPC Peering

Redis Cloud provides a public TLS endpoint by default. It works, it's easy, and it's the most expensive path. Public internet egress on AWS costs $0.09/GB. VPC peering (same region) costs $0.00-0.01/GB. For a database doing 1TB/month of transfer, that's $90/month vs $10/month — a 9x difference just by switching the network path.

The single biggest data transfer savings: switch from public endpoint to VPC peering. Same database, same queries, same throughput — 9x lower transfer cost.

The Optimization Playbook

Set Up VPC Peering (or Private Link)

This is step one, non-negotiable. VPC peering connects your AWS VPC directly to Redis Cloud's VPC. Traffic stays on the private network — no internet egress, no NAT gateway charges. Redis Cloud supports VPC peering on Pro plans. Set it up in the Redis Cloud console under the subscription's networking tab, accept the peering request in your AWS account, and update your route tables.

If VPC peering isn't possible (multi-account complexity), use AWS PrivateLink instead. It's slightly more expensive ($0.01/GB + endpoint hourly fee) but still far cheaper than the public endpoint.

Pin Your Application to the Same AZ as the Redis Primary

Redis Cloud shows which AZ hosts the primary shard. Deploy your application's Kubernetes node group, EC2 instances, or Lambda functions in the same AZ. Same-AZ traffic over VPC peering is free. This alone can eliminate the largest transfer cost component.

For EKS: use node affinity rules to schedule pods in the target AZ. For Lambda: deploy in a VPC subnet in the same AZ. For EC2: use placement groups or subnet selection.

Reduce Value Sizes

Every byte in the value is a byte on the wire. Compress values with LZ4 or zstd before writing to Redis — 50-70% reduction for JSON and text. Remove unnecessary fields from cached objects before storing. If you cache an API response with 30 fields but only use 5, store only those 5.

TechniqueTransfer ReductionEffort
LZ4 compression50-60%Low — add compress/decompress in client wrapper
Field pruning before cache write40-80% (varies)Medium — requires knowing which fields are consumed
MessagePack instead of JSON20-30%Low — swap serializer in client
Protocol Buffers60-70%High — requires schema definition
Shorter key namesNegligible for transferLow — key names are small vs values

Use MGET Instead of Multiple GETs

Each Redis command has protocol overhead — the command itself, the response framing, and TCP packet overhead. Batching 100 GETs into a single MGET reduces the number of network round trips and the per-command protocol overhead. This doesn't change the total value bytes transferred, but it eliminates redundant TCP/TLS framing and reduces the total bytes on the wire by 15-25% for small values.

For AI workloads retrieving multiple context chunks or session keys per request, pipeline your commands. Redis pipelining sends multiple commands in one network round trip and reads all responses at once.

Evaluate Active-Active Necessity

Active-Active is powerful for global write availability, but the cross-region replication cost is proportional to your write volume. If one region handles 90% of writes, consider switching to a single-region primary with a read replica (Active-Passive) for the secondary region. Read replicas only transfer the replication stream — much less than bidirectional CRDT sync.

ArchitectureWrite Volume 50GB/moTransfer Cost
Single region, multi-AZ50GB internal replication~$1 (cross-AZ, minimal)
Active-Passive (1 remote region)50GB replication to remote~$1 + $1 (cross-region) = ~$2
Active-Active (2 regions)50GB × 2 directions of CRDT sync~$2 + conflict data overhead
Active-Active (3 regions)50GB × 6 directions~$6+ with CRDT overhead

The numbers above are replication transfer only. Add application read/write traffic on top. The point: Active-Active costs scale geometrically with regions, not linearly.

Control Pub/Sub Fan-Out

If you use Redis Pub/Sub for event distribution, minimize the message size and the subscriber count per channel. Use Redis Streams instead of Pub/Sub where possible — Streams use consumer groups, so each message is delivered once per group, not once per subscriber. For AI agent event buses, Streams with consumer groups can reduce fan-out transfer by 90%+ compared to Pub/Sub with many subscribers.

Monitor with Redis Cloud's Bandwidth Metrics

Redis Cloud exposes network throughput metrics in the subscription dashboard — ingress and egress in bytes/sec per database. Track these over time. If egress is climbing without a corresponding increase in ops/sec, your average response size is growing (likely larger cached objects or more keys per multi-get). Combine with your AWS Cost Explorer to see the actual dollar impact.

  • Redis Cloud dashboard — Network ingress/egress per database. Watch for egress spikes.
  • Prometheus metrics (port 8070) — redis_network_input_bytes, redis_network_output_bytes. Alert when output_bytes grows faster than ops/sec.
  • AWS Cost Explorer — Filter by VPC peering or PrivateLink service to see Redis-specific transfer costs.
  • NAT Gateway logs — If traffic routes through NAT (it shouldn't with VPC peering), each GB costs an extra $0.045.

The Redis Cloud Data Transfer Checklist

  • 1. Enable VPC peering — eliminates public internet egress ($0.09/GB → $0.00-0.01/GB).
  • 2. Pin application to the same AZ as Redis primary — makes VPC transfer free.
  • 3. Compress values with LZ4/zstd before caching — 50-60% less bytes on the wire.
  • 4. Prune cached objects to only the fields you consume — 40-80% smaller values.
  • 5. Use MGET and pipelining — reduce per-command protocol overhead by 15-25%.
  • 6. Evaluate Active-Active vs Active-Passive — replication transfer scales geometrically.
  • 7. Switch Pub/Sub to Streams with consumer groups — 90%+ fan-out reduction.
  • 8. Set TTLs to prevent unbounded memory (and unbounded reads of stale data).
  • 9. Monitor egress in Redis Cloud dashboard and AWS Cost Explorer monthly.
  • 10. Check for NAT gateway routing — VPC peering should bypass NAT entirely.
Redis is the fastest database in your stack. That speed means it moves more data per second than anything else. If you don't optimize the network path, you're paying a premium for every microsecond you save.