You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助:使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 05:47:10