VPS Egress Billing and the S3 Backup Restore Trap: What a Restore Actually Costs

Object storage looks free next to a VPS volume until you price a restore. A 2 TB encrypted backup set costs about $25 a month to store. Pulling all of it back to rebuild a server is a different bill: it egresses the bucket at $0.09/GB, then egresses your VPS if a second node copies it. The restore you never tested is the most expensive 2 TB you will ever move.

Object storage is the right place for backups. It is also the one place where ingestion is free, listings are per-request, and retrieval is billed per gigabyte at ten times the storage rate. That asymmetry is deliberate: whoever holds your data does not want it leaving. Here is the cost and time math behind a restore you can rely on.

Why backup storage is cheap per GB and retrieval is not

Standard-class object storage charges roughly $0.0125 to $0.023 per GB-month for capacity and nothing for inbound writes. Retrieval is where the margin lives: a general-purpose bucket bills $0.09/GB out on a tiered schedule after a free allowance that is usually 100 GB a month. A 2 TB restore therefore costs about $175 in bandwidth alone before request charges, and that is if you stay on the cheapest tier.

Request charges are smaller but they are per-object, which makes them a function of file count rather than data size. A backup of 4 million small files can cost more in GET requests at $0.0004 per thousand than the bandwidth for the same bytes stored as ten large archive files. If you are restoring at speed, this matters more than it looks. You can compare provider storage terms on our comparison table before repricing a bucket.

Infrequent-access tiers cut storage and double retrieval

Cold tiers fit the backup case and save at $0.004 to $0.0125 per GB-month. The catch is retrieval: cold bandwidth runs $0.01 to $0.03/GB, some tiers add a retrieval fee on top of transfer, and a minimum storage duration penalises early deletion.

The practical rule: cold tiers are correct for data you restore less than once a year, and wrong for the backup you would actually restore during a live incident. Keep the most recent daily set in standard class, push weekly archives to cold storage, and document which bucket holds which. Mixing them up is how an outage turns into a four-figure retrieval bill.

The restore-time math nobody budgets for

Bandwidth on a budget VPS is shared and usually capped well below the headline port speed. A clean 200 Mbps sustained pull is optimistic for the cheap end of the market; 80 to 120 Mbps is more typical once other tenants on the node are busy. At 100 Mbps, 2 TB takes roughly 44 hours. At 200 Mbps, 22 hours. That is not a restore, it is a multi-day outage — and it costs money whether or not the bucket charges for it.

Parallel download helps only if the store and your port both allow it. Eight concurrent parts can saturate a gigabit link and cut this to under six hours, provided the backup was written as large objects rather than millions of tiny files — a decision made at backup time.

ItemRate2 TB restore
Storage, standard class$0.0125/GB-mo$25.00/month
Storage, cold class$0.0080/GB-mo$16.00/month
Egress, standard$0.09/GB$184.32
Egress, cold retrieval$0.02/GB$40.96
GET requests, 4M objects$0.0004/1k$1.60
Time at 100 Mbps12.5 MB/s~44 hours
Time at 1 Gbps, 8 parts125 MB/s~4.5 hours

Design quotas around the restore, not the backup

Most quota design focuses on how much you can store. The variable that determines whether you can recover is the monthly retrieval allowance each bucket grants. Standard tiers often include 100 GB of free egress; that is 5% of your backup set. Anything above it is billed, and the bill lands in the month you can least afford surprises.

Size the allowance to at least one full restore per month, times 1.5. For a 2 TB set, that means 3 TB of retrieval headroom, which either means a provider with generous egress or a plan that explicitly includes it. Write that number into your architecture notes next to the backup schedule, and recheck it whenever the data set grows by more than 20%.

The second-hop egress trap on the VPS side

The bucket is half the bill. When restored data lands on your VPS and is replicated to a second node or a staging host, your provider charges egress for every byte that leaves. One 2 TB restore replicated once is 2 TB of VPS egress: a $10 overage on a 1 TB allowance at $0.01/GB, $92 on a $0.09/GB plan.

Two ways out. Restore once into the final location and re-point DNS, rather than restoring a staging copy first. Or restore from a snapshot that lives inside the provider’s own network, where traffic between storage and compute is often free. That second option costs more per GB stored, but it removes the double egress when you actually need it.

Restore drills that cost cents instead of hundreds

You cannot afford to test a full 2 TB restore monthly, but you can afford to test the mechanics. Restore a 5 GB slice — a database dump, a random archive shard, a config bundle — into a scratch instance and time it. Verify that checksums match, that the encryption key is present in the password manager and not only on the dead server, and that the bootstrap script runs against the restored data.

# drill: pull one shard, verify, then delete
aws s3 cp s3://backups-prod/db/2026-10-30.sql.gz.enc . \
  --endpoint-url https://s3.example.net
sha256sum 2026-10-30.sql.gz.enc | grep -F "$(cat 2026-10-30.sha256)"
openssl enc -d -aes-256-cbc -pbkdf2 -in 2026-10-30.sql.gz.enc -out db.sql.gz
zcat db.sql.gz | psql -h localhost restoredb -q && echo DRILL_OK

What the full restore actually costs, end to end

Standard class, 2 TB, one restore a month, 1 TB VPS egress allowance: $25 storage, $184 bucket egress, $10 VPS overage, 44 hours down. Cold class: $16 storage, $41 retrieval, $92 VPS overage if replicated, same multi-day window. The restore is the expensive part of the backup.

The fix is not avoiding object storage — it is not treating a restore as a monthly cost. Keep a hot recent copy cheap to pull, push archives cold, drill on small slices, and confirm the egress allowance covers one full restore. Compute-side pricing is on the plan and terms comparison, including the overage rates that decide the second hop.

Affordable-Vps-Server-Author
Affordable-Vps-Server-Author
Articles: 393

Leave a Reply