通过AlbConfig配置安全组

本文介绍如何通过AlbConfig配置安全组以安全地管理ALB实例流量,并提供相关的安全策略和配置建议。

前提条件

说明

ACK专有集群通过ALB Ingress访问服务,在部署服务前需要ACK专有集群授予ALB Ingress Controller访问权限

注意事项

配置安全组时,有以下注意事项。

重要

ALB升级实例支持通过安全组或ACL来管理访问流量。升级前的ALB实例,仅支持通过ACL来进行访问控制。若您需要使用安全组,请新建实例或向商务经理申请存量实例的升级。

  • 兼容性

    同个ALB实例仅支持使用安全组或ACL,不能同时使用,也不支持直接切换。如需切换,需先解绑当前的配置并保存AlbConfig,待调谐完成后,再新增ACL或安全组。

  • 更新逻辑

    例如,当前AlbConfig绑定了安全组sg-1sg-2sg-3,需变更为sg-3sg-4sg-5。ALB Ingress Controller将首先新增并绑定sg-4sg-5,再解除sg-1sg-2。请控制每次更新数量,避免超出配额限制。

  • 类型及配额

    分类

    安全组类型

    说明

    ALB支持加入的安全组

    • 普通安全组

    • 企业级安全组

    • 要求安全组为专有网络类型,且安全组和ALB实例属于同一个专有网络VPC(Virtual Private Cloud)。

    • ALB实例可加入的安全组数量及可关联的安全组规则数量,均遵循ECS安全组相关配额的限制:

    • 同一个ALB实例加入的安全组类型需保持一致,即不支持同时加入普通安全组和企业级安全组。

      某个ALB实例已加入普通安全组,如果需要加入企业级安全组,可解绑当前ALB实例的所有普通安全组后再行操作,反之亦然。

    普通安全组和企业安全组详情请参见普通安全组与企业级安全组

    ALB不支持加入的安全组

    托管安全组

    托管安全组详情请参见托管安全组

  • 安全组行为

    • ALB实例加入安全组且没有设置任何拒绝策略时,ALB监听端口默认对所有请求开放。

    • 若您仅需允许特定IP访问ALB,请务必添加一条拒绝策略作为兜底措施。更多信息请参见场景说明

  • 后端服务安全策略配置建议

    ACK集群中,节点、弹性网卡及Pod等可通过多种方式配置安全策略。建议提前开放ALB实例所属交换机网段,确保与后端服务的正常通信。

操作步骤

在创建或更新AlbConfig配置安全组之前,您需要提前获取已添加安全规则的目标安全组ID。

  1. 获取安全组ID。

    1. 登录ECS管理控制台

    2. 在左侧导航栏,选择网络与安全 > 安全组

    3. 在顶部菜单栏左上角处,选择目标资源所在的资源组和地域。

    4. 复制保存目标安全组ID。

  2. 创建或更新AlbConfig。

    您可以在AlbConfig中增加securityGroupIds字段,并配置复制保存的安全组ID,配置示例如下。如需配置多个安全组,您可以根据安全组的类型及配额来确认可加入的安全组数量。

    apiVersion: alibabacloud.com/v1
    kind: AlbConfig
    metadata:
      name: alb
    spec:
      config:
        name: alb-test
        addressType: Intranet
        zoneMappings:
        - vSwitchId: vsw-uf6k2yoy*************
        - vSwitchId: vsw-uf6pv7wg*************
        securityGroupIds:           #  配置安全组字段。
          - sg-uf6blkp8************ # 安全组ID。
          - sg-djladhla************ # 安全组ID。
        addressAllocatedMode: Fixed
      listeners:
        - port: 80
          protocol: HTTP