The Hyperscaler Extortion: Bypassing High Egress Fees During Repatriation
Data gravity is the hyperscaler business model. Getting data in is free. Getting it out runs ~$0.09/GB on AWS's standard internet egress tier — roughly $92 per TB, before request charges. For a 100 TB footprint, the naive lift-and-shift quote is a five-figure bill, and that number is doing exactly what it was designed to do: keep you from leaving.
Here's the part they don't advertise, and the pipeline we actually run.
1. Claim the free-egress waiver first
Under pressure from the EU Data Act, AWS (March 2024), Google Cloud, and Azure all introduced free-egress programs for customers leaving the platform entirely. AWS's version: open a support ticket, state you're migrating off, and receive 60 days of free data transfer out. It is not automatic, it is not advertised on the pricing page, and it requires you to actually close out the services afterward.
Caveats that matter in practice:
- The waiver covers internet egress, not cross-region transfer you might do while staging.
- The 60-day clock starts when granted — your mirroring pipeline must be built and tested before you file the ticket.
- Partial exits don't qualify. If you're keeping some workloads in AWS, you're negotiating, not claiming.
This alone converts the headline egress bill to zero for a full repatriation. Everything below still matters, because a 100 TB transfer that saturates for weeks is an operational risk regardless of what it costs.
2. Shrink the bytes before they cross the meter
Egress is billed on bytes transferred, not logical data size. Compression is a direct discount:
# PostgreSQL: compressed logical dump streamed straight out —
# nothing staged on EBS, zstd typically 3-5x on row data
pg_dump -Fc -Z0 mydb | zstd -T0 -19 | \
ssh migrate@target 'zstd -d | pg_restore -d mydb'
For object storage, rclone with concurrency tuned for long-haul TCP:
rclone sync s3:prod-bucket minio:prod-bucket \
--transfers 32 --checkers 64 \
--s3-chunk-size 64M \
--checksum --progress
Text-heavy datasets (logs, JSON, CSV) routinely compress 5–10×. Media and already-compressed formats won't — know your ratio before you promise a timeline.
3. Snapshot exports beat live-instance copies
Pulling from a live EBS volume or RDS instance means paying for the instance while throttling your own production I/O. Instead:
- RDS → S3 snapshot export (Parquet, ~$0.01/GB) then one bulk pull, rather than days of
pg_dumpagainst production. - EBS direct APIs let you read snapshot blocks without mounting — only allocated blocks transfer, not provisioned size.
- S3 → S3-compatible (MinIO) pulls run bucket-parallel; per-bucket rate limits stop mattering when the destination is your own hardware.
4. The staged pipeline
The full sequence we run, ordered so production never notices:
| Stage | Action | Production impact |
|---|---|---|
| 1 | Land the bare-metal stack (MinIO, PostgreSQL, RabbitMQ) | none |
| 2 | Initial bulk sync — snapshots + compressed exports | none (reads from snapshots) |
| 3 | Continuous delta sync — WAL streaming, rclone on cron | negligible |
| 4 | File the egress waiver ticket, re-verify checksums | none |
| 5 | Cutover behind reverse proxy, cloud stack goes warm-standby | zero downtime |
| 6 | Teardown, final invoice audit | the bills stop |
The delta-sync stage is the insurance policy: by cutover day the datasets have been converging for weeks, checksummed continuously. The switchover moves traffic, not data.
The real number
For a representative 40 TB stack: naive egress quote ~$3,700; with the waiver, $0; without the waiver but staged and compressed, typically under $600. The five-figure exit bill is a story hyperscalers tell, not a fact about your architecture.
The egress fee was never the real lock-in. The real lock-in is the untangling — knowing every place your app assumes S3 semantics, IAM magic, or RDS failover behavior. That's the part where a fractional CTO who has run this playbook before earns the fee.
DigiSalvage runs zero-downtime cloud exits for founders who want their infrastructure back. Run your exit math or book a recon call: ops@digisalvage.com.