IBM Cloud Docs
将网络负载均衡器与安全组集成

将网络负载均衡器与安全组集成

IBM Cloud® Network Load Balancer for VPC (NLB) 允许您连接 安全组 以增强应用程序的安全性。

以下信息不适用于专用路径网络负载均衡器。

安全组是保护 NLB 实例的便捷方法。 通过将安全组连接到负载均衡器,您可以完全控制进出负载均衡器的侦听器及其目标的入站和出站流量。 目标可以简单地将负载均衡器的安全组用作其自己的安全组定义中的源,而不是使用其 IP 地址或 CIDR 范围来识别负载均衡器。 这将确保自动允许来自所有负载均衡器设备的流量,而不考虑其 IP 地址。

如果网络负载均衡器没有关联的安全组,那么安全组规则将允许所有流量,并且过滤将在 VSI 级别完成 (根据 iptables 规则)。

网络流量规则

下表提供了针对公用和专用网络负载均衡器的入站和出站流量的最佳实践。

公用网络负载均衡器

入站规则

通常允许从所有源到公共负载均衡器上的侦听器端口的入站流量。 例如:

公共负载平衡器入站规则的配置信息
协议 源类型
TCP IP 地址 0.0.0.0/0 Listener port

但是,如果需要限制入站流量,可以指定源 CIDR,例如 209.173.53.167/20。 这允许 IP 范围内的所有公共 IP 地址到达公共负载均衡器。 例如:

来自特定 CIDR 的公共负载平衡器入站规则的配置信息
协议 源类型
TCP IP 地址 209.173.53.167/20 Listener port

出站规则

确保目标位于安全组中并配置为出站规则中的目标。 更多信息,请参阅 关于安全组

负载均衡器出站规则的配置信息
协议 目标类型 目标
TCP 安全组 target target port
TCP 安全组 target Health check port

您可以将出站规则配置为比显示的更宽松 (例如,可以允许所有流量到达任何目标)。 但是,出于安全原因,建议不要执行此操作。

专用网络负载均衡器

入站规则

专用负载平衡器入站规则的配置信息
协议 源类型
TCP IP 地址 Subnet CIDR or VPC security group Listener port

通常做法是将专用负载均衡器的入站规则限制为您自己的工作负载。 确保从特定子网 CIDR 或源设备所属的安全组指定源。 最好使用特定的CIDR,但单个IP地址也可以。 更多信息,请参阅 关于安全组

出站规则

专用负载均衡器出站规则的配置信息
协议 目标类型 目标
TCP 安全组 Target security group Target port
TCP 安全组 Target security group Health check port(如果与目标端口不同)

确保目标位于安全组中,并配置为出站规则中的目标。 更多信息,请参阅 关于安全组

此外,您的目标必须具有与 DNS 解析器的连接,才能解析负载均衡器的名称。 这是因为负载均衡器通过其 DNS 名称进行访问。

在负载均衡器供应期间连接安全组

创建网络负载均衡器时,最多可以连接五个安全组。 如果在创建负载均衡器期间未指定安全组,那么将使用 VPC 的缺省安全组。

如果未至少选择一个安全组,那么应更新缺省安全组规则以最大程度地减少新创建的网络负载均衡器上的流量中断。

先决条件: 配置安全组和规则

确保您已创建要附加到 NLB 的安全组。 还要确保为负载均衡器流量配置了其规则。 如果需要创建安全组,请执行以下过程。

或者,您可以使用 IBM Cloud VPC API 创建安全组。

要使用 UI 创建安全组,请执行以下操作:

  1. 从浏览器打开 IBM Cloud 控制台并登录账户。

  2. 选择导航菜单 菜单图标,然后单击基础架构 VPC 图标 > 网络 > 安全组

  3. 单击创建

  4. 为您的安全组提供一个唯一的名称。

  5. 选择安全组的 VPC。 必须在与负载均衡器相同的 VPC 中创建安全组。

  6. 单击添加配置入站和出站规则,这些规则定义了允许哪些类型的流量进入和离开安全组。 请为每条规则填写以下信息:

    • 指定用于所允许流量的 CIDR 块或 IP 地址。 或者,您也可以在同一 VPC 中指定一个安全组,以允许连接到所选安全组的所有源的流量或来自这些源的流量。
    • 选择将应用规则的协议和端口。 有关网络规则的最佳实践,请参阅 网络流量规则

    提示:

    • 无论规则添加的顺序如何,都会对所有规则进行评估。
    • 规则是有状态的,这意味着会自动允许响应所允许流量的返回流量。 例如,如果创建了一条允许 80 端口 TCP 入站流量的规则,那么该规则也允许将 80 端口的出站 TCP 流量回复到发端主机,而无需另一条规则。
  7. 可选: 如果计划将此安全组应用于其他实例,请编辑接口。 在“负载均衡器”部分中执行附加安全组。

  8. 完成创建规则后,单击 创建安全组

安全组示例

例如,配置以下入站规则,这些规则允许端口 80 上的所有流量用于 TCP 侦听器 (TCP 端口 80)。

入站规则配置信息示例
协议 源类型
TCP 任意 0.0.0.0/0 端口 80

然后,配置允许 TCP 流量到目标的出站规则:

出站规则配置信息示例
协议 目标类型 目标
TCP 任意 10.11.12.13/32 (目标 IP 地址) 80 (目标端口)
TCP 任意 10.11.12.14/32 (目标 IP 地址) 80 (目标运行状况检查端口)

过程: 在 NLB 创建期间连接安全组

要在 创建网络负载均衡器 时连接安全组,请执行以下步骤:

  1. 从浏览器打开 IBM Cloud 控制台并登录账户。
  2. 选择导航菜单 菜单图标,然后单击基础架构 VPC 图标 > 网络 > 负载平衡器
  3. 单击创建
  4. 根据需要配置名称,VPC,类型,子网,侦听器和池。
  5. 从安全组表中选择要附加的安全组的复选框。
  6. 单击 创建 以供应负载均衡器。

确保安全组规则允许负载均衡器流量。 确保安全组中允许您的侦听器,池和运行状况检查端口。

连接和拆离安全组

要将安全组连接到现有负载均衡器,请执行以下步骤:

07 August 2023 之前创建的负载均衡器未连接安全组,并且允许所有入站和出站流量。 如果将安全组附加到没有安全组的负载均衡器,那么永远无法将其除去。 通过使用允许所有入站和出站流量的规则附加安全组,可以还原为先前的“允许所有入站和出站流量”行为。 但是,此规则本来是不安全的,建议不要这样做。

  1. 从浏览器打开 IBM Cloud 控制台并登录账户。
  2. 选择导航菜单 菜单图标,然后单击基础架构 VPC 图标 > 网络 > 负载平衡器
  3. 从负载均衡器列表中,选择负载均衡器以查看其详细信息页面。
  4. 单击 附加的安全组 选项卡以查看附加的安全组。
  5. 要附加一个或多个安全组,请单击 附加。 最多可以选择 5 个要连接到 NLB 的安全组。
  6. 选择要附加的安全组。
  7. 单击连接

要从负载均衡器拆离安全组,请执行以下步骤:

  1. 从浏览器打开 IBM Cloud 控制台并登录账户。
  2. 选择导航菜单 菜单图标,然后单击基础架构 VPC 图标 > 网络 > 负载平衡器
  3. 从负载均衡器列表中,选择负载均衡器以查看其详细信息页面。
  4. 单击 附加的安全组 选项卡以查看附加的安全组。
  5. 要拆离安全组,请单击安全组的“操作”菜单 "操作" 图标
  6. 单击拆离