你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为你的方案选择适当的集成运行时配置

集成运行时是 Azure 数据工厂提供的数据集成解决方案的基础结构中的重要部分。 这要求你在设计解决方案开始时要充分考虑如何适应现有网络结构和数据源,还要考虑性能、安全性和成本。

比较不同类型的集成运行时

在 Azure 数据工厂中,我们有三种类型的集成运行时:Azure 集成运行时、自承载集成运行时和 Azure-SSIS 集成运行时。 对于 Azure 集成运行时,还可以启用托管虚拟网络,使其体系结构不同于全局 Azure 集成运行时。

此表列出了所有集成运行时在某些方面的差异。 可以根据自己的实际需求选择相应的选项。 对于 Azure-SSIS 集成运行时,可以在创建 Azure-SSIS 集成运行时一文中了解详细信息。

功能 Azure 集成运行时 具有托管虚拟网络的 Azure 集成运行时 自承载集成运行时
托管计算 Y Y N
自动缩放 Y 是* N
数据流 Y Y N
本地数据访问 N Y** Y
专用链接/专用终结点 N 是*** Y
自定义组件/驱动程序 N N Y

* 启用生存时间 (TTL) 时,集成运行时的计算大小将根据配置保留,并且无法自动缩放。

** 必须通过 Express Route 或 VPN 将本地环境连接到 Azure。 不支持自定义组件和驱动程序。

*** 专用终结点由 Azure 数据工厂服务管理。

选择适当的集成运行时类型很重要。 它不仅必须适合你现有的体系结构和要求以进行数据集成,同时,你还需要考虑如何进一步满足不断增长的业务需求和将来增加的工作负载。 但是,并没有一刀切的方法。 以下考虑事项可帮助你做出决策:

  1. 什么是集成运行时和数据存储位置?
    集成运行时位置定义其后端计算的位置,将在该位置执行数据移动、活动调度和数据转换。 为了获得更好的性能和传输效率,集成运行时应更靠近数据源或接收器。

    • Azure 集成运行时根据某些规则自动检测最合适的位置(也称为自动解析)。 在此处查看详细信息:Azure IR 位置
    • 具有托管虚拟网络的 Azure 集成运行时与你的数据工厂具有相同的区域。 无法像 Azure 集成运行时一样自动解析它。
    • 自承载集成运行时位于你本地计算机或 Azure 虚拟机的区域中。
  2. 是否可公开访问数据存储?
    如果数据存储是可公开访问的,则不同类型的集成运行时之间的差异并不是很大。 如果存储位于防火墙后面或位于专用网络(例如本地或虚拟网络)中,则更好的选择是具有托管虚拟网络的 Azure 集成运行时或自承载集成运行时。

    • 使用具有托管虚拟网络的 Azure 集成运行时访问防火墙后面或专用网络中的数据存储时,需要一些额外的设置,例如专用链接服务和负载均衡器。 作为示例,可以参考使用专用终结点从数据工厂托管 VNet 访问本地 SQL Server 这一教程。 如果数据存储位于本地环境中,则必须通过 Express Route 或 S2S VPN 将本地连接到 Azure。
    • 自承载集成运行时更灵活,并且不需要额外的设置、Express Route 或 VPN。 但你需要自己提供并维护计算机。
    • 还可以将 Azure 集成运行时的公共 IP 地址添加到防火墙的允许列表中,并允许它访问数据存储,但在高度安全的生产环境中,这不是理想的解决方案。
  3. 在数据传输期间需要什么安全级别?
    如果需要处理高度机密的数据,则需要在数据传输期间防御中间人攻击等。 然后,可以选择使用专用终结点和专用链接来确保数据安全。

    • 使用具有托管虚拟网络的 Azure 集成运行时时,可以创建到数据存储的托管专用终结点。 专用终结点由托管虚拟网络中的 Azure 数据工厂服务维护。
    • 还可以在你的虚拟网络中创建专用终结点,自承载集成运行时可以使用它们来访问数据存储。
    • Azure 集成运行时不支持专用终结点和专用链接。
  4. 你可以提供哪种级别的维护?
    维护基础结构、服务器和设备是企业 IT 部门的重要任务之一。 这通常需要大量的时间和精力。

    • 你无需担心 Azure 集成运行时以及具有托管虚拟网络的 Azure 集成运行时的更新、修补和版本等维护。 Azure 数据工厂服务将负责所有维护工作。
    • 由于自承载集成运行时安装在客户计算机上,因此必须由最终用户负责维护。 但是,你可以启用自动更新,以便在有更新时自动获取最新版本的自承载集成运行时。 若要了解如何启用自动更新并管理自承载集成运行时的版本控制,可以参阅自承载集成运行时自动更新和过期通知一文。 我们还为自承载集成运行时提供了一个诊断工具,用于对一些常见问题进行运行状况检查。 若要详细了解诊断工具,请参阅自承载集成运行时诊断工具一文。 此外,建议使用 Azure Monitor 和 Azure Log Analytics 专门收集该数据,并为自承载集成运行时启用单一虚拟管理平台监视。 有关配置此操作的详细信息,请参阅配置自承载集成运行时以进行 Log Analytics 数据收集一文中的说明。
  5. 你有哪些并发要求?
    在处理大规模数据(例如大规模数据迁移)时,我们希望尽可能提高处理效率和速度。 并发通常是数据集成的主要要求。

    • Azure 集成运行时在所有集成运行时类型中具有最高的并发支持。 数据集成单位 (DIU) 是在 Azure 数据工厂上运行的功能单位。 可以为复制活动等选择所需的 DIU 数。 在 DIU 范围内,可以同时运行多个活动。 对于不同的区域组,我们将有不同的上限。 在数据工厂限制一文中了解这些限制的详细信息。
    • 具有托管虚拟网络的 Azure 集成运行时具有与 Azure 集成运行时类似的机制,但由于某些体系结构约束,它可以支持的并发性要低于 Azure 集成运行时。
    • 自承载集成运行时可以运行的并发活动取决于计算机大小和群集大小。 如果需要更高的并发性,可以选择更大的计算机或在群集中使用更多自承载集成节点。
  6. 是否需要任何特定功能?
    集成运行时类型之间存在一些功能差异。

    • Azure 集成运行时和具有托管虚拟网络的 Azure 集成运行时均支持数据流。 但是,不能使用自承载集成运行时运行数据流。
    • 如果需要安装自定义组件(例如 ODBC 驱动程序、JVM 或 SQL Server 证书),则自承载集成运行时是你唯一的选择。 Azure 集成运行时或具有托管虚拟网络的 Azure 集成运行时不支持自定义组件。

集成运行时的体系结构

根据每个集成运行时的特征,需要不同的体系结构来满足数据集成的业务需求。 下面是一些可用作参考的典型体系结构。

Azure 集成运行时

Azure 集成运行时是一种完全托管的自动缩放计算,可用于从 Azure 或非 Azure 数据源移动数据。

Screenshot of integration runtime is a fully managed.

  1. 从 Azure 集成运行时到数据存储的流量通过公用网络。
  2. 我们为 Azure 集成运行时提供一系列静态公共 IP 地址,这些 IP 地址可以添加到目标数据存储防火墙的允许列表中。 若要详细了解如何获取 Azure 集成运行时的公共 IP 地址,请参阅 Azure Integration Runtime IP 地址一文。
  3. 可以根据数据源和数据接收器的区域自动解析 Azure 集成运行时。 或者,你也可以选择特定区域。 建议选择离数据源或接收器最近的区域,这样可以提供更好的执行性能。 若要详细了解性能注意事项,请参阅排查 Azure IR 上复制活动的问题一文。

具有托管虚拟网络的 Azure 集成运行时

使用具有托管虚拟网络的 Azure 集成运行时时,应使用托管专用终结点来连接数据源,以确保传输期间的数据安全。 凭借一些额外设置(例如专用链接服务和负载均衡器),也可以使用托管专用终结点来访问本地数据源。

Screenshot of integration runtime with a managed virtual network.

  1. 托管专用终结点不能在不同的环境中重复使用。 需要为每个环境创建一组托管专用终结点。 有关托管专用终结点支持的所有数据源,请参阅支持的数据源和服务一文。
  2. 还可以使用托管专用终结点连接到要协调的外部计算资源,例如 Azure Databricks 和 Azure Functions。 若要查看支持的外部计算资源的完整列表,请参阅支持的数据源和服务一文。
  3. 托管虚拟网络由 Azure 数据工厂服务管理。 托管虚拟网络和客户虚拟网络之间不支持 VNET 对等互连。
  4. 客户无法直接更改托管虚拟网络上的 NSG 规则等配置。
  5. 如果托管专用终结点的任何属性在环境之间是不同的,可以在部署过程中通过参数化该属性并提供相应的值来替代它。 请参阅 CI/CD 最佳做法一文中的详细信息。

自承载集成运行时

为了防止来自不同环境的数据相互干扰并确保生产环境的安全性,我们需要为每个环境创建相应的自承载集成运行时。 这可确保不同环境之间有足够的隔离。

Screenshot of creating a corresponding self-hosted integration runtime for each environment.

由于自承载集成运行时在客户托管计算机上运行,为了尽可能减少成本、维护和升级工作量,我们可以将自承载集成运行时的共享功能用于同一环境中的不同项目。 有关自承载集成运行时共享的详细信息,请参阅在 Azure 数据工厂中创建共享自承载集成运行时一文。 同时,为了在传输过程中使数据更安全,我们可以选择使用专用链接来连接数据源和密钥保管库,并连接自承载集成运行时与 Azure 数据工厂服务之间的通信。

Screenshot of using the shared functions of the self-hosted integration runtime for different projects in the same environment.

  1. Express Route 不是必需的。 在不使用 Express Route 的情况下,数据不会通过专用网络(例如虚拟网络或专用链接)到达接收器,而是通过公用网络。
  2. 如果本地网络通过 Express Route 或 VPN 连接到 Azure 虚拟网络,则可以在中心 VNET 中的虚拟机上安装自承载集成运行时。
  3. 中心辐射型虚拟网络体系结构不仅可以用于不同的项目,还可以用于不同的环境(生产、QA 和开发)。
  4. 可以与多个数据工厂共享自承载集成运行时。 主数据工厂将它引用为共享自承载集成运行时,而其他数据工厂将它引用为链接的自承载集成运行时。 物理自承载集成运行时可以在一个群集中具有多个节点。 通信仅在主自承载集成运行时和主节点之间发生,工作会从主节点分发到辅助节点。
  5. 本地数据存储的凭据可以存储在本地计算机或 Azure 密钥保管库中。 强烈建议使用 Azure 密钥保管库。
  6. 自承载集成运行时和数据工厂之间的通信可以经过专用链接。 但目前,通过 Azure 中继进行交互式创作以及从下载中心自动更新到最新版本不支持专用链接。 流量将经过本地环境的防火墙。 有关更多信息,请参阅用于 Azure 数据工厂的 Azure 专用链接一文。
  7. 只有主数据工厂需要专用链接。 所有流量均经过主数据工厂,然后流向其他数据工厂。
  8. 在 CI/CD 的所有阶段中,自承载集成运行时的名称应相同。 可以考虑仅使用三元工厂来包含共享的自承载集成运行时,并在各个生产阶段中使用链接的自承载集成运行时。 有关更多信息,请参阅持续集成和交付一文。
  9. 可以通过本地代理或中心虚拟网络使用本地网络和 Express Route 的配置,从而控制流量流向下载中心和 Azure 中继的方式。 确保代理或 NSG 规则允许此流量。
  10. 如果想保护自承载集成运行时节点之间的通信,可以启用使用 TLS/SSL 证书从 Intranet 进行远程访问。 有关更多信息,请参阅启用使用 TLS/SSL 证书从 Intranet 进行远程访问(高级)一文。