+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功能所以说是简单的,通过万维网只几步就可以拥有负载均衡器,因此说它又是易用的。

Leave a Reply