Overview

Migrating from Cloudflare R2 to AWS S3 may be necessary when you need AWS's extensive ecosystem, advanced features like S3 Select, or compliance with specific AWS-based workflows. This guide provides a comprehensive walkthrough of the migration process using Cloney.

Migration Considerations

While R2 offers zero egress fees, AWS S3 provides industry-leading durability, extensive integrations, and advanced features like Glacier for archival.

Prerequisites

  • A Cloney account with an active subscription
  • Cloudflare R2 bucket with data to migrate
  • AWS S3 bucket created (destination)
  • Appropriate credentials for both services

Step 1: Add Your Cloudflare R2 Source

  1. Log in to your Cloney dashboard
  2. Navigate to JobsCreate New Job
  3. Select Cloudflare R2 as your source provider
  4. Enter your R2 credentials:
    • Account ID: Your Cloudflare account ID
    • Access Key ID: Your R2 API token access key
    • Secret Access Key: Your R2 API token secret key
    • Bucket Name: The name of your source R2 bucket
  5. Click Validate Connection to verify access

Step 2: Configure Your AWS S3 Destination

  1. Select AWS S3 as your destination provider
  2. 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 destination S3 bucket
  3. Click Validate Connection to verify access

Step 3: Configure Migration Options

Customize your migration with these options:

OptionDescriptionRecommendation
Prefix/Path FilterMigrate only objects matching a specific prefixUse for partial migrations
Preserve MetadataCopy object metadata along with dataEnable for full fidelity
Storage ClassSet the S3 storage class for migrated objectsStandard for frequent access
Overwrite ExistingReplace objects that already exist in destinationEnable for sync operations

Step 4: Start the Migration

  1. Review your migration configuration
  2. Click Start Migration
  3. Monitor progress in the Jobs dashboard
  4. Cloney will provide real-time updates on:
    • Objects transferred
    • Data volume migrated
    • Transfer speed
    • Any errors encountered
Migration Complete

Once finished, verify your data in the AWS S3 console and update your applications.

Storage Class Recommendations

Choose the appropriate AWS S3 storage class based on your access patterns:

Access PatternRecommended S3 ClassUse Case
Frequent accessS3 StandardActive data, frequently accessed files
Unknown patternS3 Intelligent-TieringAutomatic cost optimization
Infrequent accessS3 Standard-IABackups, disaster recovery
ArchiveS3 GlacierLong-term archival, compliance

Cost Considerations

Understand the cost implications of migrating from R2 to S3:

Cost ComponentCloudflare R2AWS S3 Standard
Storage (per GB/month)$0.015$0.023
Egress (per GB)$0.00$0.09
PUT requests (per 1K)$0.0045$0.005
GET requests (per 1K)$0.00036$0.0004
Egress Costs

AWS S3 charges for egress while R2 doesn't. Factor this into your cost calculations if your workload has significant outbound traffic.

Best Practices

  • Enable Versioning: Turn on S3 versioning for data protection and recovery.
  • Configure Lifecycle Rules: Set up automatic transitions to optimize storage costs.
  • Use Transfer Acceleration: For large datasets, consider S3 Transfer Acceleration.
  • Update Application Config: Update your application to use AWS SDK and S3 endpoints.