请求协助:使用Azure Bicep实现挪威东部至西部的VM复制
使用Azure Bicep配置跨区域VM复制(挪威东部→挪威西部)
前提条件
- 源VM已部署在**挪威东部(norwayeast)**区域
- 目标区域**挪威西部(norwaywest)**需存在恢复服务Vault(可通过Bicep创建或引用现有)
- 源VM使用的存储账户为标准类型(支持复制功能)
步骤1:创建目标区域的恢复服务Vault(若无现有Vault)
param vaultName string = 'NorwayRecoveryVault' param targetLocation string = 'norwaywest' param sourceLocation string = 'norwayeast' resource recoveryVault 'Microsoft.RecoveryServices/vaults@2023-04-01' = { name: vaultName location: targetLocation properties: {} sku: { name: 'RS0' tier: 'Standard' } }
步骤2:定义跨区域复制策略
配置恢复点保留周期、复制频率等核心参数:
resource replicationPolicy 'Microsoft.RecoveryServices/vaults/replicationPolicies@2023-04-01' = { parent: recoveryVault name: 'NorwayCrossRegionPolicy' properties: { providerSpecificInput: { instanceType: 'A2A' recoveryPointHistory: 7 // 保留7天恢复点 applicationConsistentSnapshotFrequencyInHours: 4 // 每4小时生成应用一致快照 replicationFrequencyInMinutes: 15 // 每15分钟执行一次增量复制 } } }
步骤3:关联源VM并启用复制保护
完成源VM到目标Vault的映射,配置复制规则:
param sourceVmName string = 'MySourceVM' param sourceResourceGroupName string = 'MySourceRG' // 引用源区域的VM资源 resource sourceVm 'Microsoft.Compute/virtualMachines@2023-07-01' existing = { name: sourceVmName scope: resourceGroup(sourceResourceGroupName, sourceLocation) } // 获取源VM的OS磁盘ID var sourceOsDiskId = sourceVm.properties.storageProfile.osDisk.managedDisk.id // 创建复制结构与保护容器(A2A复制必需) resource replicationFabric 'Microsoft.RecoveryServices/vaults/replicationFabrics@2023-04-01' = { parent: recoveryVault name: 'SourceNorwayEastFabric' properties: { fabricSpecificDetails: { instanceType: 'A2A' location: sourceLocation } } } resource replicationProtectionContainer 'Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers@2023-04-01' = { parent: replicationFabric name: 'SourceContainer' properties: {} } // 启用VM复制保护 resource vmReplication 'Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems@2023-04-01' = { parent: replicationProtectionContainer name: sourceVmName properties: { protectedItemType: 'Microsoft.Compute/virtualMachines' providerSpecificDetails: { instanceType: 'A2A' virtualMachineId: sourceVm.id osDiskId: sourceOsDiskId dataDiskIds: [] // 若有数据盘,添加对应磁盘ID数组 sourceLocation: sourceLocation targetLocation: targetLocation replicationPolicyId: replicationPolicy.id targetResourceGroupId: resourceGroup().id // 目标资源组ID,可指定自定义RG targetVirtualMachineName: '${sourceVmName}-dr' // 故障转移后生成的VM名称 } } }
步骤4:部署Bicep模板
使用Azure CLI执行部署:
az deployment group create --resource-group <目标资源组名称> --template-file ./vm-cross-region-replication.bicep --parameters sourceVmName=<源VM名称> sourceResourceGroupName=<源VM资源组名称>
关键注意事项
- 若源VM包含数据盘,需在
dataDiskIds数组中逐一添加对应的数据盘ID - 复制策略参数可根据业务RPO/RTO需求调整
- 部署完成后,可在恢复服务Vault的“复制的项”中查看同步状态
内容的提问来源于stack exchange,提问作者Satish B
相关产品推荐
相关产品推荐

