重要
此功能目前以公共预览版提供。
本页提供了有关更新现有 Azure Databricks 工作区的虚拟网络(VNet)配置的分步说明。 这样,就可以将工作区从 Azure Databricks 托管的 VNet 迁移到自己的 VNet、称为 VNet 注入的进程,或修改现有 VNet 注入工作区的 VNet 配置。
为什么将工作区迁移到 VNet 注入部署
将工作区迁移到 VNet 注入部署可提供关键的网络自定义和安全功能:
- 完全网络控制:使用 Azure ExpressRoute 等服务定义自定义路由、防火墙规则和与本地网络的连接。
- 增强安全性:实施高级安全功能,例如网络安全组(NSG),并根据组织的策略限制出站流量。
- 灵活的 IP 寻址:控制 VNet 和子网 IP 地址范围,以避免企业网络内的冲突。
在您开始之前
- 请确认工作区不得配置为使用 Azure 负载均衡器。 如果这适用于你的工作区,请联系你的帐户团队以获取帮助。
- 若要防止中断,请终止工作区中所有正在运行的群集和作业。 更新完成后,可以重启它们。
从托管 VNet 迁移到 VNet 注入
按照以下步骤将部署在 Azure Databricks 托管的 VNet 中的工作区转换为自己的 VNet 中注入的 VNet 工作区。
步骤 1:创建网络安全组 (NSG)
在 Azure 门户中,搜索并选择“ 部署自定义模板”。
单击“在编辑器中生成自己的模板”。
将以下 ARM 模板粘贴到编辑器中,然后单击“ 保存”。
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Location for all resources." } }, "NSGName": { "type": "string", "defaultValue": "databricks-nsg-01", "metadata": { "description": "The name for the Network Security Group." } } }, "resources": [ { "apiVersion": "2020-05-01", "type": "Microsoft.Network/networkSecurityGroups", "name": "[parameters('NSGName')]", "location": "[parameters('location')]" } ], "outputs": { "existingNSGId": { "type": "string", "value": "[resourceId('Microsoft.Network/networkSecurityGroups', parameters('NSGName'))]" } } }
在 “基本信息 ”选项卡上,配置以下参数:
- 订阅:选择包含工作区的订阅。
- 资源组:选择与工作区相同的资源组,而不是托管资源组。
- 位置:确保这与工作区的区域匹配。
单击“查看 + 创建”,然后单击“创建”。 记
existingNSGId
下部署输出中的说明。
步骤 2:创建新的 VNet
此实现方法使用具有 NAT 网关的 ARM 模板。 有关改用 Azure 门户 UI 的说明,请参阅 将托管工作区升级到 VNet 注入工作区。
返回 “部署自定义模板”。
在模板搜索框中,找到 Azure 快速入门模板
databricks-vnet-for-vnet-injection-with-nat-gateway
。单击 “选择模板”。
在 “基本信息 ”选项卡上,配置以下参数:
- 订阅: 选择包含工作区的订阅。
- 资源组: 选择与工作区相同的资源组。
- NSG ID: 粘贴在步骤 1 中创建的 NSG 的资源 ID。
- VNet 名称: 为新 VNet 提供唯一名称。
- VNet CIDR、 专用子网 CIDR、 公共子网 CIDR: 定义地址范围。 确保它们足够大,以满足你的工作区需求。
单击“查看 + 创建”,然后单击“创建”。
注释
确保 VNet 名称 在资源组中是唯一的。 如果名称已存在,模板将尝试修改现有 VNet,而不是创建新的 VNet。
步骤 3:更新工作区
在 Azure 门户中,转到 Azure Databricks 工作区。
在左侧边栏中的 “自动化”下,单击“ 导出模板”。
等待模板完成加载,然后单击“ 部署”。
在自定义部署页上,单击“ 编辑模板”。
在编辑器中,进行以下更改:
将
apiVersion
设置为2025-08-01-preview
。如果存在这些参数,请从
properties
节中删除以下参数:vnetAddressPrefix
natGatewayName
publicIpName
将以下参数
resources.properties.parameters
添加到其中,将占位符值替换为步骤 2 中的新 VNet 和子网名称。{ "customPrivateSubnetName": { "value": "your-private-subnet-name" }, "customPublicSubnetName": { "value": "your-public-subnet-name" }, "customVirtualNetworkId": { "value": "/subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group>/providers/Microsoft.Network/virtualNetworks/<your-vnet-name>" } }
单击“ 保存”。
将 VNet 注入的工作区移动到新的 VNet
按照步骤 3 中的步骤作 :更新工作区, 将现有 VNet 注入的工作区移动到新的 VNet。
注释
如果工作区使用 后端专用链接连接,则会将其绑定到旧的 VNet。 迁移到新的 VNet 后,旧的专用链接连接会中断。 必须先手动删除旧的专用终结点及其相应的专用 DNS 区域,然后才能为新的 VNet 创建新的专用链接连接。
在注入 VNet 的工作区中扩展现有子网
使用以下步骤将现有子网替换为 VNet 注入的工作区中的新子网。
步骤 1:创建新子网
在 Azure 门户中,转到工作区页,然后单击 VNet 链接。
在 VNet 页中,单击左侧栏中的 “子网 ”。
单击“ + 子网 ”创建新的子网。
根据需求更新 名称和IPv4 字段。
单击“ 添加” 以创建子网。
步骤 2:更新工作区
按照步骤 3 中的说明作 :更新工作区 以编辑工作区模板。
将
apiVersion
更改为2025-08-01-preview
.使用新的子网名称更新以下一个或两个字段:
customPrivateSubnetName
customPublicSubnetName
确保所有其他字段保持不变。
单击“保存”以应用更改。
测试验证
完成任何工作区网络配置更新后,使用以下测试矩阵确认工作区按预期运行:
测试 | Steps |
---|---|
新群集按预期工作 | 创建新的群集并运行作业 |
现有群集按预期工作 | 使用更新之前创建的群集运行作业 |
注释
大多数更改将在 15 分钟内刷新。 等待工作区在运行验证测试之前返回到 “活动 ”状态。
局限性
- 公共预览版期间尚不支持 Terraform。
- 不支持调整 Azure Databricks 工作区使用的子网大小。