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

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

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

概述

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

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

可用区域

虚拟网络集成目前在以下区域受支持:

美国东部、美国东部 2、美国西部、美国西部 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 IoT 中心时,请确保还为与内置事件中心兼容的终结点配置专用终结点和相应的 DNS 设置。 IoT 中心使用此终结点路由消息,如果没有适当的 DNS 解析,Azure 流分析等服务可能无法连接。

  • 有关为 IoT 中心和事件中心设置专用终结点和 DNS 的指导,请参阅以下资源:

子网注意事项

虚拟网络集成取决于专用子网。

配置委派子网时,请务必考虑 IP 范围,以适应 ASA 工作负载的当前和将来的要求。 由于建立后无法修改子网大小,因此建议选择可支持作业潜在规模的子网大小。 另请注意,Azure 网络会保留子网范围内的前五个 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 流分析(ASA)作业启用虚拟网络集成时,Azure 门户会自动将指定的子网委托给 ASA 服务。

  • ASA 将在以下任一情况下自动取消委托子网:

    • 通过 Azure 门户,使用该子网为最后一个 ASA 作业禁用虚拟网络集成。
    • 删除与该子网关联的最后一个 ASA 作业。

注意:多个 ASA 作业可以共享同一子网。 “最后一个作业”是指当该子网不再被其他 ASA 作业使用时的情形。 删除最后一个作业后,ASA 释放委托的子网。 完成此命令可能需要几分钟。

子网必须允许子网内流量

  • 子网配置必须启用子网内部网络流量。
  • 这意味着如果源和目标 IP 地址位于同一子网,它必须允许入站和出站流量。 在此处了解更多信息。

设置虚拟网络集成

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