三、负载均衡SLB:15%(自动安全防护)
负载均衡分配的IP为独占!结合智能DNS实现跨地域容灾!
是对多台云服务器进行流量分发的负载均衡服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。SLB通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台云服务器资源虚拟成一个高性能、高可用的应用服务池;根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中。SLB会检查云服务器池中ECS的健康状态,自动隔离异常状态的ECS,从而解决了单台ECS的单点问题,同时提高了应用的整体服务能力。在标准的负载均衡功能之外,SLB还具备TCP与HTTP抗DDoS攻击的特性,增强了应用服务器的防护能力。
SLB是ECS面向多机方案的一个配套服务,需要同ECS结合使用。
负载均衡不支持跨地域(Region)部署。
目前各Region只有一种属性,不是多可用区就是单可用区。
金融云的客户为了满足其安全合规的需求,目前其公网类型的负载均衡实例端口只能对外开放这些端口:80,443,2800-3300,5000-10000,13000-14000。
SLB针对HTTPS进行统一证书管理,无需上传到后端ECS,降低开销。
负载均衡会在某些地域的多个可用区进行部署,用户可指定主备可用区创建负载均衡实例,该实例将默认工作在主可用区,当主可用区发生故障时,该实例可切换到备可用区工作。
1、 核心概念:LoadBalancer代表一个负载均衡实例。Listener代表用户定制的负载均衡策略和转发规则。BackendServer是后端的一组ECS。SLB由实例、监听、后端ECS三部分组成;配置和管理一个负载均衡实例,主要涉及3部分的功能操作,包括:负载均衡实例属性配置、负载均衡服务监听配置和负载均衡后端ECS配置。通过实例属性配置来定义一个负载均衡实例的类型,通过服务监听配置来定义一个负载均衡实例的各项策略和转发规则,通过后端ECS配置来定义一个负载均衡实例后端用来处理用户请求的多个ECS实例。当前提供4层(TCP协议和UDP协议)和7层(HTTP和HTTPS协议)的负载均衡服务。可以对后端ECS进行健康检查,自动屏蔽异常状态的ECS,待该ECS恢复正常后自动解除屏蔽。提供会话保持功能,在Session的生命周期内,可以将同一客户端请求转发到同一台后端ECS上。支持加权轮询(WRR),加权最小连接数(WLC)这两种调度算法。WRR的方式将外部请求依序分发到后端ECS上,WLC的方式将外部请求分发到当前连接数最小的后端ECS上,后端ECS权重越高被分发的几率也越大。
针对七层协议(HTTP协议和HTTPS协议),支持按用户访问的域名和URL来转发流量到不同的虚拟服务器组。
提供应用防火墙和CC防护功能,集群内置WAF模块,不用修改CNAME即可进行WAF防护;结合云盾,还可提供5G以下的防DDOS攻击能力。
4层采用开源软件LVS+keeplived实现负载均衡。7层采用Tengine实现负载均衡。
HTTP 基于Cookie会话保持(会话保持的最长时间是:86400秒(24小时)),而TCP基于源地址会话保持;HTTP 使用X-Forward-For获取源地址,TCP在网络层就可以看到来源地址;TCP监听支持TCP和HTTP两种方式进行健康检查,HTTP监听只支持HTTP方式健康检查;
2、 健康检查
负载均衡的健康检查是通过负载均衡系统向后端ECS发起心跳检查(考题)的方式来实现的,而负载均衡系统和ECS之间是通过内网进行通信的,为了确保健康检查工作的正常进行,您需要确保能够通过内网访问您的ECS。
七层协议:健康检查机制为:默认由负载均衡系统通过后端ECS内网IP地址来向该服务器应用服务器配置的缺省首页发起http head请求(考题,缺省通过在服务监听配置中指定的后端ECS端口进行访问),返回200 OK后将视为后端ECS运行正常,否则视为后端ECS运行异常。如果用户用来进行健康检查的页面并不是应用服务器的缺省首页,那么需要用户指定相应的URI。如果用户对http head请求限定了host字段的参数,那么需要用户指定相应的URL。用户也可以通过设定健康检查的频率、健康阈值和不健康阈值来更好的控制健康检查功能。
四层协议:对4层(TCP协议和UDP协议)服务,负载均衡系统的健康检查机制为:默认由负载均衡系统通过在服务监听配置中指定的后端ECS端口发起访问请求,如果端口访问正常则视为后端ECS运行正常,否则视为后端ECS运行异常。
3、 使用场景(高可用—结合DNS实现跨域容灾、低成本、安全)
灵活的进行流量分发,适用于具有高访问量的业务。
横向扩展应用系统的服务能力,适用于各种web server和app server。
消除应用系统的单点故障,当其中一部分ECS宕机后,应用系统仍能正常工作。提高应用系统容灾能力,多可用区部署,机房宕机后,仍能正常工作。防止应用系统遭受攻击,适用于经常受到WAF和CC困扰的业务。
4、 常见问题
负载均衡支持域名URL转发常见问题?
负载均衡本次支持域名URL转发主要包含两层含义:(1)对于所有监听(TCP/UDP/HTTP/HTTPS)类型,都允许用户在监听级别个性化定义后端服务器组,并支持转发到服务器的不同端口(2)对于HTTP和HTTPS监听,(考题)支持用户根据域名和URL设置转发规则到监听,并转发到不同的后端服务器组上。
当用户流量经过负载均衡某端口时,我们首先判断其是否能够匹配上某条"转发规则"(优先级最高,每个监听可以配置10条),如果匹配,则将流量转发到该规则的后端服务器组上;若不匹配并且在该监听上设置了虚拟服务器组,那么将流量转发到该虚拟服务器组(优先级次高)上;若用户没有在该监听上设置虚拟服务器组,即将流量转发到实例级别添加的各后端服务器中(优先级低)。
按域名转发优先级:精确域名》*.abc.com》www.abc.*
负载均衡支持安全防护常见问题?
安全防护是负载均衡的一项增值服务,目前主要包括两部分的功能,即,应用层WAF和CC(ChallengeCollapsar)防护和DDoS防护(包含流量清洗和黑洞)。
WAF是web应用防火墙的简称(WEB APPLICATION FIREWALL),主要用于保护网站(HTTP服务)的安全性,实时对所有的HTTP请求进行合法性检查;负载均衡将WAF模块部署在自身集群内,即用户流量经过负载均衡时,通过内置的安全检测模块即可对HTTP请求进行应用层WAF防护。目前负载均衡WAF可防护的主要攻击类型为:sql注入,跨站脚本,代码执行,CRLF,本地文件包含,远程文件包含,webshell,CSRF等。
负载均衡CC防护能够为用户提供防CC攻击、QPS限流功能。
负载均衡推出的WAF功能与云盾提供的WAF功能具体有什么区别?(1)云盾推出的应用层WAF需要用户修改CNAME才能使用,负载均衡产品是将WAF模块部署在自身集群内,用户不需要修改CNAME即可使用。(2)负载均衡安全防护功能提供了WAF的几套策略(高/中/低)供用户选择,用户可根据自身需求选择相应的策略集合。(3)负载均衡安全防护功能支持HTTP和HTTPS两种协议的安全防护,现在市面上的WAF功只能提供HTTP协
议的安全防护.
负载均衡支持UDP协议常见问题?
UDP健康检查目前支持自定义发送请求和自定义返回请求,能够通过返回字符串是否匹配来反映健康检查的状态.
HTTPS双向认证常见问题?
为了满足更多用户数据传输安全需求,负载均衡发布了新功能--HTTPS双向认证。之前,负载均衡只支持在服务端进行HTTPS单向认证,现在支持在服务端和客户端进行HTTPS双向认证。用户需要在HTTPS监听上同时绑定CA证书与服务器证书,才能够进行HTTPS双向认证。
目前支持服务器证书和CA证书的上传,服务器证书需要上传证书内容和私钥,CA证书只需要上传证书内容;这两种类型的证书都只支持PEM编码格式的上传(考题:支持的证书格式PEM)。
负载均衡支持VPC常见问题?(考题)
注:目前还不支持EIP作为负载均衡实例的IP
1) 用户可以申请使用自己VPC内的IP地址作为负载均衡私网地址,并挂载VPC的ECS
2) 用户可以申请公网IP地址作为负载均衡公网地址,并挂载VPC的ECS
3) 网络类型分为经典网络和专有网络,又称为Classic和VPC。
4) 实例类型还是私网实例和公网实例,结合网络类型,有经典网络私网实例,经典网络公网实例,专有网络私网实例三种,目前专有网络没有公网实例这一说。
5) 场景和限制一:负载均衡和ECS都已经开通支持VPC的Region,
可以使用用户的VPC IP作为负载均衡私网实例IP并加VPC ECS;
可以使用经典网络公网IP作为负载均衡公网实例IP并加VPC ECS;
不能使用经典网络私网IP作为负载均衡私网实例IP并加VPC ECS; 不能使用用户的VPC IP作为负载均衡私网实例并加非VPC ECS;
6) 场景和限制二:ECS已经开通支持VPC,但负载均衡还没有开通支持VPC的Region
可以使用经典网络公网IP作为负载均衡公网实例IP并加VPC ECS;默认不能使用经典网络私网IP作为负载均衡私网实例IP并加VPC ECS;
不能使用用户的VPC IP作为负载均衡私网实例并加非VPC ECS;
一个实例不能同时存在VPC和非VPC的ECS;
7) 支持VPC的Region 私网IP和健康检查IP 切换为100网段;(在ECS上开启了防火墙的用户需要允许100段的健康检查IP地址段;对没有100网段路由的老ECS增加100段路由)
我的负载均衡为什么不均衡?
4层(TCP和UDP)是基于连接做流量调度。TCP和UDP创建一个socket访问负载均衡实例,这个源和目的ip,port就是一个连接。
7层(HTTP/HTTPS)是基于请求做调度。比如 http get请求访问一个页面。
1) 配置了会话保持,访问负载均衡实例的客户端又很少,容易导致不均衡。
2) 后端Server的健康建状态异常会导致不均衡,尤其在压测的时候容易忽略后端Server的健康检查状态
3) 后端Server有些开启了TCP Keepalive保持长连接,而有些又没有开启,则连接会在保持长连接的后端服务器上堆积,造成不均衡。
4) 由于SLB的底层架构原理,当连接数比较少不够分配时,可能会表现得不均衡,最坏情况每台后端Server之间连接的差异可达到48个。
为什么7层负载均衡压测性能低?
负载均衡集群采用LVS和Tengine实现,其中4层监听经过LVS后直接到达后端服务器,而7层监听经过LVS后,还需要再经过Tengine,最后达到后端服务器,多一个处理环节。
1) CASE1 客户端端口不足
2) CASE2 后端服务器accept队列满
3) CASE3 后端服务器连接过多
4) CASE4 后端服务器依赖的应用(比如数据库)成为瓶颈
5) CASE5 后端Server的健康检查状态异常
压测时的建议
1) 压测负载均衡转发能力建议使用短链接
2) 压测负载均衡吞吐量建议使用长连接,用于测试带宽上限或特殊业务
3) 后端服务器提供一个静态网页用于压测,以避免应用逻辑带来的损耗
4) 监听不开启会话保持功能,否则压力会集中在个别的后端服务器
5) 监听关闭健康检查功能,减少健康检查请求对后端服务器的访问请求
6) 用多个client(>5)进行压测,源IP分散,能够更好的模拟线上实际情况
为什么很多10开头的IP访问负载均衡实例的后端ECS?
这是由于负载均衡系统进行健康检查引起的。
证书管理相关问题?
负载均衡只支持PEM格式的证书,其他格式的证书需要转换成PEM格式后才能上传到负载均衡中,建议通过openssl 工具进行转换。
目前每个用户可以支持100个证书。
考虑到安全和性能,目前用户的证书如需要在多个地域使用,就需要在多个地域上传。
使用负载均衡如何容灾?
1) 一个实例可以添加一个REGION下多个可用区的ECS。
2) 同城容灾(用户负载均衡实例可以在一个REGION下的两个机房间切换,这个切换不需要用户干预,但前提用户要保证该实例的后端ECS满足上述1.的条件。
3) 在不同REGION创建多个负载均衡实例,通过DNS轮询的方式对外提供服务,从而实现跨REGION的可用性。
负载均衡白名单常见问题
1) 设置白名单非常危险,一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听;
2) 如开启白名单而不设置白名单列表,则这个负载均衡监听默认就无人可以访问;
禁用ECS公网网卡会影响负载均衡服务。
负载均衡的服务能力与后端ECS的公网带宽规格无关。
负载均衡和后端ECS之间是通过内网进行通信的,所以ECS无需配置外网带宽。
同一组ECS可以搭建多个网站并同时进行负载均衡
可以在使用负载均衡的过程中随时调整(增加或减少)后端ECS的数目
标签:负载,集锦,实例,VPC,IP,认证,ACP,ECS,均衡 From: https://www.cnblogs.com/wxfboke/p/18060886