Best practices for backing up Azure Blob data to Amazon S3 and restoring it back to Azure Storage?

Rohitkumar M Mistry 0 Reputation points
2026-09-15T13:08:51.6033333+00:00

Hi,

We are designing a multi‑cloud backup and restore strategy where our primary backups live in Azure Blob Storage, and we periodically replicate them to Amazon S3 for DR / long‑term retention. We also need to be able to restore data from S3 back into an Azure Storage Account when required.

We’d like to follow Microsoft‑recommended and production‑proven best practices for this flow.

Current / planned setup

  • Primary backup location: Azure Blob Storage (Storage Account: <storage-account-name>, containers like backups-prod, backups-dev).

DR / archive location: Amazon S3 bucket (<bucket-name> in region <region>).

Backup type: [e.g., SQL Server .bak files / application tar.gz archives / VM export files / other].

Data volume: approx. [X GB/TB] and growing; backup frequency: [daily/hourly/etc.].

Desired RPO/RTO: [e.g., RPO 24h, RTO < 8h for full restore].

What we need guidance on

Azure → S3 (backup offload)

What is the recommended pattern to regularly copy/replicate backups from Azure Blob to S3?

  Options we’re considering:
  
        AWS DataSync (Azure Blob → S3)
        
              AzCopy from an Azure VM / Function / container
              
                    rclone from an Azure host
                    
                          Azure Data Factory pipeline
                          
                             Which approach is most aligned with Microsoft best practices for a production backup pipeline?
                             
                                Any recommendations on:
                                
                                      Incremental vs full copies
                                      
                                            Partitioning / folder structure for backups
                                            
                                                  Handling authentication securely (SAS tokens, service principals, IAM roles)
                                                  
                                                        Networking (private endpoints, VNet, Direct Connect / VPN)
                                                        
                                                        **S3 → Azure (restore / re‑ingest)**
                                                        
                                                           When we need to restore, what is the recommended way to bring data back from S3 into an Azure Storage Account?
                                                           
                                                              Is AWS DataSync (S3 → Azure Blob) a supported and recommended pattern?
                                                              
                                                                 For AzCopy / rclone, are there any Microsoft-side caveats or best practices for large restores (hundreds of GB / TB)?
                                                                 
                                                                    Should we restore to a dedicated “restore” container first and then promote, or is direct restore to production containers acceptable?
                                                                    
                                                                    **Security, immutability, and compliance**
                                                                    
                                                                       Recommendations for:
                                                                       
                                                                             Enabling immutability/Object Lock on S3 and immutable blobs on Azure for critical backups.
                                                                             
                                                                                   Encryption (SSE‑S3 / SSE‑KMS on S3, CMK / platform keys on Azure).
                                                                                   
                                                                                         Credential management (Key Vault, Secrets Manager, SAS token rotation).
                                                                                         
                                                                                         **Monitoring and validation**
                                                                                         
                                                                                            How should we monitor these copy/restore jobs (success/failure, bytes transferred, duration)?
                                                                                            
                                                                                               Any guidance on integrity checks (checksums, object counts) and periodic restore drills from S3 → Azure?
                                                                                               

We want to ensure this design is robust, secure, and aligned with Microsoft guidance for hybrid/multi‑cloud backup and DR. Any reference architectures, documentation links, or sample configurations (especially for Azure → S3 backup and S3 → Azure restore) would be greatly appreciated.Hi,

We are designing a multi‑cloud backup and restore strategy where our primary backups live in Azure Blob Storage, and we periodically replicate them to Amazon S3 for DR / long‑term retention. We also need to be able to restore data from S3 back into an Azure Storage Account when required.

We’d like to follow Microsoft‑recommended and production‑proven best practices for this flow.

Current / planned setup

Primary backup location: Azure Blob Storage (Storage Account: <storage-account-name>, containers like backups-prod, backups-dev).

DR / archive location: Amazon S3 bucket (<bucket-name> in region <region>).

Backup type: [e.g., SQL Server .bak files / application tar.gz archives / VM export files / other].

Data volume: approx. [X GB/TB] and growing; backup frequency: [daily/hourly/etc.].

Desired RPO/RTO: [e.g., RPO 24h, RTO < 8h for full restore].

What we need guidance on

Azure → S3 (backup offload)

What is the recommended pattern to regularly copy/replicate backups from Azure Blob to S3?

  Options we’re considering:
  
        AWS DataSync (Azure Blob → S3)
        
              AzCopy from an Azure VM / Function / container
              
                    rclone from an Azure host
                    
                          Azure Data Factory pipeline
                          
                             Which approach is most aligned with Microsoft best practices for a production backup pipeline?
                             
                                Any recommendations on:
                                
                                      Incremental vs full copies
                                      
                                            Partitioning / folder structure for backups
                                            
                                                  Handling authentication securely (SAS tokens, service principals, IAM roles)
                                                  
                                                        Networking (private endpoints, VNet, Direct Connect / VPN)
                                                        
                                                        **S3 → Azure (restore / re‑ingest)**
                                                        
                                                           When we need to restore, what is the recommended way to bring data back from S3 into an Azure Storage Account?
                                                           
                                                              Is AWS DataSync (S3 → Azure Blob) a supported and recommended pattern?
                                                              
                                                                 For AzCopy / rclone, are there any Microsoft-side caveats or best practices for large restores (hundreds of GB / TB)?
                                                                 
                                                                    Should we restore to a dedicated “restore” container first and then promote, or is direct restore to production containers acceptable?
                                                                    
                                                                    **Security, immutability, and compliance**
                                                                    
                                                                       Recommendations for:
                                                                       
                                                                             Enabling immutability/Object Lock on S3 and immutable blobs on Azure for critical backups.
                                                                             
                                                                                   Encryption (SSE‑S3 / SSE‑KMS on S3, CMK / platform keys on Azure).
                                                                                   
                                                                                         Credential management (Key Vault, Secrets Manager, SAS token rotation).
                                                                                         
                                                                                         **Monitoring and validation**
                                                                                         
                                                                                            How should we monitor these copy/restore jobs (success/failure, bytes transferred, duration)?
                                                                                            
                                                                                               Any guidance on integrity checks (checksums, object counts) and periodic restore drills from S3 → Azure?
                                                                                               

We want to ensure this design is robust, secure, and aligned with Microsoft guidance for hybrid/multi‑cloud backup and DR. Any reference architectures, documentation links, or sample configurations (especially for Azure → S3 backup and S3 → Azure restore) would be greatly appreciated.

Azure Blob Storage
Azure Blob Storage

An Azure service that stores unstructured data in the cloud as blobs.

0 comments No comments

1 answer

Sort by: Most helpful
  1. victorolet 11 Reputation points MVP
    2026-10-15T01:38:02.8566667+00:00

    Hi,
    The two directions are not symmetric, and I couldn't find a Microsoft-documented "best practice" pipeline for Azure → S3, so I'll separate what's documented from design suggestions.

    Azure Blob → S3. Microsoft's copy tools document only S3 as a source: AzCopy's S3 article covers S3 → Azure only, and in Azure Data Factory the S3 connector lists Copy activity as source-only. The documented option for this leg is on the AWS side: AWS DataSync supports Azure Blob as a source, authenticated with a SAS token (container or account level; user delegation SAS is not supported). rclone is a third-party alternative, but you'd own scheduling, retries, and logging. Whichever you use, I'd avoid propagating deletes to the S3 copy (read/list-only SAS) so retention stays independent of the source.

    S3 → Azure restore. Here Microsoft documents several options: AzCopy (server-side copy; Entra ID or SAS on the Azure side, AWS access keys for S3), Azure Storage Mover cloud-to-cloud, and ADF. DataSync also supports S3 → Blob, but that is AWS-documented rather than a Microsoft recommendation. For large restores, AzCopy guidance suggests keeping each job under ~10 million files and splitting work across jobs or VMs. I'd restore into a staging container, verify, then promote (recommendation).

    Immutability. Azure Blob supports WORM policies (time-based retention and legal hold), and S3 Object Lock requires bucket versioning and offers governance or compliance modes. Test how your chosen tool behaves against locked targets.

    Validation and monitoring. DataSync provides checksum verification and task reports with CloudWatch logging. AzCopy S3 → Blob copies server-side, so I'd add your own integrity control, such as a SHA-256 manifest written at backup time and verified after each restore. Schedule periodic restore drills; the measured duration is your real RTO.

    A couple of things would change the advice: backup type, volume and frequency, and RPO/RTO; whether the second copy must be on S3 (if not, Azure Backup vaulted backup is a native option); and whether your storage account is restricted to private endpoints, which I couldn't confirm for these tools.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.