SLB负载均衡
SLB应用场景
SLB应用架构
SLB实战
SLB实验结果
ESS概念
ESS工作流程
ESS实战
SLB应用场景
在互联网中有很多的流量,当流量非常非常多的时候,仅仅只有一台或者两台服务器的时候肯定无法承受,相对应产生的技术即为slb负载均衡,阿里云业务流量分发。
用户通过internet访问我们的服务器,如果说我们的服务器存在多台的情况下,我们就可以在互联网与服务器之间搭建一个负载均衡器,这个负载均衡器可以实现互联网上大量的流量的分发让我们的服务器可以均衡的获得用户的流量,是我们的服务器可以完成用户的访问
SLB应用架构
这里有两组slb架构第一组架构对互联网上的流量进行分发,这个架构是非常普遍的
第二组架构在对外围服务器或者边缘服务器服务的时候也可以搭建一个slb,此处可以随意发挥随意组合
SLB应用实战
在做下面的步骤前先打开阿里云官网
https://www.aliyun.com
然后进行登录
几乎所有的操作都在控制台中
首先搭建一个slb的专有网络,然后再搭建一个安全组就是防火墙
点击控制台
控制台左上方有一个菜单点击菜单
接下来就可以开始创建vpc专有网络,创建专有网络是为了分割应用,就是区分搭建的不同的应用,其实可以直接理解把搭建的负载均衡看成一台服务器,给这台服务器一个IP地址
在菜单左侧就可以发现
外网上的用户防问进来,这时候就需要做安全措施,即安全组(防火墙)进入专有网络的流量需要经过安全组规则过滤才能够被转发到专有网络中特定的服务这里不着急先创建ECS主机,在创建ECS主机的时候网络和安全组是连带的
之前有说到slb是针对业务服务器进行负载并且进行业务分发的,在阿里云当中后端的服务器就是ECS主机,并且是两台且起码有两台,一台是没有意义的,slb的存在的意义就是负载均衡,如果只购买一台ECS主机,那负载均衡给谁?
点击菜单,点击云服务器ECS
点击创建实例
点击按量付费,因为是在实验
选择区域,这里实际上是跟你所在的区域决定的,如果我人再南京那就选择离南京近的地区,然后选择可用区,之前在创建专有网络的时候选择的是可用区A那么这里也选择可用区A
选择筛选条件,这里cpu和内存的推荐的是一比二,即2核cpu则选择4g内存,根据当前所需要的业务能力来选择
当你拥有多台服务器并组成了内网后,就需要考虑内网宽带和内网收发包,多花钱罢了有钱就是爹,并且需要考虑是否需要ipv6功能
这里我选择了共享计算型,七毛一小时(丁总报销)
选择使用的镜像
这里选择centos镜像,因为我们是运维人员(狗头)这里是存在鄙视链的,我们使用centos镜像的运维人员是看不起使用乌班图的大部分也是开发人员在使用,因为他有图形化界面,好操作,且对很多软件的支持很到位
选择版本
添加磁盘
这边给到系统盘40g,这次实验呢只需要添加系统盘即可,数据盘没必要了,数据盘可以直接理解为windows中的D盘E盘F盘
如果需要增加备份功能即选择即可花钱罢了,还是那句话有钱能享受到的服务就多
含泪充值
开始配置网络和安全组
这里选择之前创建的专有网络
配置公网ip,我们之前学的网络也能知道网络分为内网和外网,这里如果想要让用户访问到内网那么则必须要给他配置公网ip,系统会自动分配ip
这里有两种供选择,一个是流量一个是固定带宽,流量模式是按公网出方向的实际发生的网络流量进行收费,适用于业务场景对网络带宽需求变化较大的场景,如平时带宽使用较低但间歇性的出现网络访问高峰的场景;为了防止突然爆发的流量产生较高的费用,可以指定容许的最大网络带宽进行限制。后付费模式,按使用流量(单位为GB)计费,每小时扣费,但是你的账户里得随时保持有钱,不然就g。选择固定带宽后就不需要考虑这些,则不需要考虑有多少用户来访问,即固定带宽你的用户人群稳定。
这里峰值调成最小,得加钱
配置安全组
默认把下面的端口全部打开,我这里使用的是默认的,也可以创建安全组,点击右上创建安全组
这里给安全组起名字,网络选择之前创建的专有网络,资源组默认即可
规则的话这里一般是使用默认,除非你有特殊需求,这里的授权对象是0.0.0.0缺省网段,即所有网段,这里需要注意的是在搭建一套架构的情况下是无法避免搭建数据库的,这里的规则切记不能选择mysql端口允许所有人,那不然直接下一份工作了搞不好还要吃牢饭
然后点击创建安全组即可
点击确认订单后开始配置
系统设置
首先是登录凭证,这里可以选择密钥对方式和自定义密码设置是针对ECS主机的,当然可以创建密钥对,密钥对生成后只能下载一次,没保存或者忘了,那么直接就gg了
这里我选用自定义密码
按照要求的来设置完成后,实例名称可写可不写,其含义其实就是ecs主机能让用户看到的名称,如果有多台主机的话他会自动安排后缀名,即001,002以此类推。
最后一部分即分组设置,这里无需管他,不重要点点的事情。最后确认订单,最后配置结果如下:
点击管理控制台即可看到购买的ECS主机
当我们有了ECS主机后就可以创建SLB实例了通过SLB实例将两台ECS主机添加进去就可以实现两台主机的负载均衡
点击远程连接
点击左上角立即登录,输入密码
在这里需要创建一个测试页面则之间安装阿帕奇即可
yum -y install httpd
在这里我遇到了一个问题,我把此内容加进网页后,死活访问不了,防火墙关了,curl本地网站也能正常,权限chmod 777 index.html也做了,出来的结果都是403,这里出现的问题是在安全组那边,因为我使用的是默认安全组,没有允许其他用户访问80端口即http,所以死活都是403
解决方法:
直接点击主机点击安全组
点击配置规则
点击手动添加
将80端口加入即可
最后问题解决
在另一台主机也安装http服务
创建slb的实例并完成slb于ECS的对接
点击左上角菜单找到负载均衡
这里有三种负载均衡分别为ALB,NLB,CLB
ALB
工作在 proxy 模式的七层负载均衡,主要面向基于 HTTP 和 HTTPS 的 WEB 应用程序,其在请求级别运行,可以为应用层业务提供更加出色的服务。
NLB
有状态四层负载均衡,专注于提供四层有状态负载均衡服务,主要面向基于 TCP 的四层有状态业务,可提供高性能、低延时、会话保持等四层应用服务能力。
这里我们选择传统负载均衡
选择按量付费
选择地区,还是离那里近选择哪里
选择按量计费
点击立即购买
点击点我开始配置
选择http
监听端口填80
这里可以添加访问控制策略
点击创建访问孔子之策略组
按照上方提示添加即可
非常简单不需要配监听
点击默认服务器组
勾选两个ECS主机
权重越小得到的业务流量就越少,根据需求来配置即可
这里的健康检查的意思即在你后端的服务器在使用过程中g了一台,那么这个健康检查就会自动把g了的服务器踢出slb确保用户访问的网页都是正确的。
提交即可
配置完成
这边有一个slb的公网IP地址,用我们浏览器来访问这个网址,设置的两个网页是不同内容,所以可以展现实验结果
数据流向是用户到负载均衡器到内网
第一次
第二次
第三次
第四次
ESS概念
弹性伸缩ESS—根据用户的业务需求和策略,经济地自动调整弹性计算资源的管理服务。
特点
1.可以监控集群,随时自动替换不健康的实力,节省运维成本。1.
2.可以管理集群,在高峰期自动增加ECS实例,在业务回落时自动减少ECS实例,节省基础设施成本。
3.与SLB/RDS紧密集成,自动管理SLB后端服务器和RDS白名单,节省操作成本。——>随需应变,自动化,伸缩模式丰富、智能。
ESS使用场景
弹性扩张
当业务升级时,弹性伸缩为自动完成资源升级,避免访问延时和资源超负荷运行。
弹性收缩
当业务需求下降时,弹性伸缩为自动完成底层资原样政,避免资源浪费。
弹性自愈
弹性伸缩提供健康检查功能,自动监控伸缩组内的ECS实例的健康状态,避免伸缩组内健康ECS实例低于设置的最小值。
ESS的工作流程
创建伸缩组,伸缩配置,伸缩规则,伸缩触发任务,系统会自动执行以下流程。
在这里就出现了一个名词伸缩活动
伸缩活动的状态
拒绝 伸缩活动在请求阶段被拒绝,未执行扩张或收缩动作。
场景:
伸缩组的伸缩最大实例数为100
伸缩组内已有100台ECS实例
伸缩规则要求自动创建10台ECS实例
结果:伸缩活动未通过条件检验,被拒绝执行,无后续流程。伸缩活动结束后,伸缩组内实例数仍然为100。
执行中 伸缩活动通过条件检验,正在执行中。
弹性伸缩会根据伸缩最大实例数和伸缩最小实例数,自动调整需要扩张或收缩的ECS实例数量。
场景:
伸缩组的伸缩最大实例数为100
伸缩组内已有95台ECS实例
伸缩规则要求自动创建10台ECS实例
结果:伸缩活动通过条件检验,可以执行,但自动创建的ECS实例数量会调整为5台。伸缩活动结束后,伸缩组内实例数变为100。
成功 伸缩活动执行完成,所有目标ECS实例加入或移出了伸缩组。
场景:
伸缩组的伸缩最大实例数为100
伸缩组内已有90台ECS实例
伸缩规则要求自动创建10台ECS实例
结果:伸缩活动通过条件检验,可以执行。伸缩活动结束后,伸缩组内实例数变为100。
警告 伸缩活动执行完成,至少有一台目标ECS实例加入或移出了伸缩组,且至少有一台目标ECS实例未能加入或移出伸缩组。成功加入伸缩组表明ECS实例的创建、加入SLB实例后端服务器组、加入RDS访问白名单三个步骤都成功,任一步骤失败即认为该ECS实例加入伸缩组失败。ECS实例加入伸缩组失败时会触发回滚,详细信息请参见ECS实例回滚。
场景:
伸缩组已关联SLB实例,创建成功的ECS实例会自动加入后端服务器组
SLB实例的后端服务器配额为200
伸缩组的伸缩组伸缩最大实例数为300
伸缩组内已有199台ECS实例,且已加入SLB实例后端服务器组
伸缩规则要求自动创建5台ECS实例
结果:伸缩活动通过条件检验,可以执行,创建5台ECS实例。但由于SLB实例后端服务器的配额为200,4台ECS实例加入后端服务器组失败,导致加入伸缩组失败。伸缩活动结束后,伸缩组内实例数变为200。
失败 伸缩活动执行完成,所有目标ECS实例未能加入或移出伸缩组。
场景:
伸缩组所在地域中,伸缩配置中的实例规格已无库存
伸缩组的伸缩最大实例数为100
伸缩组内已有95台ECS实例
伸缩规则要求自动创建5台ECS实例
结果:伸缩活动通过条件检验,可以执行,但因库存不足创建失败。伸缩活动结束后,伸缩组内实例数仍然为95。
弹性伸缩的模式
定时模式
自定义自动伸缩发生的时间和频率,如每天13:O0增加ECS实例。译
动态模式
基于云监控性能指标(如CPU利用率),自动增加或减少ECS 实例。
固定数量模式
通过设置最小实例数(MinSize),即健康运行的ECS 实例最小数量,以保证可用性。
通过API调用您的自有监控系统,您可以执行手工伸缩。手工执行伸缩规则。
自定义模式
手工添加或移出既有的 ECS 实例。自定义MinSize、MaxSize,弹性仲缩会自动创建或释放ECS实例,将当前ECS实例数维持在MinSize与MaxsSize之间。
健康模式
如ECS 实例为非Running状态,弹性伸缩将自动移出或释放不健康的ECS 实例。
多模式并行
以上所有模式都可以组合配置。例如设置了每天13:00~ 14:00创建20个ECS实例以应对业务高峰,但实际需求有可能需要多于20个实例。则您可以选择其他伸缩模式,与定时模式配合一起使用。
弹性伸缩的配置
在配置过程中,如果你手动将一台ECS主机移除伸缩组中,ECS主机还会存在在后端服务器中,切记手动释放,其次如果在伸缩组中的ECS主机你手动释放了,系统不会认为该主机被释放了而是会认为该主机不健康所以还是需要手动在伸缩组中手动删除最好。
ESS实战
直接在搜索栏搜索弹性伸缩
点击立即使用
在这里需要注意的是,没使用过的用户第一次使用的收是需要开通的点击立即开通
开通好后在菜单栏中找到弹性伸缩并点击创建弹性伸缩
给伸缩组起名,伸缩组类型选择ECS,并且选择从0开始创建,选择先筛选最早创建的实例再从新创建的实例中移除
这里又是一个新概念,意思就是说可以选择将某个流程暂停,比如在扩容过程中,你不想让其扩容你可以选择将此流程取消,或者在缩容过程中你也可以选择暂停流程,这里是可以多选的,由此功能需要则可以选择。
此处的开启伸缩粗保护是需要关掉的,否则在实验过程中是删不掉实例的必须把此处关掉后才能删除。
这里表示最小两台实例最多四台,我之前只由一组实例,所以为了显示实验结果我这里选择了最小两台。少了则增加超过四台则缩减。
这里表示当缩减或扩容可有可无的情况下它会往期望实例数去做
这里不变
这里选择直接释放,停机回收的含义如上
选择之前所创建的专有网络
并且选择之前所创建的交换机
没有创建即可
配合负载均衡
然后点击确定即可
点击创建伸缩配置
点击按照使用量,点击共享型,我这就怎么便宜怎么来了选择一核的主机
这里可以多选,哪个优先则选择哪个
选择镜像
公网ip不需要直接通过负载均衡的去访问
安全组也不需要了因为正常情况下不回去访问
条件有限