SLB负载均衡实践
课程目标和负载均衡简介
课程目标
- 配置负载均衡SLB的监听规则,并将ECS实例部署到SLB后端;
- 通过设置负载均衡SLB后端服务器ECS的权重值,分配用户访问后端ECS实例的比例。
什么是负载均衡
- 拥有大量用户的企业,经常会面临如下的难题:在高并发的情况下,经常会导致服务器响应速度慢,严重的情况会直接导致服务器停止服务。此时,会导致企业的业务中断,影响客户的正常访问。
负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(ECS实例)的流量分发控制服务。
如何搭建负载均衡:
- 负载均衡服务是ECS面向多机方案的一个配套服务,需要同ECS结合使用。
- 负载均衡通过设置虚拟服务地址,将添加的ECS实例虚拟成一个高性能、高可用的应用服务池,并根据转发规则,将来自客户端的请求分发给云服务器池中的ECS实例。
那么负载均衡有什么好处呢:
- 负载均衡服务会检查云服务器池中ECS的健康状态,自动隔离异常状态的ECS,从而解决了单台ECS的单点故障问题,同时提高了应用的整体服务能力。
- 在标准的负载均衡功能之外,负载均衡服务还具备TCP与HTTP抗DDoS攻击的特性,增强了应用服务器的防护能力。
架构
负载均衡服务主要有三个核心概念:
负载均衡实例 (Server Load Balancer instances)
即上图中的SLB公网实例。一个负载均衡实例是一个运行的负载均衡服务,用来接收流量并将其分配给后端服务器。
要使用负载均衡服务
- 必须创建一个负载均衡实例
- 并至少添加一个监听和两台ECS实例。
监听 (Listeners)
监听你可以理解是SLB公网实例的工作,它的工作主要有两项:
- 监听用来检查客户端请求并将请求转发给后端服务器。
- 监听也会对后端服务器进行健康检查。
后端服务器(Backend Servers)
是一组接收前端请求的ECS实例:
- 可以单独添加ECS实例到服务器池
- 也可以通过虚拟服务器组或主备服务器组来批量添加和管理。
一、创建资源与云服务器状态确认
创建资源后你将得到:
- 云服务器ECS-1 和 云服务器ECS-2
- 负载均衡SLB
云服务器状态确认
通过浏览器分别访问ECS-1和ECS-2发现:
- 两台服务器部署的网站内容相同
- 只是显示的后端服务器IP不同
二、负载均衡配置
将两台服务器挂载到负载均衡的后端这样,用户只需访问一个IP地址或域名,负载均衡服务器将会根据权重自动转发用户请求到相应的后端服务器上。
- 点击左侧导航栏的 产品与服务 ,下拉菜单中,在 弹性计算 条目下选择 负载均衡 。
- 点击左侧的 实例管理 ,然后打开实验提供的实例,在实例列表页面,点击目标实例右侧的 点我开始配置 。
- 通过负载均衡业务配置向导,配置负载均衡的 监听端口、后端服务器 和 健康检查 :
1)在 协议&监听 页面,输入如下信息,完成后,点击 下一步 。
- 负载均衡协议:选择 HTTP
- 监听端口:设为 80
- 高级配置保持默认
2)在 后端服务器 页面,监听请求转发至 默认服务器组,在已添加服务器处点击 继续添加 。
3)在弹出的待添加服务器页面,在预先配置好的两台云服务器前打勾选择,然后点击下一步,之后再点击 添加;
4)在后端服务器界面的已添加服务器列表中,可以看到新增的两台云服务器,分别将 端口 设置为 80,并点击 下一步 。
说明:负载均衡器将会按照输入的权重比例分发请求。
5)在 健康检查 配置中,开启健康检查按钮为绿色 开启状态,点击 下一步。
三、负载均衡验证
- 验证负载均衡的工作原理;
- 验证通过配置不同后端服务器权重,将用户的请求按比例分发到不同后端服务器;
- 验证在一台后端服务器开启会话请求时,请求在会话开启的时间内只会分发到这一台服务器。
❗️这里指出一个Bug让同学们避坑。就是在最后停止一个监听的实例时,下图这个停止可能不起作用⚠️。而是应该要去实例的管理界面去停止。