# 配置后端服务器的安全组
#### 操作场景
为了确保负载均衡器与后端服务器进行**正常通信** 和**健康检查正常**，添加后端服务器后必须检查后端服务器所在的安全组规则和网络ACL规则。
- 后端服务器的安全组规则必须放通源地址为**ELB后端子网所属网段** 。默认情况下，ELB后端子网与ELB所在子网一致。查看如何[配置安全组规则]。

- 网络ACL为子网级别的可选安全层，若后端服务器所在的子网关联了网络ACL规则，网络ACL规则必须配置允许源地址为ELB后端子网所属网段。查看如何[配置网络ACL规则]。
![](https://support.huaweicloud.com/usermanual-elb/public_sys-resources/note_3.0-zh-cn.png)
若独享型ELB实例未开启"IP类型后端"功能，ELB四层监听器转发的流量将不受安全组规则和网络ACL规则限制，安全组规则和网络ACL规则无需额外放通。
建议您使用监听器的访问控制功能对访问IP进行限制，详情请参考[访问控制](https://support.huaweicloud.com/usermanual-elb/elb_03_0003.html)。
#### 约束与限制
- 后端服务器组开启健康检查，后端服务器的安全组规则必须配置放通ELB用于健康检查的协议和端口。
- 如果健康检查使用UDP协议，则还必须配置安全组规则放行ICMP协议，否则无法对已添加的后端服务器执行健康检查。
 
#### 默认安全组规则说明
默认安全组规则说明如下：
- **入方向规则：**入方向流量受限，只允许安全组内实例互通，拒绝来自安全组外部的所有请求进入实例。
- **出方向规则：**出方向流量放行，允许所有请求从安全组内实例流出。
 
图1默认安全组   
![](https://support.huaweicloud.com/usermanual-elb/zh-cn_image_0000002491268324.png "点击放大")
默认安全组规则的详细说明如[表1]所示。
 表1默认安全组规则 
| 方向   | 策略   | 类型   | 协议端口 | 源地址/目的地址           | 描述                                                 |
|:---|:---|:---|:---|:---|:---|
| 入方向     | 允许   | IPv4  | 全部    | 源地址：默认安全组（default）   | 针对全部IPv4协议，允许安全组内的实例可使用任何协议和端口互相通信，确保安全组内实例网络互通。 |
| 入方向   | 允许  | IPv6   | 全部     | 源地址：默认安全组（default） | 针对全部IPv6协议，允许安全组内的实例可使用任何协议和端口互相通信，确保安全组内实例网络互通。  |
| 出方向  | 允许    | IPv4  | 全部       | 目的地址：0.0.0.0/0     | 针对全部IPv4协议，允许所有流量从安全组内实例流出，即实例可访问外部任意IP和端口。         |
| 出方向 | 允许 | IPv6 | 全部    | 目的地址：::/0          | 针对全部IPv6协议，允许所有流量从安全组内实例流出，即实例可访问外部任意IP和端口。      |
   
 #### ELB对后端服务器安全组的配置要求
由于默认安全组拒绝所有来自外部的请求，允许所有请求从安全组内实例流出，通常您只需在安全组入方配置放通ELB用于健康检查的协议和端口。如果您已设置出方向的安全组规则，请确保出方向也放通了相关协议、端口和地址。
表2后端协议为TCP协议的安全组要求 
| 方向  | 优先级 | 策略 | 类型    | 协议端口        | 源地址                   |
|:---|:---|:---|:---|:---|:---|
| 入方向  | 1    | 允许   | 由源地址决定   | TCP: 健康检查端口 | IP地址：**ELB后端子网所属网段**    |
| 出方向 | 1   | 允许   | 由源地址决定 | TCP: 健康检查端口   | IP地址：**ELB后端子网所属网段** |
   
表3后端协议为UDP协议的安全组要求 
| 方向    | 优先级  | 策略    | 类型      | 协议端口       | 源地址                   |
|:---|:---|:---|:---|:---|:---|
| 入方向  | 1   | 允许 | 由源地址决定 | UDP: 健康检查端口 | IP地址：**ELB后端子网所属网段** |
| 入方向  | 1 | 允许  | 由源地址决定   | ICMP: 全部  | IP地址：**ELB后端子网所属网段** |
| 出方向  | 1   | 允许   | 由源地址决定   | UDP: 健康检查端口 | IP地址：**ELB后端子网所属网段** |
| 出方向 | 1  | 允许   | 由源地址决定    | ICMP: 全部   | IP地址：**ELB后端子网所属网段** |
   
表4后端协议为HTTP/HTTPS协议的安全组要求 
| 方向      | 优先级 | 策略 | 类型     | 协议端口                | 源地址                 |
|:---|:---|:---|:---|:---|:---|
| 入方向  | 1    | 允许  | 由源地址决定 | TCP: 后端服务器端口和健康检查端 | IP地址：**ELB后端子网所属网段** |
| 出方向 | 1  | 允许  | 由源地址决定  | TCP: 后端服务器端口和健康检查端   | IP地址：**ELB后端子网所属网段**  |
   
 #### 配置后端服务器的安全组规则
由于**默认VPC的安全组策略为组内互通** 、**禁止外部访问** ，**即外部网络无法访问后端服务器** ，**允许所有请求从安全组内实例流出**。为了确保负载均衡器可同时在监听器端口和健康检查端口上与已创建后端服务器的进行通信，通常您需要配置安全组入方向的访问规则。
1. 进入[弹性云服务器列表](https://console.huaweicloud.com/ecm/?#/ecs/manager/vmList)页面。
2. 在弹性云服务器列表，单击待变更安全组规则的弹性云服务器名称。 系统跳转至该弹性云服务器详情页面。
   
3. 选择"安全组"页签，单击安全组名称，查看安全组规则。
4. 在入方向规则页签，单击"添加规则"，根据所在后端服务器组的后端协议类型按[ELB对后端服务器安全组的配置要求]配置安全组入方向的访问规则。
   ![](https://support.huaweicloud.com/usermanual-elb/public_sys-resources/note_3.0-zh-cn.png)
   - 创建负载均衡实例后，不建议变更后端子网。若更换后端子网，负载均衡器已占用的后端子网IP地址不会释放，原后端子网所属网段仍需保持放通状态。
   
   - 为负载均衡实例新增后端子网，新增后端子网所属网段也需全部放通。
     
5. 单击"确定"，完成安全组规则配置。
 
 #### 配置网络ACL规则
网络ACL是一个子网级别的可选安全层，通过与子网关联的出方向/入方向规则控制出入子网的数据流。网络ACL与安全组类似，都是安全防护策略，当您想增加额外的安全防护层时，就可以启用网络ACL。
网络ACL默认规则会拒绝所有入站和出站流量，启用网络ACL后，您可以通过配置网络ACL入方向规则，放行源网段为ELB后端子网所在网段，目的端口为后端服务器端口。
- 当独享型负载均衡实例与后端服务器在同一个子网时，网络ACL规则不起作用，此时健康检查是通的，且客户端也能访问到后端服务器。
- 当独享型负载均衡实例与后端服务器不在同一个子网时，网络ACL规则是生效的，此时健康检查不通，且客户端访问不到后端服务器。
1. 进入[网络ACL列表页面](https://console.huaweicloud.com/vpc/?locale=zh-cn#/vpc/firewalls/list)。
2. 在"网络ACL"列表区域，选择网络ACL的名称列，单击您需要修改的"网络ACL名称"进入网络ACL详情页面。
3. 在入方向规则或出方向规则页签，单击"添加规则"，添加入方向或出方向规则。
   - 策略：选择允许。
   
   - 类型：与后端服务器的IP类型保持一致。
   
   - 协议：和后端协议一致。
   
   - 源地址：此方向允许的源地址，填写ELB后端子网网段。
   
   - 源端口范围：选择业务所在端口范围。
   
   - 目的地址：此方向允许的目的地址。选择默认值为0.0.0.0/0，代表支持所有的IP地址。
   
   - 目的端口范围：选择业务所在端口范围。
   
   - 描述：网络ACL规则的描述信息，非必填项。
    
4. 单击"确定"。
 
