本文为您介绍使用传统型负载均衡CLB服务前的准备工作。在使用CLB前,您需要根据您的业务确定CLB的监听类型和网络类型等。
规划实例地域
在选择地域时,请注意:
CLB默认不支持跨地域部署,请确保您选择的地域与ECS实例在同一个地域。
例如,ECS实例所属地域为华东1(杭州),您规划的CLB实例地域为华东1(杭州),ECS实例和CLB实例在同一个地域。
为了提供更加稳定可靠的服务,CLB已在大部分地域提供主备可用区,实现同地域下的跨机房容灾。建议您选择提供主备可用区的地域。
选择实例的网络类型
CLB提供面向公网和私网的负载均衡服务:
如果您需要使用负载均衡分发来自公网的请求,请选择创建公网CLB实例。
公网CLB实例提供一个公网IP,用来接收来自互联网的请求。
如果您需要使用负载均衡分发来自私网的请求,请选择创建私网CLB实例。
私网CLB实例仅提供阿里云私网IP,私网CLB实例只能转发来自阿里云内部网络的请求,无法转发来自互联网的请求。
选择实例计费类型
CLB默认采用按量付费,按量付费又分为按规格计费和按使用量计费。
如果您的业务量较平稳,建议您选择按规格计费,实例每小时的规格费将按用户所选规格固定收取。
如果您的业务量具有周期性或者波动性较大,建议您选择按使用量计费,按使用量计费的实例性能根据用量自动弹性,且无需指定规格,每小时根据实际使用量收取LCU费。
选择协议类型
CLB提供基于四层(TCP协议和UDP协议)和七层(HTTP协议和HTTPS协议)的负载均衡:
四层监听将请求直接转发给后端服务器。客户端请求到达CLB后,CLB根据监听中配置的后端端口修改报文的目的IP和目的端口,并将流量转发给对应的后端服务器,客户端和后端服务器建立TCP连接。
七层监听原理上是反向代理的一种实现。客户端请求到达CLB后,CLB与后端服务器建立TCP连接,即再次通过新TCP连接HTTP协议访问后端服务器,而不是直接转发报文到后端服务器。
七层监听比四层监听在底层实现上多了一个Tengine处理环节。此外,客户端端口不足、后端服务器连接过多等场景可能导致七层服务性能不高,如果您对性能有很高的要求,建议您选择四层监听。
更多详细信息,参见协议说明。
准备后端服务器
在使用负载均衡服务前,您需要创建ECS实例并部署相关应用,然后将ECS实例添加到负载均衡实例中来处理转发的客户端请求。
创建和部署ECS时,请注意:
确保ECS实例的地域和CLB实例的地域相同,并且ECS实例与CLB实例属于同一个VPC。此外,建议您将ECS部署在不同的可用区内,提高可用性。创建ECS实例,请参见自定义购买实例。
本示例中分别在华东1地域的创建了两个ECS实例,为了便于辨识,将实例分别命名为ECS01和ECS02。
您需要在ECS中部署好应用。
本示例中分别在ECS01和ECS02两个实例上使用Apache搭建了两个静态网页,如下图所示。
在浏览器中输入ECS01实例绑定的弹性公网IP地址:
在浏览器中输入ECS02实例绑定的弹性公网IP地址:
在ECS上部署好应用后,不需要再进行特别的配置。但如果您要配置一个四层监听(TCP协议或UDP协议),并且ECS使用的是Linux系统,请进行以下操作:
登录ECS实例,执行
grep rp_filter /etc/sysctl.conf
命令,确保/etc/sysctl.conf这个配置文件下ECS实例中以下两个参数的值为零:net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.all.rp_filter = 0
在/etc/sysctl.d/目录下单独添加文件,例如添加的配置文件为/etc/sysctl.d/90-net-common.conf,根据ECS实际端口情况,在该配置文件中放置以下参数:
net.ipv4.conf.eth0.rp_filter = 0
文件添加完成后,执行
sysctl -p
命令使配置生效。