Migrate from AWS S3 to DigitalOcean Spaces
Complete guide to migrating your data from Amazon S3 to DigitalOcean Spaces using Cloney.
Overview
DigitalOcean Spaces provides S3-compatible object storage at a predictable, affordable price. Migrating from AWS S3 to Spaces is straightforward due to API compatibility, making it an excellent choice for startups and small-to-medium businesses looking to reduce cloud costs.
Simple pricing at $5/month for 250GB with 1TB transfer, S3-compatible API, built-in CDN, and straightforward management.
Prerequisites
- A Cloney account with an active subscription
- AWS S3 bucket with data to migrate
- DigitalOcean account with a Space created
- Appropriate credentials for both services
Setup Access Credentials
Before proceeding, ensure you have configured least privilege access for both services:
AWS S3: Least Privilege Access SetupDigitalOcean Spaces: Least Privilege AccessStep 1: Add Your AWS S3 Source
- Log in to your Cloney dashboard
- Navigate to Jobs → Create New Job
- Select AWS S3 as your source provider
- Enter your AWS credentials:
- Access Key ID: Your IAM user access key
- Secret Access Key: Your IAM user secret key
- Region: The AWS region where your bucket is located
- Bucket Name: The name of your source S3 bucket
- Click Validate Connection to verify access
Step 2: Configure Your DigitalOcean Spaces Destination
- Select DigitalOcean Spaces as your destination provider
- Enter your Spaces credentials:
- Access Key: Your Spaces access key
- Secret Key: Your Spaces secret key
- Region: The Spaces region (e.g., nyc3, sfo3, ams3, sgp1, fra1)
- Space Name: The name of your destination Space
- Click Validate Connection to verify access
Step 3: Configure Migration Options
Customize your migration with these options:
| Option | Description | Recommendation |
|---|---|---|
| Prefix/Path Filter | Migrate only objects matching a specific prefix | Use for partial migrations |
| Preserve Metadata | Copy object metadata along with data | Enable for full fidelity |
| CDN Enable | Enable CDN for migrated objects | Enable for public content |
| Overwrite Existing | Replace objects that already exist in destination | Enable for sync operations |
Step 4: Start the Migration
- Review your migration configuration
- Click Start Migration
- Monitor progress in the Jobs dashboard
Once finished, verify your data in the DigitalOcean control panel and update your applications to use the new Space endpoint.
Updating Your Application
Since DigitalOcean Spaces is S3-compatible, updating your application is straightforward:
// Before (AWS S3)
const s3Client = new S3Client({
region: "us-east-1",
credentials: {
accessKeyId: "YOUR_AWS_KEY",
secretAccessKey: "YOUR_AWS_SECRET"
}
});
// After (DigitalOcean Spaces)
const s3Client = new S3Client({
region: "nyc3",
endpoint: "https://nyc3.digitaloceanspaces.com",
credentials: {
accessKeyId: "YOUR_SPACES_KEY",
secretAccessKey: "YOUR_SPACES_SECRET"
}
});Best Practices
- Enable CDN: DigitalOcean Spaces includes a free CDN - enable it for frequently accessed public content.
- Test API compatibility: While Spaces is S3-compatible, test your application thoroughly to ensure all features work as expected.
- Update CORS settings: Configure CORS on your Space to match your application requirements.
- Consider file size limits: Spaces has a 5GB single upload limit; larger files require multipart upload.
Ready to Start Your Migration?
Create your Cloney account and begin migrating your data securely today.