|
| 1 | +--- |
| 2 | +title: Cross-region replication for non-paired regions |
| 3 | +description: Learn about cross-region replication for non-paired regions |
| 4 | +author: anaharris-ms |
| 5 | +ms.service: reliability |
| 6 | +ms.subservice: availability-zones |
| 7 | +ms.topic: conceptual |
| 8 | +ms.date: 06/14/2024 |
| 9 | +ms.author: anaharris |
| 10 | +ms.custom: references_regions |
| 11 | +--- |
| 12 | + |
| 13 | +# Cross-region replication solutions for non-paired regions |
| 14 | + |
| 15 | +Some Azure services support cross-region replication to ensure business continuity and protect against data loss. These services make use of another secondary region that uses *cross-region replication*. Both the primary and secondary regions together form a [region pair](./cross-region-replication-azure.md#azure-paired-regions). |
| 16 | + |
| 17 | +However, there are some [regions that are non-paired](./cross-region-replication-azure.md#regions-with-availability-zones-and-no-region-pair) and so require alternative methods to achieving geo-replication. |
| 18 | + |
| 19 | +This document lists some of the services and possible solutions that support geo-replication methods without requiring paired regions. |
| 20 | + |
| 21 | + |
| 22 | +## Azure App Service |
| 23 | +For App Service, custom backups are stored on a selected storage account. As a result, there's a dependency for cross-region restore on GRS and paired regions. For automatic backup type, you can't backup/restore across regions. As a workaround, you can implement a custom file copy mechanism for the saved data set to manually copy across non-paired regions and different storage accounts. |
| 24 | + |
| 25 | +## Azure Backup |
| 26 | + |
| 27 | +To achieve geo-replication in non-paired regions: |
| 28 | + |
| 29 | +- Use [Azure Site Recovery](/azure/site-recovery/azure-to-azure-enable-global-disaster-recovery). Azure Site Recovery is the Disaster Recovery service from Azure that provides business continuity and disaster recovery by replicating workloads from the primary location to the secondary location. The secondary location can be a non-paired region if it is supported by Azure Site Recovery. You can have maximum data retention up to 15 days with Azure Site Recovery. |
| 30 | +- Use [Zone-redundant Storage](../backup/backup-overview.md#why-use-azure-backup) to replicate your data in availability zones, guaranteeing data residency and resiliency in the same region. |
| 31 | + |
| 32 | + |
| 33 | + |
| 34 | +## Azure Database for MySQL |
| 35 | + |
| 36 | + |
| 37 | +Choose any [Azure Database for MySQL available Azure regions](/azure/mysql/flexible-server/overview#azure-region) to spin up your [read replicas](/azure/mysql/flexible-server/concepts-read-replicas#cross-region-replication). |
| 38 | + |
| 39 | + |
| 40 | +## Azure Database for PostgreSQL |
| 41 | + |
| 42 | +For geo-replication in non-paired regions with Azure Database for PostgreSQL, you can use: |
| 43 | + |
| 44 | +**Managed service with geo-replication**: Azure PostgreSQL Managed service supports active [geo-replication](/azure/postgresql/flexible-server/concepts-read-replicas) to create a continuously readable secondary replica of your primary server. The readable secondary may be in the same Azure region as the primary or, more commonly, in a different region. This kind of readable secondary replica is also known as *geo-replica*. |
| 45 | + |
| 46 | +You can also utilize any of the two customer-managed data migration methods listed below to replicate the data to a non-paired region. |
| 47 | + |
| 48 | +- [Copy](/azure/postgresql/migrate/how-to-migrate-using-dump-and-restore?tabs=psql). |
| 49 | + |
| 50 | +- [Logical Replication & Logical Decoding](/azure/postgresql/flexible-server/concepts-logical). |
| 51 | + |
| 52 | + |
| 53 | + |
| 54 | +## Azure Data Factory |
| 55 | + |
| 56 | +For geo-replication in non-paired regions, Azure Data Factory (ADF) supports Infrastructure-as-code provisioning of ADF pipelines combined with [Source Control for ADF](/azure/data-factory/concepts-data-redundancy#using-source-control-in-azure-data-factory). |
| 57 | + |
| 58 | + |
| 59 | +## Azure Event Grid |
| 60 | + |
| 61 | +For geo-replication of Event Grid topics in non-paired regions, you can implement [client-side failover](/azure/event-grid/custom-disaster-recovery-client-side). |
| 62 | + |
| 63 | +## Azure IoT Hub |
| 64 | + |
| 65 | +For geo-replication in non-paired regions, use the [concierge pattern](/azure/iot-hub/iot-hub-ha-dr#achieve-cross-region-ha) for routing to a secondary IoT Hub. |
| 66 | + |
| 67 | + |
| 68 | +## Azure Key Vault |
| 69 | + |
| 70 | +[!INCLUDE [Key Vault in non-paired regions guidance](../key-vault/includes/key-vault-non-paired-regions.md)] |
| 71 | + |
| 72 | + |
| 73 | + |
| 74 | +## Azure Kubernetes Service (AKS) |
| 75 | + |
| 76 | +Azure Backup can provide protection for AKS clusters, including a [cross-region restore (CRR)](/azure/backup/tutorial-restore-aks-backups-across-regions) feature that's currently in preview and only supports Azure Disks. Although the CRR feature relies on GRS paired regions replicas, any dependency on CRR can be avoided if the AKS cluster stores data only in external storage and avoids using "in-cluster" solutions. |
| 77 | + |
| 78 | + |
| 79 | +## Azure Monitor Logs |
| 80 | + |
| 81 | +Log Analytics workspaces in Azure Monitor Logs don't use paired regions. To ensure business continuity and protect against data loss, enable cross-region workspace replication. |
| 82 | + |
| 83 | +For more information, see [Enhance resilience by replicating your Log Analytics workspace across regions](/azure/azure-monitor/logs/workspace-replication) |
| 84 | + |
| 85 | + |
| 86 | +## Azure SQL Database |
| 87 | + |
| 88 | +For geo-replication in non-paired regions with Azure SQL Database, you can use: |
| 89 | + |
| 90 | +- [Failover group feature](/azure/azure-sql/database/failover-group-sql-db?view=azuresql&preserve-view=true) that replicates across any combination of Azure regions without any dependency on underlying storage GRS. |
| 91 | + |
| 92 | +- [Active geo-replication feature](/azure/azure-sql/database/active-geo-replication-overview?view=azuresql&preserve-view=true) to create a continuously synchronized readable secondary database for a primary database. The readable secondary database may be in the same Azure region as the primary or, more commonly, in a different region. This kind of readable secondary database is also known as a *geo-secondary* or *geo-replica*. |
| 93 | + |
| 94 | +## Azure SQL Managed Instance |
| 95 | + |
| 96 | +For geo-replication in non-paired regions with Azure SQL Managed Instance, you can use: |
| 97 | + |
| 98 | +- [Failover group feature](/azure/azure-sql/managed-instance/failover-group-sql-mi?view=azuresql&preserve-view=true) that replicates across any combination of Azure regions without any dependency on underlying storage GRS. |
| 99 | + |
| 100 | + |
| 101 | +## Azure Storage |
| 102 | + |
| 103 | + |
| 104 | +To achieve geo-replication in non-paired regions: |
| 105 | + |
| 106 | +- **For Azure Object Storage**: |
| 107 | + |
| 108 | + - For blob storage and Azure Data Lake Storage, you can use tools such as [AZCopy](../storage/common/storage-use-azcopy-blobs-copy.md) or [Azure Data Factory](/azure/data-factory/connector-azure-blob-storage?tabs=data-factory.md). |
| 109 | + |
| 110 | + - For general-purpose v2 storage accounts and premium block blob accounts, you can use [Azure Storage Object Replication](../storage/blobs/object-replication-overview.md). |
| 111 | + |
| 112 | + >[!NOTE] |
| 113 | + >Object replication isn't supported for [Azure Data Lake Storage](../storage/blobs/data-lake-storage-best-practices.md). |
| 114 | +
|
| 115 | + |
| 116 | + |
| 117 | +- **For Azure NetApp Files (ANF)**, you can replicate to a set of non-standard pairs besides Azure region pairs. See [Azure NetApp Files (ANF) cross-region replication](/azure/azure-netapp-files/cross-region-replication-introduction). |
| 118 | + |
| 119 | +- **For Azure Files:** |
| 120 | + |
| 121 | + - To copy your files to another storage account in a different region, use tools such as: |
| 122 | + |
| 123 | + - [AZCopy](../storage/common/storage-use-azcopy-blobs-copy.md) |
| 124 | + - [Azure PowerShell](/powershell/module/az.storage/?view=azps-12.0.0&preserve-view=true) |
| 125 | + - [Azure Data Factory](/azure/data-factory/connector-azure-blob-storage?tabs=data-factory) |
| 126 | + |
| 127 | + For a sample script, see [Sync between two Azure file shares for Backup and Disaster Recovery](https://github.com/Azure-Samples/azure-files-samples/tree/master/SyncBetweenTwoAzureFileSharesForDR). |
| 128 | + |
| 129 | + - To sync between your Azure file share (cloud endpoint), an on-premises Windows file server, and a mounted file share running on a virtual machine in another Azure region (your server endpoint for disaster recovery purposes), use [Azure File Sync](/azure/storage/file-sync/file-sync-introduction). |
| 130 | + |
| 131 | + > [!IMPORTANT] |
| 132 | + > You must disable cloud tiering to ensure that all data is present locally, and provision enough storage on the Azure Virtual Machine to hold the entire dataset. To ensure changes replicate quickly to the secondary region, files should only be accessed and modified on the server endpoint rather than in Azure. |
| 133 | +
|
| 134 | + |
| 135 | + |
| 136 | + |
| 137 | + |
| 138 | + |
| 139 | + |
| 140 | +## Next steps |
| 141 | + |
| 142 | +- [Azure services and regions that support availability zones](availability-zones-service-support.md) |
| 143 | +- [Disaster recovery guidance by service](disaster-recovery-guidance-overview.md) |
| 144 | +- [Reliability guidance](./reliability-guidance-overview.md) |
| 145 | +- [Business continuity management program in Azure](./business-continuity-management-program.md) |
| 146 | + |
0 commit comments