安全组是一种虚拟防火墙,用于控制ENS实例的入方向和出方向网络流量,实现安全隔离。您可以通过配置安全组规则,允许或拒绝安全组内实例的入方向和出方向流量。
功能概述
安全组是ENS提供的实例级别的网络访问控制功能。您可以将具有相同安全防护需求的ENS实例加入同一个安全组,通过安全组规则对这些实例的网络流量进行统一管理。安全组具备以下能力:
入方向和出方向流量控制:通过安全组规则分别控制实例的入方向(外部访问实例)和出方向(实例访问外部)流量。
协议和端口过滤:支持按TCP、UDP、ICMP等协议类型及端口范围进行流量过滤。
IPv4/IPv6双栈:安全组规则的源地址和目的地址同时支持IPv4和IPv6地址段,满足IPv6场景下的访问控制需求。
即时生效:安全组规则变更后,对组内所有实例即时生效,无需重启实例。
安全组是免费功能,目前支持的实例类型包括X86计算型和ARM计算型。
安全组架构
安全组作用于ENS实例的网卡层面,对公网网卡和内网网卡的流量分别进行控制。
实例关联安全组后,若实例有公网网卡,则安全组针对公网网卡生效;若实例仅有内网网卡,则针对主网卡生效。
安全组位于ENS实例的网卡之前,对进出网卡的流量进行过滤。上图描述了无自定义规则的安全组的默认行为:
公网网卡:安全组控制来自公网的入方向流量以及实例访问公网的出方向流量。
内网网卡:安全组控制VPC内部实例间的互访流量。通过NAT绑定公网的流量,同样受安全组规则控制。
安全组规则
安全组规则是安全组中控制流量的最小单元。每条规则定义了一组流量匹配条件和对应的处理策略。
规则组成
一条安全组规则由以下要素组成:
要素 | 说明 |
规则方向 | 入方向或出方向。入方向控制外部访问实例的流量;出方向控制实例访问外部的流量。 |
授权策略 | 允许或拒绝。当流量匹配到该规则时,执行放行或丢弃。 |
协议类型 | 支持TCP、UDP、ICMP(IPv4)、ICMP(IPv6)、GRE,以及ALL(全部协议)。 |
端口范围 | 流量的目标端口范围。格式为 |
授权对象 | 入方向规则中为流量源地址,出方向规则中为流量目标地址。支持单个IP地址(如
|
优先级 | 取值范围为1~100,数值越小优先级越高。 |
安全组默认规则
新建安全组时,系统默认添加以下访问控制策略:
方向 | 默认策略 | 说明 |
入方向 | 拒绝所有流量 | 默认拒绝所有入方向流量。您需要主动添加放行规则,以确保公网网卡实例可被外部访问、内网网卡实例间可以彼此互通。 |
出方向 | 允许所有流量 | 默认放行所有出方向流量。 |
(2024年4月7日之后)新建安全组默认拒绝所有入方向流量。如果您将实例加入新建安全组后发现无法访问实例,请检查是否已添加相应的入方向放行规则。
与中心RegionECS安全组的默认行为对比如下:
对比项 | ENS安全组 | ECS安全组(普通安全组) |
入方向默认策略 | 拒绝所有流量 | 拒绝所有流量(安全组内实例间互通) |
出方向默认策略 | 允许所有流量 | 允许所有流量 |
规则匹配顺序
当实例收到网络流量时,系统按以下逻辑匹配安全组规则:
将实例关联的安全组中所有同方向的规则合并。
按优先级从高到低排序(数值从小到大)。当优先级相同时,拒绝规则优先级高于允许规则。
按排序顺序逐条匹配流量,首条匹配的规则即为最终生效规则。
如果没有任何规则匹配,则执行默认策略(入方向拒绝,出方向允许)。
有状态特性
ENS安全组规则是有状态的。当入方向流量被允许后,对应的出方向响应流量自动放行,无需额外配置出方向规则;当入方向流量被拒绝后,对应的出方向响应流量也将自动拒绝。
管理安全组
您可以通过ENS控制台对安全组进行以下管理操作。
创建安全组
安全组创建后,默认不包含任何入方向放行规则。请根据业务需求及时添加规则。
进入ENS安全组管理功能。
单击创建安全组。

在创建安全组页面,配置以下参数后单击创建。:
名称:自定义安全组名称,便于后续识别和管理,如
Security-Group。访问规则:可在创建时定义安全组规则,也可后续添加和管理。
说明ENS安全组创建时无需指定VPC,您可以将不同节点不同VPC的实例添加到同一个安全组中。
添加安全组规则
在安全组列表中,找到目标安全组,单击安全组ID或操作列的管理。
根据需要选择入方向或出方向页签。
单击添加,配置规则的授权策略、优先级、协议类型、端口范围和授权对象。
单击确定。
以下为常见业务场景的规则配置示例:
场景 | 方向 | 协议类型 | 端口范围 | 授权对象 | 策略 |
允许SSH远程连接 | 入方向 | TCP |
| 指定IP或 | 允许 |
允许RDP远程连接 | 入方向 | TCP |
| 指定IP或 | 允许 |
允许HTTP访问 | 入方向 | TCP |
|
| 允许 |
允许HTTPS访问 | 入方向 | TCP |
|
| 允许 |
允许Ping | 入方向 | ICMP |
|
| 允许 |
允许VPC内实例互通 | 入方向 | ALL |
| VPC网段CIDR | 允许 |
出于安全考虑,建议将SSH(22)和RDP(3389)端口的授权对象限制为特定IP地址,避免使用0.0.0.0/0开放给所有地址。
修改安全组规则
在安全组规则列表中,找到目标规则,单击操作列的管理。
修改规则参数后,单击保存。
删除安全组规则
在安全组规则列表中,找到目标规则,单击操作列的删除。
在确认对话框中,单击确定。
删除规则后即时生效,可能导致实例的网络连通性发生变化,请谨慎操作。
关联实例到安全组
创建ENS实例时,需选择关联的安全组。对于已创建的实例,您也可以通过以下方式变更安全组关联关系:
在ENS实例列表中,找到目标实例,单击实例ID进入实例详情。
选择安全组页签,执行加入或移出安全组操作。
删除安全组
在安全组列表中,找到目标安全组,单击操作列的删除。
在确认对话框中,单击确定。
删除安全组前,需确保安全组内没有关联任何实例。已关联实例的安全组无法删除。
使用限制
限制项 | 限制值 |
支持的实例类型 | X86计算型、ARM计算型 |
单客户安全组数量上限 | 100 |
单安全组规则数量 | 出/入向总和最多200条 |
单实例可关联安全组数量 | 最多5个 |
使用建议
最小授权原则:仅开放业务所需的协议和端口,避免过度放行。例如,仅需提供Web服务时,只放行80和443端口。
限制管理端口来源:SSH(22)、RDP(3389)等管理端口建议限制为运维人员的固定IP地址,避免开放给
0.0.0.0/0。及时添加入方向规则:新建安全组默认拒绝所有入方向流量,请在创建安全组后根据业务需求及时添加放行规则。
按业务角色划分安全组:建议按照业务角色(如Web服务器、数据库服务器)创建不同的安全组,便于分别配置规则和管理。
规则精简:避免在单个安全组中配置过多规则,保持规则清晰、易于维护。
IPv6规则配置:如实例使用IPv6地址,请同步配置IPv6地址段的安全组规则,确保IPv6流量的访问控制符合预期。
安全组与网络ACL对比
安全组和网络ACL均为ENS提供的网络访问控制功能,二者的作用范围和特性不同:
对比项 | 安全组 | 网络ACL |
作用范围 | 实例级别(网卡) | VPC网络级别 |
状态特性 | 有状态(自动放行响应流量) | 有无状态视具体协议而定,具体参考网络ACL-规则生效机制部分 |
规则生效对象 | 关联的实例 | VPC下所有实例和弹性网卡 |
默认行为 | 入方向拒绝,出方向允许 | 创建时自带默认放行规则 |
适用场景 | 针对单个或一组实例的精细化流量控制 | 针对整个VPC网络的边界访问控制 |
建议同时使用安全组和网络ACL,实现多层次的网络安全防护。