Share via


Azure Data Factory 受控虛擬網路

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

本文將說明 Azure Data Factory 中的受控虛擬網路和受控私人端點。

受控虛擬網路

當您在 Data Factory 受控虛擬網路內建立 Azure 整合執行階段時,會使用受控虛擬網路佈建整合執行階段。 其會使用私人端點安全地連線到支援的資料存放區。

在受控虛擬網路內建立整合執行階段,可確保資料整合程序是隔離且安全的。

使用受控虛擬網路的優點:

  • 透過受控虛擬網路,您可以將管理虛擬網路的負擔轉至 Data Factory。 您無須為整合執行階段建立子網路,該執行階段最終將可使用您虛擬網路中的許多私人 IP,而需要預先規劃網路基礎結構。
  • 您不需具備深入的 Azure 網路知識,即可安全地進行資料整合。 請從安全 ETL 開始著手,因為這已針對資料工程師大幅簡化。
  • 受控虛擬網路以及受控私人端點可防止資料外流。

目前,受控虛擬網路只在與 Data Factory 區域相同的區域中受到支援。

注意

現有的全域整合執行階段無法在 Data Factory 受控虛擬網路中切換至整合執行階段,反之亦然。

Diagram that shows Data Factory managed virtual network architecture.

在資料處理站中啟用受控虛擬網路的方式有兩種:

  1. 在建立資料處理站期間啟用受控虛擬網路。

Screenshot of enabling managed virtual network during the creation of data factory.

  1. 在整合執行階段上啟用受控虛擬網路。

Screenshot of enabling managed virtual network in integration runtime

受控私人端點

受控私人端點是在 Data Factory 受控虛擬網路中建立的私人端點,這會建立 Azure 資源的私人連結。 Data Factory 會代表您管理這些私人端點。

Data Factory 支援私人連結。 您可以使用 Azure Private Link 來存取 Azure 平台即服務 (PaaS) 服務,例如 Azure 儲存體、Azure Cosmos DB 和 Azure Synapse Analytics。

當您使用私人連結時,資料存放區與受控虛擬網路之間的流量會完全透過 Microsoft 骨幹網路進行周遊。 Private Link 可保護您免受資料外洩風險。 您可以建立私人端點來建立資源的私人連結。

私人端點會使用受控虛擬網路中的私人 IP 位址,有效地將服務導入其中。 私人端點會對應至 Azure 中的特定資源,而不是整個服務。 客戶可以限制其組織所核准之特定資源的連線能力。 如需詳細資訊,請參閱私人連結和私人端點

注意

資源提供者 Microsoft.Network 必須向您的訂用帳戶註冊。

  1. 請確定您在資料處理站中啟用受控虛擬網路。
  2. 管理中樞中建立新的受控私人端點.

Screenshot that shows new managed private endpoints.

  1. 當您在 Data Factory 中建立受控私人端點時,會以「擱置」狀態建立私人端點連線。 已起始核准工作流程。 私人連結資源的擁有者會負責核准或拒絕連線。

Screenshot that shows the option Manage approvals in Azure portal.

  1. 如果擁有者核准連線,就會建立私人連結。 否則,系統將不會建立私人連結。 無論是哪一種情況,都會以連線狀態來更新受控私人端點。

Screenshot that shows approving a managed private endpoint.

只有處於已核准狀態的受控私人端點可以將流量傳送到特定的私人連結資源。

注意

受控虛擬網路不支援自訂 DNS。

互動式撰寫

互動式製作功能可用於測試連線、瀏覽資料夾清單和資料表清單、取得結構描述和預覽資料等功能。 您可以在建立或編輯位於 Azure Data Factory 受控虛擬網路中的 Azure 整合執行階段時啟用互動式製作。 後端服務會預先配置計算以進行互動式製作功能。 否則,每次執行任何互動式作業時都會配置計算,這將需要更多時間。 互動式製作的存留時間 (TTL) 預設為 60 分鐘,這表示在最後一次互動式製作作業的 60 分鐘之後,就會自動停用。 您可以根據實際需求變更 TTL 值。

Screenshot that shows interactive authoring.

存留時間

複製活動

根據預設,每個複製活動都會根據複製活動中的設定啟動新的計算。 啟用受控虛擬網路時,冷計算啟動時間需要幾分鐘的時間,而且在完成之前無法啟動資料移動。 如果您的管線包含多個循序複製活動,或您在 foreach 迴圈中有許多複製活動,而且無法平行執行,則可以在 Azure 整合執行階段設定中啟用存留時間 (TTL) 值。 指定複製活動所需的存留時間值和 DIU 數字,讓對應的計算在執行完成之後,保持運作一段時間。 如果新複製活動在 TTL 期間開始,則會重複使用現有的計算,並大幅減少啟動時間。 第二個複製活動完成之後,計算將會再次在 TTL 時間內保持運作。 您可以彈性地從預先定義的計算大小中選取,大中小皆可。 或者,您也可以選擇根據特定需求和即時需求,自訂計算大小。

注意

重新設定 DIU 數字不會影響目前的複製活動執行。

注意

受控虛擬網路中的複製活動不支援資料整合單位 (DIU) 為 2 DIU 的量值。

您在 TTL 中選取的 DIU 將用來執行所有複製活動,DIU 的大小將不會根據實際需求自動調整。 因此,您必須選擇足夠的 DIU。

警告

如果選取幾個 DIU 以執行許多活動,會導致佇列中擱置許多活動,這會影響整體效能。

管線和外部活動

與複本類似,您可以根據特定需求量身打造計算大小和 TTL 持續時間。 不過,與複本不同的是,請留意管線和外部 TTL 是無法停用的。

注意

存留時間 (TTL) 僅適用於受控虛擬網路。

Screenshot that shows the TTL configuration.

您可以使用下表作為參考,以判斷同時執行 Pipelines 和外部活動的最佳節點數目。

活動類型 Capacity
管線活動 每個節點大約 50 個
相較於其他管線活動,使用 SQL alwaysEncrypted 的指令碼活動和查閱活動通常會耗用更多資源,建議的數目約每個節點 10 個
外部活動 每個節點大約 800 個

不同 TTL 的比較

下表列出不同類型的 TTL 之間的差異:

功能 互動式撰寫 複製計算規模 管線與外部計算規模
何時生效 啟用後立即 第一個活動執行 第一個活動執行
可以停用 Y Y
保留的計算可設定 Y

注意

您無法在預設自動解析 Azure 整合執行階段中啟用 TTL。 您可以為其建立新的 Azure 整合執行階段。

注意

啟用複製/管線/外部計算規模 TTL 時,會視保留的計算資源來計費。 因此,活動的輸出並不包含 billingReference,因為此僅適用於非 TTL 案例。

透過 Azure PowerShell 建立受控虛擬網路

$subscriptionId = ""
$resourceGroupName = ""
$factoryName = ""
$managedPrivateEndpointName = ""
$integrationRuntimeName = ""
$apiVersion = "2018-06-01"
$privateLinkResourceId = ""

$vnetResourceId = "subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/managedVirtualNetworks/default"
$privateEndpointResourceId = "subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/managedVirtualNetworks/default/managedprivateendpoints/${managedPrivateEndpointName}"
$integrationRuntimeResourceId = "subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/integrationRuntimes/${integrationRuntimeName}"

# Create managed Virtual Network resource
New-AzResource -ApiVersion "${apiVersion}" -ResourceId "${vnetResourceId}" -Properties @{}

# Create managed private endpoint resource
New-AzResource -ApiVersion "${apiVersion}" -ResourceId "${privateEndpointResourceId}" -Properties @{
        privateLinkResourceId = "${privateLinkResourceId}"
        groupId = "blob"
    }

# Create integration runtime resource enabled with virtual network
New-AzResource -ApiVersion "${apiVersion}" -ResourceId "${integrationRuntimeResourceId}" -Properties @{
        type = "Managed"
        typeProperties = @{
            computeProperties = @{
                location = "AutoResolve"
                dataFlowProperties = @{
                    computeType = "General"
                    coreCount = 8
                    timeToLive = 0
                }
            }
        }
        managedVirtualNetwork = @{
            type = "ManagedVirtualNetworkReference"
            referenceName = "default"
        }
    }

注意

您可以從私人連結資源取得其他資料來源的 groupId

輸出連線

支援的資料來源和服務

下列服務具有原生私人端點支援。 您可以透過 Data Factory 受控虛擬網路的私人連結連到這些項目:

  • Azure Databricks
  • Azure Functions (進階方案)
  • Azure Key Vault
  • Azure Machine Learning
  • Azure Private Link
  • Microsoft Purview

如需資料來源的支援,您可以參閱連接器概觀。 您可透過公用網路存取所有受 Data Factory 支援的資料來源。

內部部署資料來源

若要了解如何透過使用私人端點,從受控虛擬網路存取內部部署資料來源,請參閱使用私人端點從 Data Factory 受控虛擬網路存取內部部署 SQL Server

透過公用端點從 Data Factory 受控虛擬網路進行輸出通訊

所有連接埠都會對輸出通訊開放。

限制和已知問題

金鑰保存庫的連結服務建立

當您建立 Key Vault 的連結服務時,沒有整合執行階段參考。 因此,在 Key Vault 的連結服務建立期間,您無法建立私人端點。 但是,當您為參考金鑰保存庫的資料存放區建立連結服務時,此連結服務會參考已啟用受控虛擬網路的整合執行階段時,您可以在建立期間建立金鑰保存庫的私人端點。

  • 測試連線:Key Vault 連結服務的作業只會驗證 URL 格式,但不會執行任何網路作業。
  • 使用私人端點:即使您為 Key Vault 建立私人端點,資料行仍一律會顯示為空白。

Azure HDInsight 的連結服務建立

即使您使用私人連結服務和負載平衡器並搭配連接埠轉送,為 HDInsight 建立私人端點,[使用私人端點] 資料行仍一律會顯示為空白。

Screenshot that shows a private endpoint for Key Vault.

Azure HDInsight 的完整網域名稱 (FQDN)

如果已建立自訂私人連結服務,則在建立私人端點時,FQDN 應該以 azurehdinsight.net 結尾,網域名稱的開頭沒有 privatelink。 如果您在網域名稱中使用 privatelink,請確定這是有效的,而且可以解析此名稱。

受控虛擬網路中具有私人端點的存取條件約束

向 Private Link 和私人端點公開兩端時,您就無法存取每個 PaaS 資源。 這是 Private Link 和私人端點的已知限制。

例如,您有儲存體帳戶 A 的受控私人端點。您也可以透過相同受控虛擬網路中的公用網路來存取儲存體帳戶 B。 但是,當儲存體帳戶 B 具有來自其他受控虛擬網路或客戶虛擬網路的私人端點連線時,您無法透過公用網路存取受控虛擬網路中的儲存體帳戶 B。

請參閱下列教學課程: