负载均衡采用集群部署,可实现会话同步,以消除服务器单点故障,提升冗余,保证服务的稳定性。
阿里云当前提供四层(TCP协议和UDP协议)和七层(HTTP和HTTPS协议)的负载均衡服务。
四层采用开源软件LVS(Linux Virtual Server)+ keepalived的方式实现负载均衡,并根据云计算需求对其进行了个性化定制。
七层采用Tengine实现负载均衡。Tengine是由淘宝网发起的Web服务器项目,它在Nginx的基础上,针对有大访问量的网站需求,添加了很多高级功能和特性。
阿里云负载均衡
简介
负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(ECS实例)的流量分发控制服务。负载均衡扩展了应用的服务能力,增强了应用的可用性。
负载均衡通过设置虚拟服务地址,将添加的ECS实例虚拟成一个高性能、高可用的应用服务池,并根据转发规则,将来自客户端的请求分发给云服务器池中的ECS实例。
负载均衡默认检查云服务器池中ECS实例的健康状态,自动隔离异常状态的ECS实例,消除了单台ECS实例的单点故障,提高了应用的整体服务能力。此外,负载均衡还具备抗DDoS攻击的能力,增强了应用服务的防护能力。
架构
负载均衡服务主要有三个核心概念:
负载均衡实例 (Server Load Balancer instances)
一个负载均衡实例是一个运行的负载均衡服务,用来接收流量并将其分配给后端服务器。要使用负载均衡服务,您必须创建一个负载均衡实例,并至少添加一个监听和两台ECS实例。
监听 (Listeners)
监听用来检查客户端请求并将请求转发给后端服务器。监听也会对后端服务器进行健康检查。
后端服务器(Backend Servers)
一组接收前端请求的ECS实例。您可以单独添加ECS实例到服务器池,也可以通过虚拟服务器组或主备服务器组来批量添加和管理。
特点
1)负载均衡服务通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台云服务器(Elastic Compute Service,简称ECS)资源虚拟成一个高性能、高可用的应用服务池;根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中。
2)负载均衡服务会检查云服务器池中ECS的健康状态,自动隔离异常状态的ECS,从而解决了单台ECS的单点问题,同时提高了应用的整体服务能力。在标准的负载均衡功能之外,负载均衡服务还具备TCP与HTTP抗DDoS攻击的特性,增强了应用服务器的防护能力。
3)负载均衡服务是ECS面向多机方案的一个配套服务,需要同ECS结合使用。
产品优势
高可用
采用全冗余设计,无单点,支持同城容灾。搭配DNS可实现跨地域容灾,可用性高达99.95%。
根据应用负载进行弹性扩容,在流量波动情况下不中断对外服务。
可扩展
您可以根据业务的需要,随时增加或减少后端服务器的数量,扩展应用的服务能力。
低成本
与传统硬件负载均衡系统高投入相比,成本可下降60%。
安全
结合云盾,可提供5Gbps的防DDOS攻击能力。
阿里云负载均衡基础架构
负载均衡采用集群部署,可实现会话同步,以消除服务器单点故障,提升冗余,保证服务的稳定性。
阿里云当前提供四层(TCP协议和UDP协议)和七层(HTTP和HTTPS协议)的负载均衡服务。
四层采用开源软件LVS(Linux Virtual Server)+ keepalived的方式实现负载均衡,并根据云计算需求对其进行了个性化定制。
七层采用Tengine实现负载均衡。Tengine是由淘宝网发起的Web服务器项目,它在Nginx的基础上,针对有大访问量的网站需求,添加了很多高级功能和特性。如下图所示,各个地域的四层负载均衡实际上是由多台LVS机器部署成一个LVS集群来运行的。采用集群部署模式极大地保证了异常情况下负载均衡服务的可用性、稳定性与可扩展性。LVS集群内的每台LVS都会进行会话,通过组播报文同步到该集群内的其它LVS机器上,从而实现LVS集群内各台机器间的会话同步。如下图所示,当客户端向服务端传输三个数据包后,在LVS1上建立的会话A开始同步到其它LVS机器上。图中实线表示现有的连接,图中虚线表示当LVS1出现故障或进行维护时,这部分流量会走到一台可以正常运行的机器LVS2上。因而负载均衡集群支持热升级,并且在机器故障和集群维护时最大程度对用户透明,不影响用户业务。
设置不同的权重 。设置两个实例的 权重 分别为 30 ,90 。
说明:通过如上的权重配置,用户通过负载均衡访问的时候,1/4的用户请求发送到一台后端服务器中,3/4的请求发送到另一台后端服务器中。完成如上配置后,点击 确定 ,生效配置信息。可以查看到两台ECS实例的权重分别为30 和 90,并记录对应的ECS实例内网地址和弹性IP。浏览器中,刷新多次 负载均衡 服务地址 的页面,并记录页面显示的 后端服务器IP 。可以发现:每4次刷新,将有3次访问 权重 为 90 的ECS实例,1次访问权重为 30 的ECS实例。
如上结果证明:用户可以根据实际情况调整负载均衡器的请求分发,一般将配置高的服务器设置的权重调高,配置较低的服务器设置的权重调低。这样可以避免在高并发时,配置较低的服务器因为压力较大服务异常的发生。
配置成功:
常见问题解答:
问1:将停止的那台ECS重新开启,然后访问负载均衡的IP地址,观察访问的结果。为什么会这样呢?
答:因为负载均衡中依然开启了会话保持,所以请求会被转发到某一台ECS上(在规定的会话保持时间内)。
问2:如果两台ECS在不同的可用区,能否加载到负载均衡后端?若在不同地域呢?
答:负载均衡后端的服务器要求在同一地域,但可以在不同可用区。
问3: 如果需要对负载均衡后端的某台ECS实例A中的应用服务器进行升级,如何在不影响用户使用的前提下,平滑升级?
答:将需要升级的ECS的权重修改为0,请求即不会转发到该ECS上,然后进行升级;升级完成后重新修改它的权重。
越来越多的企业开始使用阿里云的各种服务,比如ECS,RDS,负载均衡等等。随之而来的是用户最关心的安全问题:比如,因为用户使用通用软件的漏洞而被黑客入侵;Web服务器(内部/外部)被黑客入侵窃取网站的核心数据等。
因此,阿里云推出云盾服务。云盾是阿里巴巴集团多年来安全技术研究积累的成果,它结合阿里云云计算平台强大的数据分析能力,为中小网站提供如安全漏洞检测、网页木马检测以及面向云服务器用户提供的主机入侵检测、防DDoS等一站式安全服务。阿里云对于安全方面,可谓“十年攻防,一朝成盾”:
服务器安全(安骑士)是云盾的一款服务器安全运维管理产品。通过安装在服务器上的轻量级Agent插件与云端防护中心的规则联动,实时感知和防御入侵事件,从而保障服务器的安全。
服务器安全(安骑士)的架构图,如下图:
阿里云平台默认为用户开通安骑士的 基础版,若用户希望可以通过安骑士深度维护云服务器,可以购买 专业版,增强版 或 企业版。不同版本提供不同的服务。
.安骑士主要提供五大服务:
木马查杀:服务器安全(安骑士)Agent将自动识别服务器的Web目录,对服务器的Web目录进行后门文件扫描,每天凌晨将会对Web目录进行一次扫描,同时若Web目录文件发生变化也会触发单次单文件扫描。
补丁管理:支持通用Web软件漏洞扫描和Windows系统漏洞扫描,当前扫描周期为1天。不仅如此,当前漏洞补丁均为云盾自研补丁,快于官方补丁推出。用户可以通过控制台的 一键修复 功能,实现漏洞批量修复和回滚。
安全巡检:支持 手动巡检 和 周期巡检 两种方式。手动巡检 主要对服务器常见系统配置缺陷进行检测,包括对可疑系统账户、弱口令、注册表等进行检测。用户也可设置周期检测时间定期对自己的服务器进行安全体检。
主机防火墙:支持TCP,UDP和HTTP三种协议的自定义访问控制;共享云盾恶意IP库,直接将恶意IP进行拦截;支持Web攻击拦截策略自定义;不但可以记录4层和7层策略的命中情况,而且允许近1个月的记录查看和数据导出。
安全运维:支持Shell命令(Linux)、BAT命令(Windows),非交互式命令;支持在服务器安全(安骑士)控制台一键下发脚本命令,支持运行账户切换、权限切换;支持对运行结果在线查看和导出结果查看。
云监控(CloudMonitor)作为云服务的监控管理入口,能让用户快速了解各产品实例的状态和性能。云监控从站点监控、云服务监控、自定义监控三个方面来为用户提供服务。通过云监控管理控制台,用户可以看到当前服务的监控项数据图表,清晰了解服务运行情况。并通过设置报警规则,管理监控项状态,及时获取异常信息。云监控目前免费限量为用户提供监控服务。
云监控为用户提供了非常丰富的使用场景:
云服务监控:用户购买和使用云监控支持的阿里云服务后,可监控多种阿里云云服务的各项基础指标,比如:ECS的CPU使用率、内存使用率、公网流出流速(带宽)等。确保实例的正常使用,避免因为对资源的过度使用造成用户业务无法正常运转。云监控会根据用户设置的报警规则,在监控数据达到报警阈值时,发送报警信息。用户可以及时获取异常通知,并查询服务异常的原因。
目前,云服务监控对用户开放的产品包括云服务器ECS、云数据库RDS、负载均衡、云数据库Memcache版、对象存储OSS、CDN、弹性公网IP、云数据库Redis版、消息服务、日志服务等,其它云产品的监控会陆续加入进来。
站点监控:支持提供多种协议的监控设置,可探测您站点的可用性、响应时间、丢包率。让用户全面了解站点的可用性,并在发生异常时,可以及时处理。
站点监控目前支持8种协议的探测,探测点包括:杭州、青岛、北京,探测频率支持:1分钟、5分钟、15分钟。
自定义监控:补充“云服务监控”的不足,如果云监控服务未能提供您需要的监控项,那么,用户可以创建新的监控项并采集监控数据上报到云监控,云监控会对新的监控项提供“监控图表”展示和“报警”功能。