+86 135 410 16684Mon. - Fri. 10:00-22:00

AWS在AMAZON ELB环境下限制客户端的访问配置

AWS在AMAZON ELB环境下限制客户端的访问配置

 

ELB

ELB(Elastic Load Balancer)

Amazon ELB(Elastic Load Balancer),是AWS提供的弹性负载均衡器,可根据实际情况为外部访问分配最合适的服务器。在实际使用过程中,会需要对经由ELB的客户端访问加以限制,本文将介绍如何通过配置EC2实例来实现对此类客户端的限制访问。

ELB

如图所示,由于ELB不属于安全组,所以对于安全组实施限制并不会对ELB生效,经由ELB的客户端访问依然可以抵达EC2。

然而倘若限制ELB访问EC2,ELB对EC2发出HealthCheck(健康检查)动作时,ELB将无法访问成功检查,而判断该EC2出现异常情况。所以只有通过在EC2实例上的Web服务器上配置访问限制,才能对经由ELB的客户端访问加以限制。

可是在对访问的客户端实施限制时,由于访问全部经由ELB,则检知的访问IP均为ELB的IP,此时需要借助XFF头(X-Forwarded-For)实施确认和限制。

举例说明

1.只允许地址为172.24.40.83的IP访问该网站。

编辑网站配置文件,添加或修改配置文件如下:

SetEnvIf X-Forwarded-For "172.24.40.83" allow_ip
Order deny,allow
Deny  from all
Allow from env=allow_ip

2.拒绝地址为172.24.40.83和17224.40.84的IP访问该网站。

编辑网站配置文件,添加或修改配置文件如下:

SetEnvIf X-Forwarded-For "172.24.40.83" deny_ip01
SetEnvIf X-Forwarded-For "172.24.40.84" deny_ip02
Order allow,deny
Allow from all
Deny  from env=allow_ip01
Deny  from env=allow_ip02

X-Forwarded-For的功能是在ELB接受客户端的请求后,分配到EC2时在数据包的尾部添加上真正客户端的IP地址。

采用Apache的Web服务器,通过mod_extract_forwarded的安装和配置,可以将客户端的IP修改成X-Forwarded-For,具体的方法目前还有待研究。

# yum install mod_extract_forwarded

负载均衡器分配方式简介

ELB弹性负载均衡器是一款比较简单易用的负载均衡器,其采用Round Robin方式平均的将外部访问分配到ELB管理下的EC2实例中,保障实例群在大访问量下最好的分配使用系统资源。

此外,常见的高性能的负载均衡器,一般含有:Least Connections,Observed,Dynamic Ratio,Round Robin,Ratio,Fastest,Predictive等等。由于ELB只提供Round Robin功能所以说是简单的,通过万维网只几步就可以拥有负载均衡器,因此说它又是易用的。

北京 上海 天津 重庆 河北 山东 辽宁 黑龙江 吉林 甘肃 青海 河南 江苏 湖北 湖南 江西 浙江 广东 云南 福建 海南 山西 四川 陕西 贵州 安徽 广西 内蒙古 西藏 新疆 宁夏 澳门 香港 台湾