在 Azure HDInsight 中控制网络流量

可以使用以下方法控制 Azure 虚拟网络中的网络流量:

  • 网络安全组 (NSG):用于筛选网络的入站和出站流量。 有关详细信息,请参阅使用网络安全组筛选网络流量文档。

  • 网络虚拟设备 (NVA) 只能用于出站流量。 NVA 可复制设备(如防火墙和路由器)的功能。 有关详细信息,请参阅网络设备文档。

作为托管服务,HDInsight 需要对 HDInsight 运行状况和管理服务具有不受限制的访问权限,以处理从 VNET 传入和传出的流量。 使用 NSG 时,必须确保这些服务仍然可以与 HDInsight 群集进行通信。

Diagram of HDInsight entities created in Azure custom VNET

使用网络安全组的 HDInsight

如果计划使用网络安全组来控制网络流量,请在安装 HDInsight 之前执行以下操作:

  1. 确定计划用于 HDInsight 的 Azure 区域。

  2. 确定 HDInsight 需要的用于你所在区域的服务标记。 有多种方法可以获取这些服务标记:

    1. 请参阅 Azure HDInsight 的网络安全组 (NSG) 服务标记中的已发布服务标记列表。
    2. 如果你的区域未出现在列表中,请使用服务标记发现 API 查找你所在区域的服务标记。
    3. 如果无法使用该 API,请下载服务标记 JSON 文件并搜索所需的区域。
  3. 为计划将 HDInsight 安装到其中的子网创建或修改网络安全组。

    • 网络安全组:在端口 443 上允许来自 IP 地址的入站流量。 这将确保 HDInsight 管理服务可从虚拟网络外部访问群集。 对于启用了 Kafka REST 代理的群集,还要在端口 9400 上允许入站流量 。 这将确保 Kafka REST 代理服务器可访问。

有关网络安全组的详细信息,请参阅网络安全组概述

控制 HDInsight 群集的出站流量

有关控制 HDInsight 群集的出站流量的详细信息,请参阅配置 Azure HDInsight 群集的出站网络流量限制

到本地的强制隧道

强制隧道是用户定义的路由配置,其中来自子网的所有流量都强制流向特定网络或位置,例如你的本地网络或防火墙。 由于数据传输量大且可能影响性能,因此在将所有数据传输回本地时,建议不要使用强制隧道。

有兴趣设置强制隧道的客户应使用自定义元存储,并设置从群集子网或本地网络通往这些自定义元存储的适当连接。

若要查看有关使用 Azure 防火墙设置 UDR 的示例,请参阅配置 Azure HDInsight 群集的出站网络流量限制

必需端口

如果计划使用防火墙并在特定端口上从外部访问群集,则需要允许你的方案所需的那些端口上的流量。 默认情况下,只要允许上一部分中介绍的 Azure 管理流量在端口 443 上到达群集,就不需要特殊的端口筛选。

对于特定服务的端口列表,请参阅 HDInsight 上的 Apache Hadoop 服务所用的端口文档。

有关虚拟设备防火墙规则的详细信息,请参阅虚拟设备方案文档。

后续步骤