Skip to content

digitalocean

3 posts with the tag "digitalocean"

DigitalOcean Spaces: Regions, Cross-Region Replication, and Backup

DigitalOcean Spaces regions and cross-region replication explained

Spaces Regions and the Replication Question

Section titled "Spaces Regions and the Replication Question"

The problem: people assume DigitalOcean Spaces replicates across regions the way Amazon S3 can, so a single Space feels like a backup. It is not. A Space lives in one region, and DigitalOcean does not copy it to another region for you.

The short answer: pick the region closest to your users when you create a Space, and if you want a second copy in another region or another provider, you have to make it yourself. This page lists the regions, explains what Spaces does and does not replicate, and shows how to create a real backup copy.

Each Space is tied to one datacenter region, chosen at creation and fixed afterward. The current Spaces regions and their locations:

Region codeLocation
NYC3New York City, United States
SFO3San Francisco, United States
AMS3Amsterdam, Netherlands
FRA1Frankfurt, Germany
SGP1Singapore
SYD1Sydney, Australia
BLR1Bangalore, India

DigitalOcean adds regions over time, so check their documentation for the latest availability. The practical rule is unchanged: choose the region nearest the people who read the data most, because a Space only serves from its own region's endpoint.

Does DigitalOcean Spaces Do Cross-Region Replication?

Section titled "Does DigitalOcean Spaces Do Cross-Region Replication?"

No. DigitalOcean Spaces does not offer built-in cross-region replication. There is no setting that mirrors a Space in NYC3 to a Space in FRA1, and no automatic failover to another region.

This is the main difference from Amazon S3, which has Cross-Region Replication (CRR) as a bucket feature. On Spaces, if you want the same objects in two regions, you copy them there yourself and keep them in sync by re-copying when things change.

A few consequences worth knowing:

  • A region outage affects a single Space directly. With no replica, you cannot fail over to another region automatically.
  • Compliance or latency in a second geography means creating a second Space and populating it yourself.
  • There is no native "backup to another region" button. Backup is something you set up, not something Spaces does for you.

DigitalOcean Spaces includes a built-in CDN that caches your objects at edge locations for faster delivery. This is easy to mistake for replication, but it is not. The CDN caches copies for performance and can expire them at any time. The authoritative copy still lives in one region, and if that object is lost, the cache does not protect you. Edge caching speeds up reads; it does not give you a durable second copy.

How to Copy a Space to Another Region or Provider

Section titled "How to Copy a Space to Another Region or Provider"

Since Spaces will not replicate for you, the job is a straightforward copy, and Blober handles it without scripts or AWS-CLI loops.

  • Spaces to another Spaces region. Connect your DigitalOcean account in Blober. It detects every Space across all regions in one view, so you can copy objects from a Space in one region into a Space you create in another. Run it again later to refresh the copy, skipping objects that already exist.
  • Spaces to another provider. Use the same flow to copy a Space to AWS S3, Backblaze B2, Wasabi, Cloudflare R2, Azure Blob, Google Drive, Dropbox, or local and NAS storage, for an offsite backup that does not depend on DigitalOcean at all.
  • Resumable. Large copies survive a dropped connection and continue where they stopped.

This gives you the second copy that Spaces does not provide on its own, in whichever region or provider you choose.

If the goal is not a backup but a move, the steps are the same, just pointed at one destination. The most common move is to Amazon S3, which has the storage tiers and ecosystem Spaces lacks. There is a full walkthrough in How to Migrate from DigitalOcean Spaces to AWS S3, including how Blober detects Spaces across all seven regions and maps them to S3 storage classes.

For very large Spaces with millions of objects, see Migrating 100 Million Files from DigitalOcean to Backblaze.

Does DigitalOcean Spaces support cross-region replication? No. There is no built-in cross-region replication. To have a Space's objects in a second region, you copy them yourself, which Blober can do across all regions in one workflow.

Which regions can I create a Space in? Currently NYC3, SFO3, AMS3, FRA1, SGP1, SYD1, and BLR1. DigitalOcean occasionally adds regions, so confirm on their site.

Can I move a Space from one region to another? Not in place. You create a new Space in the target region and copy the objects over. Blober copies between regions directly without downloading everything to your computer first.

Is the Spaces CDN a backup? No. The CDN caches objects at the edge for faster delivery and can evict them at any time. The durable copy still sits in one region. For a backup, make a separate copy in another region or provider.

How do I migrate from DigitalOcean to AWS? Connect both in Blober, set DigitalOcean as the source and S3 as the destination, and run. The DigitalOcean Spaces to AWS S3 guide covers it step by step.

Make the second copy that DigitalOcean Spaces will not make for you, to another region or another provider. Blober is a one-time purchase with no per-GB fees.

Download Blober at blober.io

How to Migrate from DigitalOcean Spaces to AWS S3

Migrate from DigitalOcean Spaces to AWS S3 with Blober

Growing Out of DigitalOcean Spaces

Section titled "Growing Out of DigitalOcean Spaces"

DigitalOcean Spaces is a good starting point for object storage. It is simple, affordable ($5/month for 250 GB + 1 TB transfer), and S3-compatible. For small to mid-size projects, it does the job.

But as your storage needs grow, you run into limitations:

  • Region constraints. Spaces are region-scoped. Each region only sees its own Spaces. Cross-region replication is not available.
  • No storage tiers. Everything is stored at the same tier. There is no equivalent to S3's Glacier or Intelligent-Tiering for cost optimization.
  • Limited ecosystem. AWS S3 integrates with hundreds of services: Lambda, CloudFront, Athena, Step Functions, SageMaker. DigitalOcean's ecosystem is smaller.
  • Bandwidth limits. The included 1 TB transfer can be burned through quickly on busy applications.

When a project outgrows Spaces, AWS S3 is the most common destination.

DigitalOcean runs Spaces across 7 regions: NYC3, SFO3, AMS3, SGP1, FRA1, SYD1, and BLR1. If you have Spaces in multiple regions, you need to handle each region separately.

Blober detects all your Spaces across all DigitalOcean regions automatically. When you connect your DigitalOcean account, Blober probes all 7 regions in parallel and presents a unified view of all your Spaces. You do not need to configure each region separately.

DigitalOcean recently introduced cold storage tiers for Spaces. Blober detects whether a Space is using Standard or Cold storage and flags it accordingly. This helps you make informed decisions about which S3 storage class to target.

Step 1: Connect DigitalOcean Spaces

Section titled "Step 1: Connect DigitalOcean Spaces"

Add DigitalOcean Spaces as a provider in Blober. You can use either:

  • S3-compatible credentials (Access Key + Secret Key) for basic access
  • Personal Access Token for richer bucket listing with project metadata

Blober discovers all your Spaces across all regions.

Add AWS S3 with your Access Key ID, Secret Access Key, and preferred region. Blober lists your S3 buckets.

Create a workflow with DigitalOcean as the source and S3 as the destination. Browse your Spaces, select files or entire Spaces, and choose the target S3 bucket and storage class.

Options for the destination:

  • Storage class: Standard, Intelligent-Tiering, Standard-IA, Glacier Instant Retrieval, Glacier, or Deep Archive
  • Target bucket: Any existing S3 bucket (or create one in the AWS console first)

Blober handles the transfer with parallel multipart uploads on both sides. S3-to-S3-compatible transfers are efficient because both services speak the same protocol.

DigitalOcean SpacesAWS S3 StandardAWS S3 Standard-IA
Storage (1 TB)$5/mo (250 GB included) + $20/mo extra$23/mo$12.50/mo
Bandwidth (1 TB)Included$90/mo$90/mo
PUT requests (100K)$0.50$0.50$1.00

DigitalOcean is cheaper for simple, low-traffic use cases. S3 is more cost-effective at scale with its tiering options, especially if you use Intelligent-Tiering or Glacier for archival data.

One-time purchase. Transfer as much as you need.

Download Blober at blober.io

Migrating 100M+ Files from DigitalOcean Spaces to Backblaze B2

Migrating 100 million files from DigitalOcean Spaces to Backblaze B2

A media company has 25TB of data spread across 120 million files in DigitalOcean Spaces. Monthly bill: roughly $500/month. They want to move everything to Backblaze B2 to cut costs and get more flexibility.

This is a real-world pattern we see a lot. Let's walk through what it actually takes.


ItemDetailsEstimated Cost
Blober LicenseOne-time purchase, no subscriptionSee pricing
DigitalOcean Egress~24TB billable at $0.01/GiB (first 1TB free)~$240
Backblaze IngressFree. Backblaze never charges for uploads$0
Backblaze API CallsUploads are free Class A calls, minor listing costs~$2
Total (excluding license)~$242

After migrating, the monthly bill drops from ~$500 on DigitalOcean to ~$150 on Backblaze B2. With a one-time license and no per-GB transfer fees, the move pays for itself within the first month.


This is where it gets interesting. Backblaze actively wants people to switch to their platform and they back that up with real programs:

  • Free egress up to 3x your average monthly storage on B2, which means once you're on Backblaze, downloading your own data doesn't cost extra in most scenarios.
  • Unlimited free egress through CDN and compute partners like Cloudflare, Fastly, Bunny.net, and Vultr.
  • Assisted data migration is listed as a standard B2 feature on their pricing page.
  • Universal Data Migration is available for larger committed contracts (50TB+ on pay-as-you-go, or included with B2 Reserve annual plans).

Backblaze explains their philosophy well in this blog post: Cloud Egress Fees: What They Are and How to Reduce Them. The short version is that they believe egress fees are vendor lock-in, and they want to make switching easy.

Even if your dataset is under the 50TB threshold, it's worth contacting their sales team. With a 25TB dataset and willingness to commit for 12 months, there's a solid chance they'll help reduce or cover the DigitalOcean egress fees to get you onboarded.


Let's be honest here. 25TB is a lot of data.

Every file needs its own set of API calls: list from the source, download, then upload to the destination. Each round-trip carries network latency regardless of file size. When you multiply that per-object overhead across 120 million files with 25TB of bandwidth on top, the aggregate time adds up fast.

For a client-side migration where data streams through your local machine, you're looking at:

  • Several weeks of continuous runtime depending on your connection speed and latency
  • Your machine needs to stay on and connected the entire time
  • If your ISP has a monthly data cap, 25TB will almost certainly exceed it
  • 16GB+ RAM recommended for handling the file listing at this scale

This isn't a Blober limitation. Any client-side tool (rclone, Cyberduck, whatever) will face the same physics. Data has to travel from DigitalOcean's datacenter to your machine, then from your machine to Backblaze's datacenter. That's two full trips through your ISP.


Phase 1: Let the Datacenters Do the Heavy Lifting

Section titled "Phase 1: Let the Datacenters Do the Heavy Lifting"

Contact Backblaze's sales team and ask about their assisted migration options. For datasets at this scale, they partner with migration services that can move data directly between datacenters at speeds your home connection can't match. What takes weeks on a home connection can take hours on a datacenter link.

Reach out here: Backblaze Sales

Phase 2: Use Blober for Everything After

Section titled "Phase 2: Use Blober for Everything After"

Once the initial bulk migration is done, Blober becomes your daily tool for managing files across providers. New uploads, folder syncs, log rotations, moving files between buckets, all handled from your desktop with no per-GB fees and no subscriptions. Your credentials stay on your machine and never touch a third-party server.


Monthly Cost Comparison (Post-Migration)

Section titled "Monthly Cost Comparison (Post-Migration)"
DigitalOcean SpacesBackblaze B2
Storage (25TB)~$500/mo~$174/mo
Egress (3TB/mo)~$30/moFree (within 3x allowance)
Total~$530/mo~$174/mo
Annual~$6,360/yr~$2,088/yr

That's about $4,200 saved per year, every year.


For large-scale one-time migrations, use Backblaze's own migration programs. They want your business and they'll often help you get there.

For everything after that, Blober gives you a one-time license to manage, sync, and move files across any supported provider, with no recurring costs and no third party ever touching your credentials.