准备工作

本文为您介绍使用传统型负载均衡CLB服务前的准备工作。在使用CLB前,您需要根据您的业务确定CLB的监听类型和网络类型等。

规划实例地域

在选择地域时,请注意:

  • CLB默认不支持跨地域部署,请确保您选择的地域与ECS实例在同一个地域。

    例如,ECS实例所属地域为华东1(杭州),您规划的CLB实例地域为华东1(杭州),ECS实例和CLB实例在同一个地域。

  • 为了提供更加稳定可靠的服务,CLB已在大部分地域提供主备可用区,实现同地域下的跨机房容灾。建议您选择提供主备可用区的地域。

选择实例的网络类型

CLB提供面向公网和私网的负载均衡服务:

  • 如果您需要使用负载均衡分发来自公网的请求,请选择创建公网CLB实例。

    公网CLB实例提供一个公网IP,用来接收来自互联网的请求。

    对于公网CLB实例,您还需要选择实例的计费方式:

    • 按流量计费:适用于波峰波谷效应明显的业务。

    • 按带宽计费:适用于带宽较为平稳的业务。

  • 如果您需要使用负载均衡分发来自私网的请求,请选择创建私网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地址: ECS01

    • 在浏览器中输入ECS02实例绑定的弹性公网IP地址: ECS02

    在ECS上部署好应用后,不需要再进行特别的配置。但如果您要配置一个四层监听(TCP协议或UDP协议),并且ECS使用的是Linux系统,请进行以下操作:

    1. 登录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
    2. /etc/sysctl.d/目录下单独添加文件,例如添加的配置文件为/etc/sysctl.d/90-net-common.conf,根据ECS实际端口情况,在该配置文件中放置以下参数:

      net.ipv4.conf.eth0.rp_filter = 0
    3. 文件添加完成后,执行sysctl -p命令使配置生效。