精华内容
下载资源
问答
  • ELB 使用总结

    万次阅读 2015-12-17 22:38:00
    ELB 是 AWS 提供的弹性负载均衡服务,它也是一个 region 级别的服务。下面就 ELB 的一些主要配置以及使用过程中遇到的一些问题进行简要说明。主要配置 VPC 选择 ELB 所在的 VPC,选择高级 VPC 选项后,还可以选择在...

    ELB 是 AWS 提供的弹性负载均衡服务,它也是一个 region 级别的服务。下面就 ELB 的一些主要配置以及使用过程中遇到的一些问题进行简要说明。

    主要配置


    • VPC
      选择 ELB 所在的 VPC,选择高级 VPC 选项后,还可以选择在哪些子网中创建负载均衡器节点
    • Internal ELB
      是否创建内部负载均衡器,用于私有子网内的负载均衡
    • Listener Config
      配置负载均衡的前后端协议、端口
    • 健康检测
      • 配置健康检测使用的协议和端口
      • 健康检测相应超时时间
      • 健康检测时间间隔
      • 后端节点 Unhealth 阈值m(健康检测连续失败次数达到m次,则标记为不健康)
      • 后端节点 Health 阈值n(健康检测连续成功次数达到n次,则标记为健康)
    • ELB子网选定
      • 这里子网的选择是指 AWS 内部负载均衡实例将分布的子网,也即流量将导入哪些子网的负载均衡器。后面选择 ELB 后端 EC2 实例时可以选择完全不同的子网,并一定要和负载均衡器同子网。

    遇到的问题


    • 本地私网 IDC 与 AWS 云上 VPC 联通后,由于 ELB 以域名的形式提供访问终点,使得本地 IDC 中机器无法访问 ELB。将本地 IDC 中机器的 DNS 服务器配置成云上 VPC 的私有 DNS 服务器后,仍然无法使用,因为私有 DNS 服务器有使用上限制,只有云上的机器可正常访问它。最后的解决方案是在云上搭建一个 DNS 服务器,转发 DNS 请求到云上 VPC 的 DNS 服务器。
    展开全文
  • ELB简述

    万次阅读 2019-04-12 23:07:19
  • SLB vs CLB

    2017-07-27 13:57:00
    一张图,清晰的说明 SLB和 CLB的优劣。 转载于:https://www.cnblogs.com/jackbase/p/7244489.html

    一张图,清晰的说明 SLB和 CLB的优劣。

     

    转载于:https://www.cnblogs.com/jackbase/p/7244489.html

    展开全文
  • 抗负载能力强,性能高,能达到F5的60%,对内存CPU资源消耗比较低  2. 工作在网络4层,通过VRRP协议(仅作代理之用),具体的流量是由linux内核来处理,因此没有流量的产生。  3. 稳定,可靠性高,自身有完美的...

    主流软件负载均衡概要:

    1、LVS:

        1. 抗负载能力强,性能高,能达到F5的60%,对内存和CPU资源消耗比较低
        2. 工作在网络4层,通过VRRP协议(仅作代理之用),具体的流量是由linux内核来处理,因此没有流量的产生。
        3. 稳定,可靠性高,自身有完美的热备方案(Keepalived+lvs)
        4. 不支持正则处理,不能做动静分离。
        5. 支持8种负载均衡算法:rr(轮询)、wrr(带权轮询)、lc(最小连接)、wlc(带权最小连接)、 lblc(基于局部性的最少连接调度算法)、lblcr(复杂的基于局部性最少的连接算法)、dh(目标地址散列调度算法 )、sh(源地址散列调度算法 )
        6. 配置相对复杂,对网络依赖比较大,稳定性很高。
        7. LVS工作模式有4种:
            (1) nat 地址转换
            (2) dr 直接路由
            (3) tun 隧道
            (4) full-nat 

    2、Nginx:

       1. 工作在网络7层,可以针对http应用做一些分流的策略,比如针对域名,目录结构
        2. Nginx对网络的依赖较小,理论上能ping通就能进行负载功能
        3. Nginx安装配置比较简单,测试起来很方便
        4. 也可以承担较高的负载压力且稳定,nginx是为解决c10k问题而诞生的
        5. 对后端服务器的健康检查,只支持通过端口来检测,不支持通过url来检测
        6. Nginx对请求的异步处理可以帮助节点服务器减轻负载压力
        7. Nginx仅能支持http、https和Email协议,这样就在适用范围较小。
        8. 不支持Session的直接保持,但能通过ip_hash来解决。对Big request header的支持不是很好。
        9. Nginx还能做Web服务器即Cache功能。

    第6点补充:
        什么是nginx的异步处理:
            squid同步处理:浏览器发起请求,而后请求会立刻被转到后端,于是在浏览器和后台之间就建立了一个通道。从请求发起直到请求完成,这条通道都是一直存在的。
            nginx异步处理:浏览器发起请求,请求不会立刻转到后端,而是请求数据(header)先收到nignx上,然后nginx再把这个请求发到后端,后端处理完成后把数据返回到nginx上,nginx将数据流发到浏览器。

        使用异步处理的好处:
            1. 假设用户执行一个上传文件操作,因为用户网速又比较慢,因此需要花半个小时才能把文件传到服务器。squid的同步代理在用户开始上传后就和后台建立了连接,半小时后文件上传结束,由此可见,后台服务器连接保持了半个小时;而nginx异步代理就是先将此文件收到nginx上,因此仅仅是nginx和用户保持了半小时连接,后台服务器在这半小时内没有为这个请求开启连接,半小时后用户上传结束,nginx才将上传内容发到后台,nginx和后台之间的带宽是很充裕的,所以只花了一秒钟就将请求发送到了后台,由此可见,后台服务器连接保持了一秒。同步传输花了后台服务器半个小时,异步传输只花一秒,可见优化 程度很大。
            2. 在上面这个例子中,假如后台服务器因为种种原因重启了,上传文件就自然中断了,这对用户来说是非常恼火的一件事情,想必各位也有上传文件传到一半被中断的 经历。用nginx代理之后,后台服务器的重启对用户上传的影响减少到了极点,而nginx是非常稳定的并不需要常去重启它,即使需要重启,利用kill -HUP就可以做到不间断重启nginx。
            3. 异步传输可以令负载均衡器更有保障,为什么这么说呢?在其它的均衡器(lvs/haproxy/apache等)里,每个请求都是只有一次机会的,假如用 户发起一个请求,结果该请求分到的后台服务器刚好挂掉了,那么这个请求就失败了;而nginx因为是异步的,所以这个请求可以重新发往下一个后台,下一个 后台返回了正常的数据,于是这个请求就能成功了。还是用用户上传文件这个例子,假如不但用了nginx代理,而且用了负载均衡,nginx把上传文件发往 其中一台后台,但这台服务器突然重启了,nginx收到错误后,会将这个上传文件发到另一台后台,于是用户就不用再花半小时上传一遍。
            4. 假如用户上传一个10GB大小的文件,而后台服务器没有考虑到这个情况,那么后台服务器岂不要崩溃了。用nginx就可以把这些东西都拦在nginx上,通过nginx的上传文件大小限制功能来限制,另外nginx性能非常有保障,就放心的让互联网上那些另类的用户和nginx对抗去吧。
            用异步传输会造成问题:
                后台服务器有提供上传进度的功能的话,用了nginx代理就无法取得进度,这个需要使用nginx的一个第三方模块来实现。

    第8点补充:
        Nginx upstream支持的分配策略及原理:
            1. 轮询(默认):每个请求按照顺序逐一分配到不同的后端服务器。如后端服务器down掉,就切换到另一台并剔除down的后端主机
            2. weight:指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
            3. ip_hash:每个请求按照访问ip的hash结果分配,不同ip的请求被分配到后端不同的服务器上,可以解决session的问题。

     

    3、HAProxy:

       1. 支持两种代理模式:TCP(四层)和HTTP(七层),支持虚拟主机;
        2. 能够补充Nginx的一些缺点比如Session的保持,Cookie的引导等工作
        3. 支持url检测后端的服务器出问题的检测会有很好的帮助。
        4. 更多的负载均衡策略比如:动态加权轮循(Dynamic Round Robin),加权源地址哈希(Weighted Source Hash),加权URL哈希和加权参数哈希(Weighted Parameter Hash)已经实现
        5. 单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度。
        6. HAProxy可以对Mysql进行负载均衡,对后端的DB节点进行检测和负载均衡。
        7. 支持负载均衡算法:Round-robin(轮循)、Weight-round-robin(带权轮循)、source(原地址保持)、RI(请求URL)、rdp-cookie(根据cookie)
        8. 不能做Web服务器即Cache。

    三大主流软件负载均衡器适用业务场景:
        1. 网站建设初期,可以选用Nginx、HAProxy作为反向代理负载均衡(流量不大时,可以不选用负载均衡),因为其配置简单,性能也能满足一般业务场景。如果考虑到负载均衡器是有单点问题,可以采用Nginx+Keepalived/HAproxy+Keepalived避免负载均衡器自身的单点问题。
        2. 网站并发到达一定程度后,为了提高稳定性和转发效率,可以使用lvs,毕竟lvs比Nginx/HAProxy要更稳定,转发效率也更高。
        注:nginx与HAProxy比较:nginx只支持七层,用户量最大,稳定性比较可靠。Haproxy支持四层和七层,支持更多的负载均衡算法,支持session等。

    衡量负载均衡器好坏的几个重要的因素:
        1. 会话率 :单位时间内的处理的请求数
        2. 会话并发能力:并发处理能力
        3. 数据率:处理数据能力

    4、 商业SLB:

     
    SLB(Server Load Balance)服务通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台云服务器(Elastic Compute Service,简称ECS)资源虚拟成一个高性能、高可用的应用服务池;再根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中。

    SLB服务会检查云服务器池中ECS的健康状态,自动隔离异常状态的ECS​​​​​​​,从而解决了单台ECS​​​​​​​的单点问题,同时提高了应用的整体服务能力。在标准的负载均衡功能之外,SLB服务还具备TCP与HTTP抗DDoS攻击的特性,增强了应用服务器的防护能力。
     
    SLB服务是ECS面向多机方案的一个配套服务,需要同ECS结合使用。

    SLB技术架构

    整个SLB系统由3部分构成:四层负载均衡,七层负载均衡 和 控制系统,如下图所示;

    • 四层负载均衡,采用开源软件LVS(linux virtual server),并根据云计算需求对其进行了定制化;该技术已经在阿里巴巴内部业务全面上线应用2年多详见第3节;
    • 七层负载均衡,采用开源软件Tengine;该技术已经在阿里巴巴内部业务全面上线应用3年多;参见第4节;
    • 控制系统,用于 配置和监控 负载均衡系统;

     

    LVS技术特点

    LVS是全球最流行的四层负载均衡开源软件,由章文嵩博士(当前阿里云产品技术负责人)在1998年5月创立,可以实现LINUX平台下的负载均衡。
     
    LVS是 基于linux netfilter框架实现(同iptables)的一个内核模块,名称为ipvs;其钩子函数分别HOOK在LOCAL_IN和FORWARD两个HOOK点,如下图所示;
     
     
    在云计算大规模网络环境下,官方LVS存在如下问题;

    • 问题1:LVS支持NAT/DR/TUNNEL三种转发模式,上述模式在多vlan网络环境下部署时,存在网络拓扑复杂,运维成本高的问题;
    • 问题2:和商用负载均衡设备(如,F5)相比,LVS缺少DDOS攻击防御功能;
    • 问题3:LVS采用PC服务器,常用keepalived软件的VRRP心跳协议进行主备部署,其性能无法扩展;
    • 问题4:LVS常用管理软件keepalived的配置和健康检查性能不足;

     

    为了解决上述问题,我们在官方LVS基础上进行了定制化;

    • 解决1:新增转发模式FULLNAT,实现LVS-RealServer间跨vlan通讯;
    • 解决2:新增synproxy等攻击TCP标志位DDOS攻击防御功能,;
    • 解决3:采用LVS集群部署方式;
    • 解决4:优化keepalived性能;

    注1:ali-LVS开源地址https://github.com/alibaba/LVS
     

    FULLNAT技术

    FULLNAT实现主要思想:引入local address(内网ip地址),cip-vip转换为lip->rip,而 lip和rip均为IDC内网ip,可以跨vlan通讯;
     
    IN/OUT的数据流全部经过LVS,为了保证带宽,采用万兆(10G)网卡;
     
    FULLNAT转发模式,当前仅支持TCP协议;
     

    SYNPROXY技术

    LVS针对TCP标志位DDOS攻击,采取如下策略;

    1. Synflood攻击,利用synproxy模块进行防御,如下图所示;实现主要思想:参照linux tcp协议栈中syncookies的思想,LVS代理TCP三次握手;代理过程:client发送syn包给LVS,LVS构造特殊seq的synack包给client,client回复ack给LVS,LVS验证ack包中ack_seq是否合法;如果合法,则LVS再和Realserver建立3次握手;
    2. Ack/fin/rstflood攻击,查找连接表,如果不存在,则直接丢弃;

     

    集群部署方式

    LVS集群部署方式实现的主要思想:LVS和上联交换机间运行OSPF协议,上联交换机通过ECMP等价路由,将数据流分发给LVS集群,LVS集群再转发给业务服务器;
     
    健壮性:lvs和交换机间运行ospf心跳,1个vip配置在集群的所有LVS上,当一台LVS down,交换机会自动发现并将其从ECMP等价路由中剔除;
     
    可扩展:如果当前LVS集群无法支撑某个vip的流量,LVS集群可以进行水平扩容;
     
    集群部署方式极大的保证了异常情况下,负载均衡服务的稳定性;
     

    keepalived优化

    对LVS管理软件keepalived进行了全面优化;

    1. 优化了网络异步模型,select改为epoll方式;
    2. 优化了reload过程;

    综上所述,四层负载均衡产品有如下特点;

    1. 高可用,LVS集群保证了冗余性,无单点;
    2. 安全,LVS自生攻击防御+云盾,提供了近实时防御能力;
    3. 健康检查:对后端ECS进行健康检查,自动屏蔽异常状态的ECS,待该ECS恢复正常后自动解除屏蔽;

    Tengine技术特点

    Tengine是阿里巴巴发起的web服务器项目,其在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性;Nginx是当前最流行的7层负载均衡开源软件之一;
     
    注:Tengine开源地址http://tengine.taobao.org/

    针对云计算场景,tengine定制的主要特性如下;

    1. 继承Nginx-1.4.6的所有特性,100%兼容Nginx的配置;
    2. 动态模块加载(DSO)支持。加入一个模块不再需要重新编译整个Tengine;
    3. 更加强大的负载均衡能力,包括一致性hash模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线;
    4. 监控系统的负载和资源占用从而对系统进行保护;
    5. 显示对运维人员更友好的出错信息,便于定位出错机器;
    6. 更强大的防攻击(访问速度限制)模块;

    采用Tengine作为SLB的基础模块,阿里七层负载均衡产品有如下特点;

    1. 高可用,Tengine集群保证了冗余性,无单点;
    2. 安全,多维度的CC攻击防御能力;;
    3. 健康检查,对后端ECS进行健康检查,自动屏蔽异常状态的ECS,待该ECS恢复正常后自动解除屏蔽;
    4. 支持7层会话保持功能;
    5. 支持一致性hash调度;

    技术展望

    SLB作为负载均衡设备,其最重要的指标是 稳定性,在进一步提高稳定性方面,主要工作有2点;

    1. 支持集群内部 session同步;
    2. 采用anycast技术实现同城双A;

    同时,在功能方面有更多支持;

    1. 白名单访问控制。从SLB层面实现访问控制,用户可以在SLB系统上配置白名单,便于用户灵活限定外部访问请求;
    2. 更多服务协议的支持。如:HTTPS、UDP等;
    展开全文
  • SLB的三种模式

    万次阅读 2015-03-06 09:59:23
    七层SLB和四层SLB的区别: 四层SLB:配置APV设备上服务类型为tcp/udp,APV设备将只解析到4层,APV与client三次握手之后就会和RS建立连接; 七层SLB:配置APV设备服务类型为http/ftp/https等,APV设备将解析报文...
  • https://blog.csdn.net/xia296/article/details/87969837
  • 原本系统是通过一个SLB转发到后端ECS上的nginx,由我们自己的Nginx再反向代理了各类服务器,毕竟使用了SLB了就打算去掉nginx。分拆后发现文件服务器的SLB映射好后报了上面的502错误。 负责阿里云申请的同学...
  • 阿里云弹性负载均衡SLB

    千次阅读 2017-07-13 14:02:18
    弹性负载均衡SLB概念负载均衡的目的:将计算任务分摊到后台多台较低配置的服务器处理,然后返回结果给客户端。硬件负载均衡存在的问题:硬件负载均衡价格昂贵;存在性能瓶颈,达到上限后需购买更多设备,硬件扩展性...
  • SLB技术原理浅析

    千次阅读 2014-08-05 15:02:15
    1 SLB功能介绍   SLB(Server Load Balance)服务通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台云服务器(Elastic Compute Service,简称ECS)资源虚拟成一个高性能、高可用的应用服务池;再根据...
  • vpc网络ecs(有公网public ip),外网slb vsftp服务 排查工具: wireshark、tcpdump 、FileZilla 首先简单介绍一下FTP的工作原理: FTP是仅基于TCP协议的服务,不支持UDP。与其他服务不同的第方,FTP传输数据需要
  • Nginx & LVS 阿里云SLB

    2020-12-01 14:55:49
    划重点:支持7层协议负载均衡,C语言 Why Nginx: 性能强大,配置简单,稳定,CPU内存消耗不大,跨平台, 另外淘宝基于Nginx衍生了Tengine,11年开源,这也是阿里云SLB 七层负载均衡的技术,不过tengine只是nginx...
  • 阿里云负载均衡SLB 详解

    万次阅读 多人点赞 2019-08-05 11:24:05
    SLB概念 负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(Elastic Compute Service,简称 ECS)的流量分发控制服务。 负载均衡服务通过设置虚拟服务地址,将位于同一地域的多台...
  • 本篇博客主要是验证SLB主备模式下如果主库服务宕机,数据库的写入查询请求是否可以自动转移至备库。如果可以,后面ECS自建高可用的方案就是使用SLB+MHA来实现主库高可用。 SLB阿里云官方介绍..
  • 摘要: 概述 阿里云的公网入口产品共有三个,SLB、EIP、NAT网关,这几个产品都可以作为云上资源的公网入口,他们之间有何区别,又分别应该在什么场景下使用呢? 点此查看原文:http://click.aliyun.com/m/41840/ ...
  • 昨天为大家讲解如何使用腾讯云的ELB做负载均衡,今天大数据狂神为大家带来一篇阿里云实战SLB做负载均衡的玩法。 如何使用ASCM平台         ASCM平台提供了云平台资源的...
  • 阿里云SLB最佳实践

    万次阅读 2018-09-01 12:58:05
    一、SLB概念 负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(Elastic Compute Service,简称 ECS)的流量分发控制服务。 负载均衡服务通过设置虚拟服务地址,将位于同一地域的...
  • 通过使用SLB可以有效的解决这个问题,数据库主从切换,应用可以很快速的连接上新的主库。架构图如下 实现思路: 当主数据挂了以后,MHA侦测到以后,调用脚本,将SLB的后端地址更改为从数据库 环境准备 MHA...
  • 阿里云SLB实现 MySQL HA

    2020-08-31 23:53:35
    (1)登录阿里云,选择负载均衡SLB,创建负载均衡实例,根据需求选择相应的配置。 (2)负载均衡实例创建好之后,会分配一个IP地址,HA服务的客户端通过这个IP地址连接后台服务。 (3)配置监听 在配置监听页面...
  • SLB 权重问题

    千次阅读 2016-06-22 15:56:46
    一般配置SLB的时候有个权重0到100,是如何选择数值的? 权重需要您根据后端机器的配置进行选择比如AB两台机器性能一致就分别设置50,这样请求就会在这两台机器上轮询,不同权重决定请求分发的分配。 slb中权重是...
  • 我们有的时候会遇到这样的情况,我们的 wordpress 的服务器是提供 http 服务的,我们现在需要在前面添加一个负载均衡,配置用户负载均衡之间使用 https 协议,负载均衡到 apache 之间使用 http 协议 二、问题 2.1...
  • { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::elb-account-id:root" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::bucket-name/prefix/...
  • 第一步:创建证书,证书内容私钥可以在阿里官网的控制台上获取 第二步:添加https监听服务,前端端口为443,后端端口为80,健康检查中检查端口为后端端口80, 选择已经创建好的证书; 第三步:在绑定的...
  • 起因:ingress 设置ip白名单之后,发现白名单里的ip 403拒绝,后续通过追踪ingress的日志发现 真实的ip 是slb的保留ip 也就是上层代理的ip。这样是无法获取到真实用户的ip的。 nginx里的解决方案: 使用X-Forwarded...
  • 近段时间在做项目的时候 ,项目上线遇到的一个问题,想要通过nginx做ip白名单,由于入口是阿里云的SLB做的负载,然后发现做的ip白名单无效,即allow:10.39.131.228不生效,于是查看nginx日志,看到的ip都是那么几个...
  • 十余年IT运维从业经历,早年在金融行业从事linux,AIX,Oracle的运维支持,现在专注于运维自动化、容器cloud native相关技术的研究落地。目前就职于新东方,负责新东方容器云平台的探索实践。 大家好!话说...
  • 独立的公网IP资源,可以绑定到阿里云专有网络VPC类型的ECS、NAT网关、私网负载均衡SLB上,并可以动态解绑,实现公网IPECS、NAT网关、SLB的解耦,满足灵活管理的要求。 我有几张阿里云幸运券分享给你,用券购买...
  • 视频链接:SLB七层访问日志功能PPT下载:请点这。以下是精彩内容整理: 一.什么是日志服务?具有哪些优势?日志服务是包括数据的实时采集、数据的实时消费、日志的实时查询分析以及数据投递功能这样一个日志处理系统...
  • 负载均衡器使用指定的端口、协议 ping 路径,每 隔 HealthCheckIntervalSeconds 指定的秒数向每个已注册目标发送一次运行状况检查请求。每个运行状况检 查请求都是独立的,并且在整个时间间隔内持续。目标响应所用...
  • 基础信息 nginx 的 upstream目前支持 4 种方式的分配 ... 指定轮询几率,weight访问比率成正比,用于后端服务器性能不均的情况。 2)、ip_hash  每个请求按访问ip的hash结果分配,这样每个访客固定访问一个...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 207
精华内容 82
关键字:

elb和slb