为无服务器计算访问配置防火墙

本页介绍如何使用 Azure Databricks 帐户控制台 UI 为无服务器计算配置 Azure 存储防火墙。 还可以使用 网络连接配置 API

若要为无服务器计算访问配置专用终结点,请参阅 配置与 Azure 资源的专用连接

重要

从 2024 年 12 月 4 日起,Azure Databricks 开始收取与连接到客户资源的无服务器工作负荷相关的网络成本。 目前将根据你使用的资源按每小时收取专用终结点费用。 将无限期免除专用链接连接的数据处理费用。 其他网络成本的计费将逐步推出,包括:

  • 公共连接到你的资源,例如通过 NAT 网关。
  • 数据传输费用,例如,当无服务器计算和目标资源驻留在不同的区域中时。

费用不会追溯征收。

请参阅 了解 Databricks 无服务器网络成本

为无服务器计算启用防火墙概述

无服务器网络连接由网络连接配置 (NCC) 负责管理。 帐户管理员在帐户控制台中创建 NCC,NCC 可以附加到一个或多个工作区。 NCC 是帐户级和区域级的结构,用于大规模管理专用终结点的创建和防火墙的启用。

NCC 将 Azure 资源的网络标识定义为默认规则。 当 NCC 附加到工作区时,该工作区中的无服务器计算使用其中一个网络连接到 Azure 资源。 可以在 Azure 资源防火墙中列出这些网络。 对于非存储 Azure 资源防火墙,请联系帐户团队,了解如何使用稳定的 NAT IP。

支持从无服务器 SQL 仓库、作业、笔记本、DLT 管道和模型服务终结点启用 NCC 防火墙。

还可以限制工作区存储帐户对授权网络的访问权限,包括无服务器计算。 附加 NCC 时,其网络规则会自动添加到工作区存储帐户。 请参阅 为工作区存储帐户启用防火墙支持

有关 NCC 的详细信息,请参阅 什么是网络连接配置(NCC?)。

跨区域存储访问的成本影响

只有当 Azure 资源与 Azure Databricks 工作区位于同一区域时,防火墙才适用。 对于来自 Azure Databricks 无服务器计算的跨区域流量(例如,工作区位于美国东部区域,ADLS 存储位于西欧),Azure Databricks 通过 Azure NAT 网关服务路由流量。

要求

  • 你必须是 Azure Databricks 帐户管理员。
  • 每个 NCC 最多可连接至 50 个工作区。
  • 每个 Azure Databricks 帐户每个区域最多可以有 10 个 NCC。 NCC 为每个配置提供共享稳定的 IP CIDR 块,而不是不同的 IP 块,这些 IP 范围特定于区域。 有关支持区域的列表,请参阅 Azure Databricks 区域
  • 必须有权 WRITE 访问 Azure 存储帐户的网络规则。

步骤 1:创建网络连接配置并复制子网 ID

Databricks 建议在同一业务部门的工作区以及共享相同区域连接属性的工作区之间共享 NCC。 例如,如果某些工作区使用存储防火墙,而其他工作区使用专用链接的替代方法,请为这些用例分别使用单独的 NCC。

网络配置

  1. 作为帐户管理员,请转到帐户控制台。
  2. 在边栏中,单击“ 云资源”。
  3. 单击“网络连接配置”
  4. 单击“添加网络连接配置”
  5. 键入 NCC 的名称。
  6. 选择区域。 这必须与工作区区域匹配。
  7. 单击“添加” 。
  8. 在 NCC 列表中,单击新的 NCC。
  9. “网络标识”下的默认规则中,单击“全部查看”。
  10. 在对话框中,单击“复制子网”按钮

步骤 2:将 NCC 连接到工作区

可将 NCC 附加到 NCC 所在的同一区域中最多 50 个工作区。

若要使用 API 将 NCC 附加到工作区,请参阅 帐户工作区 API

  1. 在帐户控制台边栏中,单击“ 工作区”。
  2. 单击工作区的名称。
  3. 单击“更新工作区”
  4. “网络连接配置” 字段中,选择 NCC。 如果它不可见,请确认你已为工作区和 NCC 选择了同一区域。
  5. 单击“更新” 。
  6. 等待 10 分钟,让更改生效。
  7. 重启工作区中任何正在运行的无服务器计算资源。

如果使用此功能连接到工作区存储帐户,则配置已经完成。 网络规则会自动添加到工作区存储帐户。 如果需要其他存储帐户,请继续进行下一步骤。

步骤 3:锁定存储帐户

如果尚未将 Azure 存储帐户的访问权限限制为仅允许列出的网络,请立即执行此作。 无需为工作区存储帐户执行此步骤。

创建存储防火墙还会影响从经典计算平面到资源的连接。 还必须添加网络规则,以便从经典计算资源连接到存储帐户。

  1. 转到 Azure 门户。
  2. 导航到数据源的存储帐户。
  3. 在左侧导航栏中,单击“网络”。
  4. 在“公用网络访问”字段中,检查该值。 默认情况下,该值为“已从所有网络启用”。 将此更改为 “从所选虚拟网络和 IP 地址启用”。

步骤 4a:添加 Azure 存储帐户网络规则

无需为工作区存储帐户执行此步骤。

  1. 在文本编辑器中,复制并粘贴以下脚本,将参数替换为 Azure 帐户的值:

    # Define parameters
    
    $subscription = `<YOUR_SUBSCRIPTION_ID>` # Replace with your Azure subscription ID or name
    $resourceGroup = `<YOUR_RESOURCE_GROUP>` # Replace with your Azure resource group name
    $accountName = `<YOUR_STORAGE_ACCOUNT_NAME>` # Replace with your Azure storage account name
    $subnets = `<SUBNET_NAME_1>` # Replace with your actual subnet names
    
    # Add network rules for each subnet
    foreach ($subnet in $subnets) {
       az storage account network-rule add --subscription $subscription `
          --resource-group $resourceGroup `
          --account-name $accountName `
          --subnet $subnet
    }
    
  2. 启动 Azure Cloud Shell。

  3. 在 Azure Cloud Shell 中,使用编辑器创建以 .ps1 扩展结尾的新文件:

    vi ncc.ps1
    
  4. 将步骤 11 中的脚本粘贴到编辑器中,然后按 Esc、键入 :wq和按 Enter

  5. 运行以下命令以执行脚本:

    ./ncc.ps1
    
  6. 运行所有命令后,可以使用 Azure 门户查看你的存储帐户并确认“虚拟网络”表中是否有一个代表新子网的条目。

    提示

    • 添加存储帐户网络规则时,请使用 网络连接 API 检索最新的子网。
    • 避免在本地存储 NCC 信息。
    • 忽略终结点状态列中的“权限不足”或网络列表下面的警告。 这只是表示你无权读取 Azure Databricks 子网,但不会阻碍 Azure Databricks 无服务器子网联系 Azure 存储的能力。

    虚拟网络列表中的新条目示例

  7. 若要从 Azure 门户确认存储帐户使用这些设置,请导航到存储帐户中的 网络 。 确认 公共网络访问 已设置为 从所选虚拟网络和 IP 地址启用,并在 虚拟网络 部分列出允许的网络。