文档首页/ 弹性负载均衡 ELB/ 快速入门/ 实现多个Web应用的负载均衡
更新时间:2024-11-08 GMT+08:00
分享

实现多个Web应用的负载均衡

操作场景

弹性负载均衡可以配置基于域名和路径的转发策略,将来自不同域名或者不同路径的请求转发到不同的后端服务器组处理。

假如您有两个应用,需要分别部署在两个弹性云服务器ECS01和ECS02上,对外提供同一个访问域名,可以根据域名下不同的路径(/ELB01/和/ELB02/)来决定最终访问的应用。

图1 两个应用负载分发架构图

操作流程

配置流程如图2所示:

图2 弹性负载均衡负载多个应用

操作步骤

说明

准备工作

使用云服务前,您需要注册华为账号并开通华为云、完成实名认证、为账户充值。

步骤一:创建VPC和ECS

  • 创建一个IPv4网段的VPC,并从VPC中划分一个子网。

    VPC的IPv4网段:192.168.0.0/16,子网IPv4网段:192.168.0.0/24

  • 基于已有的VPC和子网,购买两个ECS实例。

步骤二:搭建后端服务

在两个ECS实例上分别部署Nginx,使访问ECS01时返回标题为“Welcome to ELB test page one!”的页面,访问ECS02时返回标题为“Welcome to ELB test page two!”的页面。

步骤三:新建负载均衡器

创建一个弹性规格的ELB实例,用于接收来自客户端的请求并将请求分发至后端服务器。

步骤四:配置安全组规则

在后端服务器的安全组中,放通ELB后端子网所属网段。

步骤五:添加监听器

为ELB实例配置HTTP监听器,监听器接收客户端请求并将请求分发至后端服务器组内的服务器。

步骤六:添加转发策略

在HTTP监听器上配置基于域名和URL的转发策略,监听器根据转发策略转发请求至不同的后端服务器组。

步骤七:验证业务

访问ELB实例对应的域名,验证是否实现访问到不同的后端服务器。

准备工作

在使用弹性负载均衡服务前,您需要注册华为账号并开通华为云、完成实名认证、为账户充值。

步骤一:创建VPC和ECS

您需要根据业务需求规划ELB实例的区域,创建VPC和后端服务器ECS实例等。确保ECS实例的可用区和ELB实例的可用区相同,并且ECS实例与ELB实例属于同一个VPC。

  1. 创建VPC。

    本示例中的VPC相关配置如下所示,仅供参考,更多详细设置请参考创建VPC

    图3 VPC的基本信息
    图4 VPC的子网设置
  2. 创建两台ECS。

    本示例中的ECS相关配置仅供参考,更多详细设置请参考快速创建ECS

步骤二:搭建后端服务

在ECS实例上部署Nginx,编辑HTML页面,使访问ECS01时返回一个标题为“Welcome to ELB test page one!”的页面,访问ECS02时返回一个标题为“Welcome to ELB test page two!”的页面。

  1. 登录弹性云服务器
  2. 安装nginx。

    此处以CentOS 7.6版本的操作系统为例。

  3. 修改ECS实例ECS01的html页面。

    Nginx的默认根目录是“/usr/share/nginx/html”,移动并修改“index.html”页面,用来标识到ECS01的访问。

  4. 参考步骤3修改ECS实例ECS02的“index.html”文件,用“page two”来标识到ECS02的访问。
  5. 使用浏览器分别访问“http://ECS01的EIP地址/ELB01/”和“http://ECS02的EIP地址/ELB02/”,验证nginx服务。

    如果页面显示修改后的html页面,说明nginx部署成功。

    • ECS01的html页面:
      图6 ECS01的nginx部署成功页面
    • ECS02的html页面:
      图7 ECS02的nginx部署成功页面

步骤三:新建负载均衡器

在当前场景中,ELB需要创建并绑定弹性公网IP 。ELB绑定EIP仅作为本次示例中通过ELB访问后端业务所需,用户实际使用时,需要根据自身业务规划确定ELB是否绑定EIP。

  1. 进入购买弹性负载均衡页面
  2. 在“购买弹性负载均衡器”界面,根据界面提示选择负载均衡器的基础配置。
    本示例中的基础配置参数如图8所示。
    图8 负载均衡器的基础配置
  3. 选定负载均衡器的基础配置后,负载均衡器的实例规格本文选择“弹性规格” ,如图9所示。
    图9 负载均衡器的实例规格
  4. 选定负载均衡器的基础配置后,请根据界面提示选择负载均衡器的网络配置和弹性公网IP,配置参数如图10所示。
    图10 负载均衡器的网络配置
  5. 您可以单击,展开折叠的高级配置区域,为负载均衡器添加描述和标签,本文保持默认设置。
  6. 单击“立即购买”。
  7. 确认配置信息,单击“去支付”。
  8. 创建完成后,在“负载均衡器”界面,选择对应的区域即可看到新建的负载均衡器。

步骤四:配置安全组规则

为了确保负载均衡器与后端服务器进行正常通信和健康检查正常,添加后端服务器后必须检查后端服务器所在的安全组规则和后端服务器所在子网的网络ACL规则。

  • 后端服务器的安全组规则必须添加允许源地址为ELB后端子网所属网段的入方向规则,以确保健康检查请求和业务请求可以访问后端服务器。默认情况下,ELB后端子网与ELB所在子网一致。
  • 网络ACL为子网级别的可选安全层,若后端服务器的子网关联了网络ACL规则,后端服务器的子网网络ACL规则必须添加允许源地址为ELB后端子网所属网段的入方向规则。

配置安全组与网络ACL规则详情请参见后端服务器配置安全组(独享型)

本示例添加的安全组放通规则请见表1

表1 放通后端服务器的安全组

方向

策略

类型

协议端口

源地址/目的地址

描述

入方向

允许

IPv4

TCP: 80

源地址:192.168.0.0/24

用于外部请求访问ECS,允许流量流入安全组内的ECS。

出方向

允许

IPv4

全部

目的地址:0.0.0.0/0

用于安全组内ECS访问外部,允许流量从安全组内ECS流出。

步骤五:添加监听器

负载均衡监听器通过指定的协议和端口进行流量转发。同时监听器将根据健康检查的配置自动检查其后端服务器的运行状况。如果发现某台服务器运行不正常,则会停止向该服务器发送流量,并重新将流量发送至正常运行的服务器。

  1. 在弹性负载均衡列表页,单击需要添加监听器的负载均衡名称“elb-test”。
  2. 单击“添加监听器”,配置监听器参数参见表2
    表2 独享型负载均衡配置监听器参数说明

    参数

    示例

    说明

    名称

    listener

    监听器名称。

    前端协议

    HTTP

    客户端与负载均衡监听器建立流量分发连接的协议。

    前端端口

    80

    客户端与负载均衡监听器建立流量分发连接的端口。

    重定向

    -

    用于将HTTP监听的流量转发到HTTPS监听器。

    本文默认关闭。

    访问控制

    允许所有IP访问

    支持对特定IP地址的访问请求进行控制,更多信息请参见访问控制策略

    获取客户端IP

    -

    后端服务器可以获取到客户端的真实IP地址。

    独享型负载均衡默认开启此功能,且不可关闭。

    高级转发策略

    -

    开启高级转发策略功能之后,支持更为丰富的转发规则和转发动作。

    本文保持默认开启。

  3. 保持“高级配置”参数默认取值不变,单击“下一步:配置后端分配策略”,选择“新创建”后端服务器组。

    参数“分配策略类型”选择“加权轮询算法”,其他参数保持默认选项。

  4. 单击“下一步:添加后端服务器”,添加后端服务器。
    • 后端服务器需勾选“ECS01”和“ECS02”。
    • 业务端口:业务所使用的端口,示例为“80”。
  5. 为后端服务器组配置健康检查参数,本文保持默认健康检查参数设置不变。
  6. 单击“下一步:确认配置”,确认无误后,单击“提交”。

步骤六:添加转发策略

本文以负载均衡器转发客户端的HTTP请求配置为例。在HTTP监听器上配置基于域名和路径的转发策略,将来自域名“www.example.com”+路径“/ELB01/”的请求转发到ECS“ELB01”所在的后端服务器组处理,将来自域名 “www.example.com”+路径“/ELB02/”的请求转发到ECS“ELB02”所在的后端服务器组处理。

  1. 在监听器的列表页,新添加监听器所在行,单击“添加/编辑转发策略”。
    配置转发策略如图11所示,参数设置详情请参见表3
    图11 配置转发策略
    表3 转发策略示例

    转发策略设置

    描述

    名称

    转发策略的名称,示例为“forwarding_policy-ELB01”。

    如果转发规则

    域名:触发转发的域名,示例为“www.example.com”。

    路径:触发转发的路径,匹配方式选择“精确匹配”,示例路径为“/ELB01/”。

    然后转发动作

    选择“转发至后端服务器组”。

  2. 为转发策略forwarding_policy-ELB01创建新的后端服务器组。
    1. 在“转发至后端服务器组”右侧的下拉框中,单击“创建后端服务器组”。
    2. 在“配置后端分配策略”阶段,修改后端服务器组名称为“server_group-ELB01”,

      其他参数保持默认不变。

    3. 单击“下一步”,在“添加后端服务器”阶段,单击下方“添加云服务器”。
  3. 勾选需要添加的云服务器ECS01,设置业务端口为80,单击“完成”。
  4. 重复执行1~3,添加另一条转发策略、创建后端服务器组并添加ECS02。

步骤七:验证业务

负载均衡器配置完成后,可通过访问ELB实例对应的域名以及指定的URL,验证是否实现访问到不同的后端服务器。

  1. 修改本地PC的“C:\Windows\System32\drivers\etc\hosts”文件,将域名映射到创建的ELB实例的EIP上。
    ELB实例的EIP请在负载均衡器的基本信息界面查看。
    图12 本地PC的hosts文件
  2. 打开“开始”菜单,输入cmd命令,打开命令行窗口。
  3. 执行以下命令测试域名映射ELB实例的EIP是否成功。
    ping www.example.com

    如果有回复数据包,则说明域名映射成功。

  4. 使用浏览器访问“http://www.example.com/ELB01/”。
    显示如下页面,说明本次访问请求被ELB实例转发到弹性云服务器"ECS01","ECS01"正常处理请求并返回请求的页面。
    图13 访问到ECS01

    "ELB01/"表示访问的是名为“ELB01”的默认目录,"ELB01"表示访问的是名为“ELB01”的文件。所以,此处"ELB01"后面的“/”符号必须保留。

  5. 使用浏览器访问“http://www.example.com/ELB02/”。
    显示如下页面,说明本次访问请求被ELB实例转发到弹性云服务器"ECS02","ECS02"正常处理请求并返回请求的页面。
    图14 访问到ECS02

相关文档