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

在 Azure 虚拟网络中运行 Azure 流分析作业

本文介绍如何在 Azure 虚拟网络中运行 Azure 流分析 (ASA) 作业。

概述

虚拟网络支持可让你锁定对虚拟网络基础结构的 Azure 流分析的访问。 此功能为你提供了网络隔离的优势,并且可以通过在虚拟网络中部署 ASA 作业的容器化实例来实现。 然后,虚拟网络注入 ASA 作业可以通过以下方式私密访问虚拟网络中的资源:

  • 专用终结点,用于通过由 Azure 专用链接提供支持的专用链接将虚拟网络注入 ASA 作业连接到数据源。
  • 服务终结点,用于将数据源连接到虚拟网注入 ASA 作业。
  • 服务标记,允许或拒绝发往 Azure 流分析的流量。

可用性

目前,此功能仅在选定区域可用:美国东部、美国东部 2、美国西部、美国中部、美国中北部、加拿大中部、欧洲西部、欧洲北部、东南亚、巴西南部、日本东部、英国南部、印度中部、澳大利亚东部和法国中部。 如果有兴趣在所在区域中启用虚拟网络集成,请填写此表单

虚拟网络集成支持要求

  • 虚拟网络注入 ASA 作业需要常规用途 V2 (GPV2) 存储帐户

    • 虚拟网络注入 ASA 作业需要访问元数据(例如要存储在 Azure 表中的检查点),以用于操作目的。

    • 如果已使用 ASA 作业预配 GPV2 帐户,则无需执行额外的步骤。

    • 具有使用高级存储的更大规模作业的用户仍需要提供 GPV2 存储帐户。

    • 如果希望保护存储帐户免受基于公共 IP 的访问,请考虑使用托管标识和受信任的服务对其进行配置。

      有关存储帐户的详细信息,请参阅存储帐户概述创建存储帐户

  • Azure 虚拟网络,可以使用现有的或“创建一个”

  • 操作 Azure Nat 网关,请参阅下面的重要说明。

    重要

    ASA 虚拟网络注入作业使用 Azure 网络提供的内部容器注入技术。

    为增强 Azure 流分析作业的安全性和可靠性,需要:

    • 配置 NAT 网关:这将确保来自 VNET 的所有出站流量都通过安全一致的公共 IP 地址路由。

    • 禁用默认出站访问:这将防止来自 VNET 的任何意外出站流量,增强网络的安全性。

    Azure NAT 网关是一种完全托管且高度可复原的网络地址转换 (NAT) 服务。 在子网中配置后,所有出站连接都将使用 NAT 网关的静态公共 IP 地址。 显示虚拟网络体系结构的示意图。

    有关 Azure NAT 网关的详细信息,请参阅 Azure NAT 网关

子网要求

虚拟网络集成取决于专用子网。 创建子网时,Azure 子网从一开始就会使用 5 个 IP。

在考虑支持 ASA 工作负载所需的未来需求时,必须考虑与委托子网关联的 IP 范围。 由于分配后不能更改子网大小,因此请使用足够大的子网来容纳作业可能会达到的任何规模。

对于指定的子网大小,此缩放操作会影响其实际可用的受支持实例。

估算 IP 范围的注意事项

  • 确保该子网范围不会与 ASA 的子网范围冲突。 避免设置 10.0.0.0 到 10.0.255.255 的 IP 范围,因为 ASA 已使用该范围。
  • 预留:
    • 5 个用于 Azure 网络的 IP 地址
    • 需要 1 个 IP 地址,以便为与此子网关联的作业提供示例数据、测试连接和元数据发现等功能。
    • 每 6 个流单元 (SU) 或 1 个 SU V2 需要 2 个 IP 地址(ASA 的 V2 定价结构将于 2023 年 7 月 1 日发布,有关详细信息,请参阅此处

指示虚拟网络与 Azure 流分析作业集成时,Azure 门户会自动将子网委托给 ASA 服务。 在以下情况下,Azure 门户将取消委托子网:

  • 你告知我们,通过 ASA 门户与指定子网关联的最后一个作业不再需要虚拟网络集成(请参阅“操作方法”部分)。
  • 你删除与指定子网关联的最后一个作业

最后一个作业

多个流分析作业可以利用同一子网。 此处的“最后一个作业”是指没有使用指定子网的其他作业。 当最后一个作业被相关人员删除或移除时,Azure 流分析会将子网作为资源(作为服务委托给 ASA)释放。 等待几分钟以完成此操作。

设置虚拟网络集成

Azure 门户

  1. 在 Azure 门户,从菜单栏导航到“网络”,然后选择“在虚拟网络中运行此作业”。 此步骤告知我们,你的作业必须使用虚拟网络:

  2. 根据提示配置设置并选择“保存”。

    流分析作业“网络”页面的屏幕截图。

VS Code

  1. 在 Visual Studio Code 中,引用 ASA 作业中的子网。 此步骤告知作业,它必须与子网一起使用。

  2. JobConfig.json 中,按下图所示设置 VirtualNetworkConfiguration

    示例虚拟网络配置的屏幕截图。

设置关联的存储帐户

  1. 在“流分析作业”页面上,在左侧菜单的“配置”下选择“存储帐户设置”。

  2. 在“存储帐户设置”页面上,选择“添加存储帐户”。

  3. 按照说明配置存储帐户设置。

    流分析作业“存储帐户设置”页面的屏幕截图。

重要

  • 若要使用连接字符串进行身份验证,必须禁用存储帐户防火墙设置。
  • 要使用托管标识进行身份验证,必须将流分析作业添加到存储 Blob 数据参与者角色和存储表数据参与者角色的存储帐户访问控制列表中。 如果不向作业授予访问权限,作业将无法执行任何操作。 有关如何授予访问权限的详细信息,请参阅使用 Azure RBAC 授予托管标识对另一资源的访问权限。

权限

必须至少具有子网的以下基于角色的访问控制权限或更高级别权限,才能通过 Azure 门户、CLI 或在直接设置 virtualNetworkSubnetId 站点属性时配置虚拟网络集成:

操作 说明
Microsoft.Network/virtualNetworks/read 读取虚拟网络定义
Microsoft.Network/virtualNetworks/subnets/read 读取虚拟网络子网定义
Microsoft.Network/virtualNetworks/subnets/join/action 加入虚拟网络
Microsoft.Network/virtualNetworks/subnets/write 可选。 需要执行子网委派时必需

如果虚拟网络与 ASA 作业位于不同的订阅中,则必须确保为 Microsoft.StreamAnalytics 资源提供程序注册了使用虚拟网络的订阅。 可以按照此文档中的说明显式注册该提供程序,但在订阅中创建作业时也会自动注册该提供程序。

限制

  • 虚拟网络作业至少需要 1 个 SU V2(新定价模型)或 6 个 SU(当前定价模型)
  • 确保子网范围不会与 ASA 子网范围冲突(即不要使用子网范围 10.0.0.0/16)。
  • ASA 作业和虚拟网络必须位于同一区域。
  • 委托的子网只能由 Azure 流分析使用。
  • 与 ASA 集成后,无法删除虚拟网络。 必须取消关联或删除委托子网上的最后一个作业*。
  • 目前不支持域名系统 (DNS) 更新。 如果更改了虚拟网络的 DNS 配置,则必须重新部署该虚拟网络中的所有 ASA 作业(子网还需要取消与所有作业的关联,并重新配置)。 有关详细信息,请参阅 Azure 虚拟网络中资源的名称解析

访问本地资源

虚拟网络集成功能无需额外的配置即可通过虚拟网络连接到本地资源。 只需使用 ExpressRoute 或站点到站点 VPN 将虚拟网络连接到本地资源。

定价详细信息

除了本文档中列出的基本要求外,虚拟网络集成不收取超出 Azure 流分析定价费用的额外费用。

故障排除

虽然此功能易于设置,但这并不意味着体验中不会遇到任何问题。 如果在访问所需终结点时遇到问题,请联系 Microsoft 支持部门。

注意

有关此功能的直接反馈,请联系 askasa@microsoft.com