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

如何使用ARM或Azure CLI将现有虚拟网络连接到DevTest Lab

解决方案

完全可以自动化完成VNet和DevTest Lab的绑定操作,以下是两种适配你现有技术栈的实现方式:

方式1:直接用Bicep实现(推荐,适配你现有IaC流程)

绑定VNet本质是在DevTest Lab资源下创建Microsoft.DevTestLab/labs/virtualNetworks子资源,不需要修改你现有的VNet和DevTest Lab的基础模板,新增如下Bicep代码即可:

// 引用已存在的DevTest Lab
resource lab 'Microsoft.DevTestLab/labs@2018-09-15' existing = {
  name: '<你的DevTest Lab名称>'
  scope: resourceGroup('<你的资源组名称>')
}

// 引用已存在的VNet
resource vnet 'Microsoft.Network/virtualNetworks@2021-02-01' existing = {
  name: '<你的VNet名称>'
  scope: resourceGroup('<你的资源组名称>')
}

// 创建Lab和VNet的绑定关系
resource labVnet 'Microsoft.DevTestLab/labs/virtualNetworks@2018-09-15' = {
  parent: lab
  name: '<绑定后的显示名称,可和VNet同名>'
  properties: {
    externalProviderResourceId: vnet.id
    subnetOverrides: [
      // 按需配置子网规则,默认继承VNet子网配置可以留空,或者指定对应子网
      {
        name: '<VNet对应子网名称>'
        useInVmCreationPermission: 'Allow'
        usePublicIpAddressPermission: 'Allow' // 按需调整为Deny
      }
    ]
  }
}

把这段代码加入你的现有Bicep部署流程,运行后即可自动完成绑定。

方式2:通过Azure CLI实现

如果你需要单独在流水线中用CLI执行绑定操作,先确保安装DevTest Labs CLI扩展,再执行创建命令即可:

  1. 安装扩展:
    az extension add --name devtestlabs
  2. 执行绑定命令:
az lab vnet create \
  --lab-name <你的DevTest Lab名称> \
  --name <绑定后的VNet显示名称> \
  --resource-group <你的资源组名称> \
  --vnet-id <VNet的完整资源ID>

如果需要配置子网权限,可追加--subnet-overrides参数指定子网规则。

流水线集成说明

两种方式都可以直接嵌入你的Azure DevOps流水线:

  • Bicep方式直接和你现有Bicep模板一起走az deployment group create命令部署即可
  • CLI方式直接在Azure CLI任务中运行上述命令即可,无需手动操作门户

内容的提问来源于stack exchange,提问作者A7med

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:09:04