How to Migrate Azure Blob Storage to Vultr Object Storage

Updated on 26 February, 2026
Guide
Migrate Azure Blob Storage to Vultr Object Storage using Rclone with secure transfer, verification, and seamless cutover steps.
How to Migrate Azure Blob Storage to Vultr Object Storage header image

Azure Blob Storage is Microsoft's object storage solution for the cloud, designed to store massive amounts of unstructured data such as images, videos, backups, and application data. Migrating from Azure Blob Storage to Vultr Object Storage allows you to benefit from simplified pricing, S3-compatible APIs, and flexible deployment options across multiple global regions. Vultr Object Storage provides several advantages:

  • S3 Compatibility: Vultr Object Storage uses the industry-standard S3 API, enabling seamless integration with existing tools, SDKs, and applications.
  • Multiple Locations: Choose from multiple data center locations worldwide to store your data closer to your users.
  • Predictable Pricing: Vultr offers straightforward pricing without complex egress fees or tiered storage calculations.
  • CDN Integration: Vultr Object Storage integrates with Vultr's CDN for low-latency content delivery.

This guide explains how to migrate your containers and blobs from Azure Blob Storage to Vultr Object Storage using Rclone. You will configure authentication for both storage providers, transfer your data, verify integrity, and complete the cutover.

Prerequisites

Before you begin, you need to:

Retrieve Azure Storage Account Credentials

Before configuring Rclone, gather the necessary credentials from your Azure Storage Account.

  1. Log in to the Azure Portal.

  2. Navigate to Storage accounts and select your storage account.

  3. In the left menu, click Access keys under Security + networking.

  4. Copy the Storage account name and one of the Key values. You will use these to authenticate Rclone with Azure Blob Storage.

    Note
    You can also use a Shared Access Signature (SAS) token for more granular access control. Generate a SAS token from the Shared access signature section if preferred.

Set Up the Migration Workstation

Rclone is an open-source command-line tool for managing cloud storage, supporting over 40 providers including Azure Blob Storage and S3-compatible services like Vultr Object Storage. In this section, you will install Rclone and configure it to authenticate with both Azure and Vultr.

  1. Update the APT package index.

    console
    $ sudo apt update
    
  2. Download the latest Rclone installation script.

    console
    $ wget -O rclone.sh https://rclone.org/install.sh
    
  3. Run the script to install Rclone.

    console
    $ sudo bash rclone.sh
    
  4. Verify the installed Rclone version.

    console
    $ rclone version
    

    Your output should be similar to the one below:

    rclone v1.69.0
    - os/version: ubuntu 24.04 (64 bit)
    - os/kernel: 6.8.0-57-generic (x86_64)
    - os/type: linux
    - os/arch: amd64
    - go/version: go1.23.4
    - go/linking: static
    - go/tags: none
  5. Generate a new Rclone configuration file.

    console
    $ rclone config file
    

    Your output should be similar to the one below:

    Configuration file doesn't exist, but rclone will use this path:
    /home/linuxuser/.config/rclone/rclone.conf

Configure Rclone with Azure Blob Storage

Configure Rclone to authenticate with your Azure Storage Account using your account name and access key.

  1. Open the Rclone configuration file.

    console
    $ nano /home/linuxuser/.config/rclone/rclone.conf
    
  2. Add the following Azure Blob Storage configuration block. Replace YOUR_AZURE_STORAGE_ACCOUNT and YOUR_AZURE_ACCESS_KEY with your actual credentials.

    ini
    [azure]
    type = azureblob
    account = YOUR_AZURE_STORAGE_ACCOUNT
    key = YOUR_AZURE_ACCESS_KEY
    

    Save and close the file.

    The above configuration creates a remote named azure that connects to your Azure Blob Storage using account key authentication.

  3. List all configured Rclone remotes to confirm the Azure configuration is active.

    console
    $ rclone listremotes
    

    Output:

    azure:
  4. List all containers in your Azure Storage Account to verify the connection.

    console
    $ rclone lsd azure:
    

    Your output should be similar to the one below:

    -1 2025-01-15 10:30:00        -1 media-assets
    -1 2025-01-15 11:45:00        -1 application-logs
    -1 2025-01-15 14:20:00        -1 backup-data

Configure Rclone with Vultr Object Storage

Configure Rclone to authenticate with your Vultr Object Storage subscription using your S3 credentials.

  1. Open the Rclone configuration file.

    console
    $ nano /home/linuxuser/.config/rclone/rclone.conf
    
  2. Add the following Vultr Object Storage configuration block. Replace YOUR_VULTR_ACCESS_KEY, YOUR_VULTR_SECRET_KEY, and YOUR_VULTR_ENDPOINT with your actual Vultr Object Storage credentials and endpoint (e.g., ewr1.vultrobjects.com).

    ini
    [vultr]
    type = s3
    provider = Other
    access_key_id = YOUR_VULTR_ACCESS_KEY
    secret_access_key = YOUR_VULTR_SECRET_KEY
    endpoint = YOUR_VULTR_ENDPOINT
    env_auth = false
    

    Save and close the file.

  3. List all configured Rclone remotes to confirm both configurations are active.

    console
    $ rclone listremotes
    

    Output:

    azure:
    vultr:
  4. View the full Rclone configuration to verify your credentials.

    console
    $ rclone config show
    

    Your output should be similar to the one below:

    [azure]
    type = azureblob
    account = mystorageaccount
    key = XXXXXXXXXXXXXXXXXXXX
    
    [vultr]
    type = s3
    provider = Other
    access_key_id = XXXXXXXXXXXXXXXXXXXX
    secret_access_key = XXXXXXXXXXXXXXXXXXXX
    endpoint = ewr1.vultrobjects.com
    env_auth = false
  5. List all buckets in your Vultr Object Storage subscription to verify the connection.

    console
    $ rclone lsd vultr:
    

    If your subscription has no buckets yet, the output will be empty.

Migrate Azure Blob Storage to Vultr Object Storage

You can migrate all containers or specific containers from Azure Blob Storage to Vultr Object Storage. Rclone handles the translation between Azure's container/blob structure and S3's bucket/object structure automatically. Follow the steps below to transfer your data.

  1. List all containers in your Azure Storage Account.

    console
    $ rclone lsd azure:
    

    Your output should be similar to the one below:

    -1 2025-01-15 10:30:00        -1 media-assets
    -1 2025-01-15 11:45:00        -1 application-logs
    -1 2025-01-15 14:20:00        -1 backup-data
  2. List all blobs in a specific container to review its contents.

    console
    $ rclone ls azure:media-assets
    

    Your output should be similar to the one below:

    2986036 images/logo.png
    2944141 images/banner.jpg
    1024512 videos/intro.mp4
  3. Migrate all containers and blobs from Azure to Vultr Object Storage.

    console
    $ rclone sync azure: vultr: --progress
    

    Monitor the transfer and wait for it to complete. Your output should be similar to the one below when successful:

    Transferred:       45.234 MiB / 45.234 MiB, 100%, 1.2 MiB/s, ETA 0s
    Transferred:           156 / 156, 100%
    Elapsed time:        38.5s

    The transfer duration depends on the total size of your Azure Blob Storage. Verify the 100% prompt to confirm a complete migration.

  4. To migrate a specific container, specify the source and destination. Replace media-assets with your container name.

    console
    $ rclone sync azure:media-assets vultr:media-assets --progress
    

    Output:

    Transferred:       12.451 MiB / 12.451 MiB, 100%, 985.6 KiB/s, ETA 0s
    Transferred:            42 / 42, 100%
    Elapsed time:        13.2s

For large migrations, run Rclone in a screen or tmux session to prevent interruption if your SSH connection drops.

Set Up Automatic Synchronization with Cron (Optional)

If your Azure Blob Storage is actively in use during migration, set up automatic synchronization to capture ongoing changes before the final cutover.

  1. Open the system crontab file.

    console
    $ sudo nano /etc/crontab
    
  2. Add the following cron entry to synchronize every 30 minutes.

    ini
    */30 * * * * linuxuser /usr/bin/rclone sync azure: vultr: --progress >> /var/log/azure-vultr-migration.log 2>&1
    

    Save and close the file.

    This cron job runs every 30 minutes as the linuxuser user and logs all output to /var/log/azure-vultr-migration.log.

  3. Verify the cron job is active.

    console
    $ sudo grep rclone /etc/crontab
    

Verify the Migrated Data

Verify that all your data has been migrated correctly and matches the source Azure Blob Storage.

  1. List all buckets in your Vultr Object Storage subscription to confirm containers were migrated.

    console
    $ rclone lsd vultr:
    

    Output:

    -1 2025-01-15 12:00:00        -1 media-assets
    -1 2025-01-15 12:00:00        -1 application-logs
    -1 2025-01-15 12:00:00        -1 backup-data
  2. Run a checksum comparison to verify data integrity between Azure and Vultr.

    console
    $ rclone check azure: vultr:
    

    Your output should be similar to the one below:

    2025/01/15 14:30:00 NOTICE: S3 root: 0 differences found
    2025/01/15 14:30:00 NOTICE: S3 root: 156 matching files

    The 0 differences found message confirms that all blobs in Azure match the objects in Vultr Object Storage.

  3. Verify a specific container/bucket. Replace media-assets with your container name.

    console
    $ rclone check azure:media-assets vultr:media-assets
    

    Output:

    2025/01/15 14:32:00 NOTICE: S3 bucket media-assets: 0 differences found
    2025/01/15 14:32:00 NOTICE: S3 bucket media-assets: 42 matching files
  4. Compare the total size of source and destination.

    console
    $ rclone size azure:
    $ rclone size vultr:
    

    Both commands should return similar total sizes.

Cutover to Vultr Object Storage

After verification confirms data integrity, update your applications to use Vultr Object Storage.

  1. Update application configurations: Replace Azure Blob Storage connection strings with Vultr Object Storage S3 credentials.

    • Azure SDK calls should be replaced with S3-compatible SDK calls
    • Update environment variables or configuration files with Vultr endpoint and credentials
  2. Update CDN or static hosting: If you use Azure CDN, configure Vultr CDN to serve content from your new Vultr Object Storage buckets.

  3. Perform a final sync: Capture any last-minute changes before cutover.

    console
    $ rclone sync azure: vultr: --progress
    
  4. Remove the cron job if you configured automatic synchronization.

    console
    $ sudo nano /etc/crontab
    

    Delete the Rclone sync line and save the file.

  5. Monitor applications for several days to ensure they function correctly with Vultr Object Storage.

Conclusion

You have migrated your data from Azure Blob Storage to Vultr Object Storage using Rclone. This guide covered retrieving Azure credentials, configuring Rclone for both providers, transferring containers and blobs, verifying data integrity, and completing the cutover. Your applications now benefit from Vultr's S3-compatible storage with predictable pricing and global availability. For more information on managing your Vultr Object Storage subscription, visit the product documentation page.

Comments