Documentation

Backing Up Photos to Cloudflare R2: Why Free Egress Matters

S3-compatible object storage with no outbound transfer fees. What that changes for a photo archive, and the trade-offs.

Preservation

The central argument

Cloudflare R2 is S3-compatible object storage whose distinguishing feature fits in one line: no outbound transfer fees. You pay for storage and operations, not for getting your data back.

For a photo archive, that billing detail changes the nature of the service. Egress cost is what makes a full restore stressful elsewhere: you know the data is there, but you hesitate to bring it back. R2 removes that trade-off.

Where the advantage shows up

  • Full restore after a disaster. The scenario you’ve been paying for becomes free to trigger.
  • Verification from the remote copy. Re-checking checksums means re-reading the objects. Billed per gigabyte, that check becomes an expense you defer; free, it becomes routine.
  • Changing your mind. Pulling a collection back to switch provider or strategy costs only time.

That second point is the most underrated: an archive you never verify because verification is expensive isn’t really an archive.

The trade-offs

No deep archive classes. Like B2, R2 offers a single storage tier. On a massive, fully frozen collection, a competitor’s glacier class can still be cheaper to store — the trade then sits between retention cost and retrieval cost.

Operations are billed. Writes and reads count. An archive made of millions of tiny objects costs more than the same volume in large objects. For photography, where files run to tens of megabytes, the effect stays marginal.

Region control is coarser than at the large general-purpose providers. Worth checking if you have data-location constraints.

Settings to establish upfront

  • Versioning, essential against a propagated deletion.
  • A dedicated API token, limited to one bucket, without delete permission.
  • Client-side encryption if the collection holds sensitive data.
  • A stable object naming convention that will survive a change of tooling.

In practice

  1. Create a dedicated token restricted to one bucket, no delete.
  2. Enable versioning before the first deposit.
  3. Use the free egress to actually verify, in campaigns.
  4. Compare over three years against a glacier-class offer if your collection is frozen.
  5. Test a full restore, since nothing discourages you from it.

Obscura Flow treats R2 as an archive destination, with resumable uploads and integrity verification re-read from the destination — a check that free egress makes sustainable as routine.