本文介绍如何通过AlbConfig配置安全组以安全地管理ALB实例流量,并提供相关的安全策略和配置建议。
前提条件
已安装2.15.0及以上的ALB Ingress Controller组件。
ACK专有集群通过ALB Ingress访问服务,在部署服务前需要为ACK专有集群授予ALB Ingress Controller访问权限。
注意事项
配置安全组时,有以下注意事项。
ALB升级实例支持通过安全组或ACL来管理访问流量。升级前的ALB实例,仅支持通过ACL来进行访问控制。若您需要使用安全组,请新建实例或向商务经理申请存量实例的升级。
兼容性
同个ALB实例仅支持使用安全组或ACL,不能同时使用,也不支持直接切换。如需切换,需先解绑当前的配置并保存AlbConfig,待调谐完成后,再新增ACL或安全组。
更新逻辑
例如,当前AlbConfig绑定了安全组
sg-1
、sg-2
、sg-3
,需变更为sg-3
、sg-4
、sg-5
。ALB Ingress Controller将首先新增并绑定sg-4
、sg-5
,再解除sg-1
、sg-2
。请控制每次更新数量,避免超出配额限制。类型及配额
分类
安全组类型
说明
ALB支持加入的安全组
普通安全组
企业级安全组
要求安全组为专有网络类型,且安全组和ALB实例属于同一个专有网络VPC(Virtual Private Cloud)。
ALB实例可加入的安全组数量及可关联的安全组规则数量,均遵循ECS安全组相关配额的限制:
一个ALB实例最多可加入的安全组数量=ECS实例(或弹性网卡)安全组配额数量-1(即ALB托管安全组占用1个配额)
一个ALB实例最多可关联的安全组规则数量=ECS实例(或弹性网卡)安全组规则配额数量-ALB托管安全组规则数量
同一个ALB实例加入的安全组类型需保持一致,即不支持同时加入普通安全组和企业级安全组。
某个ALB实例已加入普通安全组,如果需要加入企业级安全组,可解绑当前ALB实例的所有普通安全组后再行操作,反之亦然。
普通安全组和企业安全组详情请参见普通安全组与企业级安全组。
ALB不支持加入的安全组
托管安全组
托管安全组详情请参见托管安全组。
安全组行为
当ALB实例加入安全组且没有设置任何拒绝策略时,ALB监听端口默认对所有请求开放。
若您仅需允许特定IP访问ALB,请务必添加一条拒绝策略作为兜底措施。更多信息请参见场景说明。
后端服务安全策略配置建议
在ACK集群中,节点、弹性网卡及Pod等可通过多种方式配置安全策略。建议提前开放ALB实例所属交换机网段,确保与后端服务的正常通信。
操作步骤
在创建或更新AlbConfig配置安全组之前,您需要提前获取已添加安全规则的目标安全组ID。
获取安全组ID。
登录ECS管理控制台。
在左侧导航栏,选择 。
在顶部菜单栏左上角处,选择目标资源所在的资源组和地域。
复制保存目标安全组ID。
创建或更新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