适用于:
Azure 数据工厂
Azure Synapse Analytics
本文介绍Azure 数据工厂中的托管虚拟网络和托管专用终结点。
托管虚拟网络
在数据工厂托管虚拟网络中创建Azure集成运行时时,会使用托管虚拟网络预配集成运行时。 它使用专用终结点安全地连接到支持的数据存储。
在托管虚拟网络中创建集成运行时可确保隔离和保护数据集成进程。
使用托管虚拟网络的好处:
- 使用托管虚拟网络,可以将管理虚拟网络的负担转移给数据工厂。 不需要为集成运行时创建子网,它最终可能会使用虚拟网络中的多个专用 IP,需要事先进行网络基础结构规划。
- 你不需要深厚的 Azure 网络知识就能安全地进行数据集成。 相反,对于数据工程师来说,开始使用安全提取、转换和加载(ETL)要简单得多。
- 一个托管虚拟网络与多个托管专用终结点一起防止数据外泄。
数据工厂只支持与数据工厂同一区域内的受管理虚拟网络。
注意
现有的全局集成运行时无法切换到数据工厂托管虚拟网络中的集成运行时,反之亦然。
有两种方法可以在数据工厂中启用托管虚拟网络:
- 在创建数据工厂期间启用托管虚拟网络。
- 在集成运行时启用托管虚拟网络。
托管专用终结点
托管私有端点是您在Data Factory管理的虚拟网络中创建的私有端点,用于建立与Azure资源的私有链接。 Data Factory 会帮你管理这些私有端点。
数据工厂支持专用链接。 你可以使用 Azure 专用链接 访问 Azure 平台即服务(PaaS)服务,如 Azure 存储、Azure Cosmos DB 和 Azure Synapse Analytics。
使用专用链接时,数据存储与托管虚拟网络之间的流量完全通过Microsoft主干网络遍历。 专用链接可防止数据外泄风险。 可以通过创建专用终结点来建立到资源的专用链接。
私有端点使用托管虚拟网络中的私有IP地址将服务引入该网络。 专用终结点映射到Azure中的特定资源,而不是整个服务。 你可以将连接限制在组织批准的特定资源上。 有关详细信息,请参阅专用链接和专用终结点。
注意
资源提供程序 Microsoft.Network 必须在订阅中注册。
确保在数据工厂中启用托管虚拟网络。
在 Manage Hub 创建一个新的托管私有端点。
当你在Data Factory中创建托管私有端点时,你会创建一个处于 待处理 状态的私有端点连接。 该状态启动审批流程。 专用链接资源所有者负责批准或拒绝该连接。
显示 Azure 门户中的“管理审批”选项的屏幕截图 如果所有者批准该连接,则会建立专用链接。 否则,私有链接就不会建立起来。 在任一情况下,都会以连接状态更新托管专用终结点。
只有处于已批准状态的托管专用终结点才能将流量发送到特定的专用链接资源。
注意
自定义DNS在托管虚拟网络中不被支持。
注意
托管虚拟网络和托管专用终结点都在 Azure 订阅下。
交互式创作
交互式创作功能支持测试连接、浏览文件夹列表和表列表、获取模式和预览数据等功能。 当你在 Azure 数据工厂 管理的虚拟网络中创建或编辑 Azure 集成运行时,可以启用交互式创作。 后端服务预分配计算量用于交互式创作功能。 否则,每次执行交互操作时都会分配计算量,这需要更多时间。 交互式创作的存活时间(TTL)默认为60分钟,这意味着在最后一次交互式创作操作后60分钟自动禁用。 你可以根据需要更改TTL值。
生存时间
复制活动
默认情况下,每个复制活动都会根据复制活动配置启动一个新的计算。 启用托管虚拟网络后,冷计算启动时间需要几分钟,数据移动必须完成才能开始。 如果你的管道包含多个顺序复制活动,或者你有多个复制活动处于foreach循环中且无法并行运行,你可以在Azure集成运行时配置中启用一个寿命时间(TTL)值。 指定 TTL 值和复制活动所需的数据集成单元(DIU)编号,可以在执行完成后保持相应计算的有效时间。 如果在TTL时间内开始新的复制活动,它会重用现有计算,启动时间会大大缩短。 第二次复制活动完成后,计算器会再次保持活着直到 TTL 时间。 你可以从预设的计算大小中选择,范围从小到中到大不等。 或者,您也可以根据需求和实时需求自定义计算规模。
注意
重新配置DIU编号不会影响当前的复制活动执行。
注意
在托管的虚拟网络中,复制活动 不支持 2 DIU 的 DIU 测量。
Data Factory 使用你在 TTL 中选择的 DIU 来执行所有复制活动。 DIU的尺寸不会根据实际需求自动调整,所以你必须选择足够的DIU。
警告
选择过少的DIU来执行许多活动会导致许多活动在队列中停留,严重影响整体性能。
管道和外部活动
类似于复制,你可以根据需求调整计算规模和TTL时长。 不过,与复制不同的是,你不能禁用流水线和外部TTL。
注意
生存时间 (TTL) 仅适用于托管虚拟网络。
请参考下表,确定运行管道和外部活动的最佳节点数量。
| 活动类型 | 容量 |
|---|---|
| 管道活动 | 每个节点大约 50 个 与其他管道活动相比,使用 SQL alwaysEncrypted 的脚本活动和查找活动往往消耗更多资源,建议的数量约为每个节点 4 个 |
| 外部活动 | 每个节点大约 800 个 |
不同 TTL 的比较
下表列出了TTL类型之间的差异:
| 功能 | 交互式创作 | 复制计算规模 | 管道和外部计算规模 |
|---|---|---|---|
| 何时生效 | 启用后立即生效 | 第一次活动执行 | 第一次活动执行 |
| 可以禁用 | Y | 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"
}
}
注意
仅当通过 PowerShell 命令创建时,referenceName 才应设置为“默认”。
出站连接
支持的数据源和服务
以下服务原生提供专用终结点支持。 它们可以通过专用链接从数据工厂托管虚拟网络进行连接:
- Azure Databricks
- Azure Functions(高级计划)
- Azure 密钥保管库
- Azure 机器学习
- Azure 专用链接
有关数据源的支持,请参阅连接器概述。 可以通过公用网络访问数据工厂支持的所有数据源。
本地数据源
若要了解如何使用专用终结点从托管虚拟网络访问本地数据源,请参阅使用专用终结点从数据工厂托管虚拟网络访问本地SQL Server。
通过公共终结点从数据工厂托管虚拟网络进行出站通信
所有端口都打开以进行出站通信。
限制和已知问题
为 密钥保管库 创建链接服务
为密钥保管库创建链接服务时,没有集成运行时引用。 因此,在创建密钥保管库的链接服务期间,无法创建专用终结点。 当您为引用密钥保管库 的数据存储创建链接服务时,并且此链接服务引用了一个启用了托管虚拟网络的集成运行时,您可以在创建过程中为 密钥保管库 创建一个专用终结点。
- 测试连接:此操作对于密钥保管库的链接服务仅验证 URL 格式,但不执行任何网络操作。
- 使用专用终结点:即使为密钥保管库创建专用终结点,此列也始终显示为空白。
链接服务创建Azure HDInsight
即使使用专用链接服务和带有端口转发的负载均衡器为 HDInsight 创建专用终结点,“使用专用终结点”列也始终显示为空白。
Azure HDInsight 的完全限定域名 (FQDN)
如果创建了自定义专用链接服务,则创建专用终结点时,FQDN 应以 azurehdinsight.cn 结尾,而无需在域名中领先专用 链接 。 如果你在域名中使用私有链接,确保它是有效的,并且你能解决这个问题。
具有专用终结点的托管虚拟网络中的访问限制
当双方都暴露在私有链路和私有端点时,你无法访问每个PaaS资源。 这个问题是私有链路和私有端点已知的局限性。
例如,你有一个用于存储帐户 A 的托管专用终结点。你还可以通过同一托管虚拟网络中的公共网络访问存储帐户 B。 但是,当存储帐户 B 具有来自其他托管虚拟网络或客户虚拟网络的专用终结点连接时,你将无法通过公共网络访问托管虚拟网络中的存储帐户 B。
相关内容
参阅以下教程: