Share via


設定無伺服器計算存取的防火牆

注意

如果您在 2023 年 10 月 31 日之前使用 Azure Databricks 檔中的子網標識符來設定記憶體防火牆,Databricks 建議您依照本文中的步驟或使用 私人端點來更新工作區。 如果您選擇不更新現有的工作區,它們會繼續運作,而不需要變更。

本文說明如何使用 Azure Databricks 帳戶控制台 UI 設定無伺服器計算的 Azure 記憶體防火牆。 您也可以使用網路 連線 ivity 設定 API

若要設定無伺服器計算存取的私人端點,請參閱 從無伺服器計算設定私人連線。

注意

無伺服器功能目前沒有網路費用。 在較新版本中,您可能會向您收取費用。 Azure Databricks 將提供網路定價變更的預先通知。

無伺服器計算的防火牆啟用概觀

無伺服器網路連線是由網路連線設定 (NCC) 管理。 帳戶管理員會在帳戶控制台中建立 NCC,而 NCC 可以連結至一或多個工作區

NCC 包含 Azure 資源類型作為預設規則的網路身分識別清單。 當 NCC 連結至工作區時,該工作區中的無伺服器計算會使用其中一個網路來連線 Azure 資源。 您可以允許在 Azure 資源防火牆上列出這些網路。

只有您管理的數據源不支援無伺服器 SQL 倉儲啟用 NCC 防火牆。 無伺服器計算平面中的其他計算資源不支援它。

您可以選擇性地從包含無伺服器 SQL 倉儲在內的授權網路,設定工作區記憶體帳戶的網路存取。 請參閱 啟用工作區記憶體帳戶的防火牆支援。 當 NCC 連結至工作區時,網路規則會自動新增至工作區記憶體帳戶的 Azure 記憶體帳戶。

如需 NCC 的詳細資訊,請參閱 什麼是網路連線設定 #NCC?

跨區域記憶體存取的成本影響

對於來自 Azure Databricks 無伺服器 SQL 倉儲的跨區域流量(例如,工作區位於美國東部區域,ADLS 記憶體位於西歐),Azure Databricks 會透過 Azure NAT 網關服務路由傳送流量。

重要

目前沒有使用這項功能的費用。 在較新版本中,您可能需支付使用量的費用。 為了避免這些費用,Databricks 建議您在與記憶體相同的區域中建立工作區。

需求

  • 您的工作區必須位於 進階版 方案中

  • 您必須是 Azure Databricks 帳戶管理員。

  • 每個 NCC 最多可連結至 50 個工作區。

  • 每個 Azure Databricks 帳戶每個區域最多可以有 10 個 NC。

    • 您必須能夠 WRITE 存取 Azure 記憶體帳戶的網路規則。

步驟 1:建立網路連線設定並複製子網標識符

Databricks 建議在相同業務單位的工作區之間共用 NC,以及共用相同區域和連線屬性的工作區。 例如,如果某些工作區使用記憶體防火牆,而其他工作區 則使用 Private Link 的替代方法,請針對這些使用案例使用個別的 NC。

  1. 身為帳戶管理員,請移至帳戶控制台。
  2. 在提要欄位中,按兩下 [ 雲端資源]。
  3. 按兩下 [網络 連線 設定]。
  4. 按兩下 [新增網路 連線 性設定]。
  5. 輸入 NCC 的名稱。
  6. 選擇區域 這必須符合您的工作區區域。
  7. 按一下新增
  8. 在 NCC 清單中,按兩下新的 NCC。
  9. 在 [網络身分識別] 底下的 [默認規則] 中,按兩下 [全部檢視]。
  10. 在對話框中,按兩下 [ 複製子網 ] 按鈕,然後儲存子網清單。
  11. 按一下 [關閉] 。

步驟 3:將 NCC 附加至工作區

您可以將 NCC 附加至與 NCC 相同區域中最多 50 個工作區。

若要使用 API 將 NCC 附加至工作區,請參閱 帳戶工作區 API

  1. 在帳戶控制台提要字段中,按兩下 [ 工作區]。
  2. 按兩下工作區的名稱。
  3. 按兩下 [ 更新工作區]。
  4. 在 [網络 連線 ivity Config] 字段中,選取您的 NCC。 如果看不到,請確認您已針對工作區和 NCC 選取相同的區域。
  5. 按一下更新
  6. 等候 10 分鐘讓變更生效。
  7. 重新啟動工作區中任何執行中的無伺服器 SQL 倉儲。

如果您使用這項功能來連線到工作區記憶體帳戶,您的設定就會完成。 網路規則會自動新增至工作區記憶體帳戶。 如需其他記憶體帳戶,請繼續進行下一個步驟。

步驟 3:鎖定您的記憶體帳戶

如果您尚未將 Azure 記憶體帳戶的存取限制為僅允許列出的網路,請立即這麼做。 您不需要針對工作區記憶體帳戶執行此步驟。

建立記憶體防火牆也會影響從傳統計算平面到資源的連線。 您也必須新增網路規則,以從傳統計算資源連線到記憶體帳戶。

  1. 前往 Azure 入口網站。
  2. 瀏覽至數據源的記憶體帳戶。
  3. 在左側導覽中,按兩下 [網络]。
  4. 在 [公用網络存取] 字段中,檢查值。 根據預設,此值會 從所有網路啟用。 將此變更為 [從選取的虛擬網络和IP 位址啟用]。

步驟 4:新增 Azure 記憶體帳戶網路規則

您不需要針對工作區記憶體帳戶執行此步驟。

  1. 為每個子網新增一個 Azure 記憶體帳戶網路規則。 您可以使用 Azure CLI、PowerShell、Terraform 或其他自動化工具來執行這項操作。 請注意,此步驟無法在 Azure 入口網站用戶介面中完成。

    下列範例使用 Azure CLI:

    az storage account network-rule add --subscription "<sub>" \
        --resource-group "<res>" --account-name "<account>" --subnet "<subnet>"
    
    • 以記憶體帳戶的 Azure 訂用帳戶名稱取代 <sub>
    • 以記憶體帳戶的資源群組取代 <res>
    • 將取代 <account> 為您的記憶體帳戶名稱
    • 將 取代 <subnet> 為無伺服器 SQL 倉儲子網的 ARM 資源識別碼 (resourceId)。

    執行所有命令之後,您可以使用 Azure 入口網站 來檢視記憶體帳戶,並確認 虛擬網絡 s 數據表中有代表新子網的專案。 不過,您無法在 Azure 入口網站 中變更網路規則。

    提示

    請忽略端點狀態數據行或網路清單下方警告中「許可權不足」的提及。 它們只會指出您沒有讀取 Azure Databricks 子網的許可權,但不會干擾該 Azure Databricks 無伺服器子網連絡 Azure 記憶體的能力。

    範例 虛擬網絡 清單中的新專案

  2. 針對每個子網重複此命令一次。 您可以選擇性地將網路規則建立程式自動化。 請參閱 將網路規則建立自動化。

  3. 若要確認記憶體帳戶使用 Azure 入口網站 中的這些設定,請瀏覽至記憶體帳戶中的 [網络]。

    確認 [公用網络存取] 已設定為 [從選取的虛擬網络啟用] 和 [IP 位址] 和 [允許的網络] 列在 [虛擬網絡 s] 區段中。

自動建立網路規則

您可以使用 Azure CLI 或 Powershell,為您儲存器帳戶自動建立網路規則。

此 Azure CLI 範例會在清單中使用兩個子網,您可以搭配迴圈使用,以針對每個子網執行命令。 在此範例中, mystorage-rg 是資源群組,而 myaccount 是記憶體帳戶。

#!/bin/bash
SUBNETS=(/subscriptions/8453a5d5-9e9e-40c7-87a4-0ab4cc197f48/resourceGroups/prod-azure-eastusc3-nephos2/providers/Microsoft.Network/virtualNetworks/kaas-vnet/subnets/worker-subnet /subscriptions/8453a5d5-9e9e-40c7-87a4-0ab4cc197f48/resourceGroups/prod-azure-eastusc3-nephos3/providers/Microsoft.Network/virtualNetworks/kaas-vnet/subnets/worker-subnet)
for SUBNET in ${SUBNETS[@]}
do
  az storage account network-rule add --subscription 9999999-1ff3-43f4-b91e-d0ceb97111111 --resource-group mystorage-rg --account-name myaccount --subnet ${SUBNET}
done

若要使用 Powershell,請使用下列命令:

Add-AzStorageAccountNetworkRule -ResourceGroupName <resource group name> -Name <storage account name> -VirtualNetworkResourceId <subnets>

將:

  • <resource group name> 使用記憶體帳戶的資源群組。
  • 以儲存體帳戶名稱取代 <storage account name>
  • <subnets> 具有以逗號分隔的子網資源標識符清單。