Backup Storage Prices

Storage for Velero's Kubernetes backups: the year's bill with backups kept 30 days and one full restore

Prices checked

For a Kubernetes cluster with 1 TB in its volumes, backed up nightly by Velero and each backup kept for Velero's default 30 days, OVHcloud Object Storage Infrequent Access costs least over a year with one full restore, minimum storage periods included: $81.94, that is $6.49 a normal month and $10.55 the month you restore the cluster's volumes. 13 of the 18 vendors we price are ranked below on the same bill.

Velero deletes a month of packs every month. Each backup expires after Velero's default 30 days, and full maintenance deletes the packs only it used a day or more later (Velero documentation, How Velero Works; Backup Repository Configuration). A class that bills each object for longer charges the rest on every pack: at Wasabi, 90 days per pack add $8.57 to a $11.63 month, making it $20.20.

Only some of Velero's backups land in the bucket. By default Velero backs up volumes as disk snapshots, which stay with your cloud's disks and are billed there. File-system backup (--default-volumes-to-fs-backup, with the node agent installed by velero install --use-node-agent) and the CSI data mover (--snapshot-move-data) copy the volume data into a Kopia repository in the bucket, one per namespace (Velero documentation, File System Backup; CSI Snapshot Data Movement). That copy is what this page prices. The cluster's own resources go to the bucket with every backup in a few small files.

Keeping backups 90 days instead? With --ttl 2160h0m0s the bucket holds about 2.8 TB, three months of changes, and a 90-day minimum no longer bills deleted packs: OVHcloud Object Storage Infrequent Access then costs least, $140.39 a year with one restore. Wasabi moves from 10th to 8th.

If maintenance stops, nothing is deleted. Velero runs Kopia's maintenance every hour and a full one every 24 hours (Velero documentation, Repository Maintenance; Backup Repository Configuration). An expired backup frees space only once full maintenance completes, sometimes more than one run, so check that the maintenance job finishes: while it fails, every expired pack stays in the bucket and is billed. To see it, describe the repository (kubectl -n velero describe backuprepositories): its status shows Last Maintenance Time and, under Recent Maintenance, when each run started and finished and whether it succeeded. Maintenance also rewrites partly used packs; how much depends on the backups you keep, so it is not in the bills here.

Before the first backup, replace the repository password. Velero creates a secret, velero-repo-credentials, that holds a default password for every repository it creates. Put your own repository-password in it before the first file-system or data-mover backup: changed afterwards, Velero can no longer open the older backups (Velero documentation, File System Backup). Velero writes to Amazon S3 and other S3-compatible services through its AWS plugin, and to Google Cloud Storage and Azure Blob Storage through plugins of their own; the S3-compatible services it lists, Oracle Cloud and DigitalOcean among them, are ones users report working, "not regularly tested by the Velero team" (Velero documentation, Providers).

Pointing Velero at a service other than AWS. Install the AWS plugin release made for Velero 1.18 (velero/velero-plugin-for-aws:v1.14.4, the newest on ) and tell velero install where the bucket is: --backup-location-config region=<region>,s3Url=https://<endpoint>, with the S3 endpoint from the service's own documentation, plus s3ForcePathStyle="true" if that documentation asks for path-style addresses. The plugin adds a CRC32 checksum to every upload by default; its list of known issues says Backblaze B2 needs checksumAlgorithm="" to avoid an XAmzContentSHA256Mismatch error, and that Google Cloud Storage should use Google's own plugin instead (Velero plugins for AWS; Backup Storage Location).

Storage for Velero backups, cheapest year first

One row per vendor: its cheapest class you can read at once, without restoring each file first, once its minimum storage period is paid. Ranked on 11 normal months and one month you restore the cluster's 1 TB of volumes.

Storage for Velero backups, ranked by the year with one full restore
#OfferWhereYear with one restoreNormal monthMonth you restoreDownloadsChecked
1 OVHcloud Object Storage Infrequent Access France (Gravelines) $81.94 $6.49 $10.55 No download fees
2 IDrive e2 United States (Virginia) $115.20 $9.60 $9.60 Downloads free up to 3× what you store
3 Backblaze B2 Cloud Storage United States (US West) $132.60 $11.05 $11.05 Downloads free up to 3× what you store
4 Storj Standard Distributed worldwide $141.40 $11.20 $18.20 Every GB downloaded is billed
5 Tigris Archive Instant Retrieval Bills each pack for at least 90 days: deleting packs at about 31 days adds $4.40 a month. Automatic location $153.46 $10.46 $38.40 No download fees
6 DigitalOcean Spaces Cold Storage United States (New York 3) $185.16 $15.43 $15.43 First 1 TB downloaded free each month
7 Oracle OCI Object Storage Infrequent Access United States (Ashburn) $186.82 $14.80 $24.02 First 10.2 TB downloaded free each month
8 Azure Blob Storage Cold LRS Bills each pack for at least 90 days: deleting packs at about 31 days adds $3.96 a month. United States (East US) $227.12 $9.86 $118.66 First 100 GB downloaded free each month
9 Amazon S3 Glacier Instant Retrieval Bills each pack for at least 90 days: deleting packs at about 31 days adds $4.40 a month. United States (Northern Virginia) $234.78 $10.96 $114.22 First 100 GB downloaded free each month
10 Wasabi Hot Cloud Storage Bills each pack for at least 90 days: deleting packs at about 31 days adds $8.57 a month. United States (US East 1) $242.40 $20.20 $20.20 Downloads free up to what you store
11 Google Cloud Storage Coldline Bills each pack for at least 90 days: deleting packs at about 31 days adds $4.40 a month. United States (South Carolina) $248.70 $10.86 $129.24 First 100 GB downloaded free each month
12 Filebase Object Storage Distributed worldwide $268.20 $22.35 $22.35 No download fees
13 Cloudflare R2 Standard Automatic location $288.00 $24.00 $24.00 No download fees

Price your own backups Open it on the restore bill

The calculator opens on this workload, ranked as here on a year with one restore. It prices months in which you keep everything, so it leaves out the minimum-stay charge named under a row here, and its order can differ.

Vendors not on the list, and why

How the bills are worked out

A Kubernetes cluster with 1 TB of data in its persistent volumes, backed up every night by Velero's file-system backup or CSI data mover, each backup kept for Velero's default 30 days. 20 GB of the data changes each day; Kopia uploads only what changed, so the bucket holds about 1.6 TB, stored as packs priced at 20 MB, which is 80,000 packs, and each month about 600 GB is uploaded as 30,000 packs and 600 GB of packs about 31 days old is deleted. Nothing is downloaded in a normal month; the month you restore, the cluster's 1 TB of volumes is downloaded over the internet.

Each bill comes from the vendor's own published rates through the same engine as the calculator, checked on the date beside it. Every month, the 600 GB of packs deleted at about 31 days old is billed for the days left of its class's minimum storage period, at that class's storage rate, as the vendor's own early-deletion rule says; a class whose minimum is 31 days or less adds nothing. Packs deleted later than that pay less, and nothing once they are past their class's minimum, so the charges here are the most they can be. The month you restore adds reading the volumes' packs back and downloading the cluster's 1 TB. Maintenance's rewrites of partly used packs are not counted: they depend on the backups you keep.

What Velero does to the bucket comes from Velero 1.18's own documentation, read : How Velero Works, File System Backup, CSI Snapshot Data Movement, Repository Maintenance, Backup Repository Configuration, Providers, Velero plugins for AWS, Backup Storage Location. The pack size is Kopia's, from Kopia's documentation, Architecture.

Related: the cheapest storage at 1, 10 and 50 TB · minimum storage periods explained · storage for a Kopia repository · storage for database backups kept 30 days · what a full restore costs · how long a restore takes · download fees by vendor