精华内容
下载资源
问答
  • 弹性伸缩

    2019-05-06 14:39:00
    第一章弹性伸缩产品介绍 第一讲 弹性伸缩特点 场景 产品介绍 产品特点1 第二讲 弹性伸缩产品概念综述 产品主要功能 弹性伸缩术语 用户使用流程 各产品概念之间的关系 弹性...

     

    第一章弹性伸缩产品介绍

    第一讲 弹性伸缩特点

    场景

    产品介绍

    产品特点1

     

    第二讲 弹性伸缩产品概念综述

    产品主要功能

     

     弹性伸缩术语

     

     用户使用流程

    各产品概念之间的关系

     

     弹性伸缩产品使用规则

     

     

     

    第二章 ess产品快速入门

    第一讲 控制台创建伸缩方案

     

     

    第二讲 控制台创建伸缩方案

    创建定时任务

     

     

     

     第三章 弹性伸缩的使用

    创建伸缩组

     

     

     第二讲伸缩配置操作

     查询伸缩配置

     

    转载于:https://www.cnblogs.com/hellowq/p/10819502.html

    展开全文
  • 弹性伸缩Auto Scaling

    2021-06-06 07:44:30
    弹性伸缩Auto Scaling 使用弹性伸缩(Auto Scaling),您可以根据业务需求和策略设置伸缩规则,在业务需求增长时自动为您增加ECS实例以保证计算能力,在业务需求下降时自动减少ECS实例以节约成本。弹性伸缩不仅适合...

    弹性伸缩Auto Scaling

    使用弹性伸缩(Auto Scaling),您可以根据业务需求和策略设置伸缩规则,在业务需求增长时自动为您增加ECS实例以保证计算能力,在业务需求下降时自动减少ECS实例以节约成本。弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序。
    弹性伸缩效果示例
    您需要提前设置触发弹性伸缩的条件。下图中,监控项为伸缩组内ECS实例的vCPU使用率平均值,并假设触发弹性扩张的阈值为80%,触发弹性收缩的阈值为30%。
    在这里插入图片描述
    弹性扩张
    当您的业务升级时,弹性伸缩为您自动完成底层资源升级,避免访问延时和资源超负荷运行。

    您可以配置云监控实时关注您的ECS实例使用情况。例如,当云监控检测到伸缩组内的ECS实例vCPU使用率突破80%时,弹性伸缩根据您配置的伸缩规则弹性扩张ECS资源,自动创建合适数量的ECS实例,并自动添加ECS实例到负载均衡实例的后端服务器和RDS实例的访问白名单中。

    弹性扩张时,弹性伸缩使用伸缩组的组内实例配置信息自动创建ECS实例,实例配置信息支持实例的规格、操作系统、用户自定义数据等。您可以登录ECS管理控制台启动、停止已创建的ECS实例,也可以远程登录ECS实例修改系统配置。
    在这里插入图片描述
    弹性收缩
    当您的业务需求下降时,弹性伸缩为您自动完成底层资源释放,避免资源浪费。

    您可以配置云监控实时关注您的ECS实例使用情况。例如,当云监控检测到伸缩组内的ECS实例vCPU使用率低于30%时,弹性伸缩根据您配置的伸缩规则弹性收缩ECS资源,自动释放合适数量的ECS实例,并自动从负载均衡实例的后端服务器和RDS实例的访问白名单中移除ECS实例。
    在这里插入图片描述
    弹性自愈
    弹性伸缩提供健康检查功能,自动监控伸缩组内的ECS实例的健康状态,避免伸缩组内健康ECS实例低于您设置的最小值。

    当检测到某台ECS实例处于不健康状态时。弹性伸缩自动释放不健康ECS实例并创建新的ECS实例,自动添加新ECS实例到负载均衡实例的后端服务器和RDS实例的访问白名单中。
    在这里插入图片描述

    工作流程

    在这里插入图片描述
    创建好伸缩组、伸缩配置、伸缩规则、伸缩触发任务后,
    1.系统会自动化执行以下流程(以增加 ECS 实例为例):
    伸缩触发任务会按照各自触发生效的条件来触发伸缩活动。
    a.云监控任务会实时监控伸缩组内 ECS 实例的性能,并根据用户配置的报警规则(如伸缩组内所有 ECS 实例的 CPU 平均值大于 60%)触发执行伸缩规则请求。
    b.定时任务会根据用户配置的时间来触发执行伸缩规则请求。
    c.您可以根据自己的监控系统及相应的报警规则(如在线人数、作业队列)来触发执行伸缩规则请求。
    d.健康检查任务会定期检查伸缩组和 ECS 实例的健康情况,如发现有不健康的 ECS 实例(如 ECS 为非 Running 状态)会触发执行 移出该 ECS 实例 的请求。
    2.系统自动通过 ExecuteScalingRule 接口触发伸缩活动,并在该接口中指定需要执行的伸缩规则的阿里云资源唯一标识符(Ari)。
    如果是用户自定义的任务,则需要用户在自己的程序中调用 ExecuteScalingRule 接口来实现。

    3.根据步骤 2 传入的伸缩规则 Ari(Rule Ari)获取伸缩规则、伸缩组、伸缩配置的相关信息,并创建伸缩活动。
    a.通过伸缩规则 Ari 查询伸缩规则以及相应的伸缩组信息,计算出需要增加的 ECS 实例数量,并获得需要配置的负载均衡和 RDS 信息。
    b.通过伸缩组查询到相应的伸缩配置信息,即获得了需要创建的ECS实例的配置信息(CPU、内存、带宽等)。
    c.根据需要增加的 ECS 实例数量、ECS 实例配置信息、需要配置的负载均衡实例和 RDS 实例创建伸缩活动。
    4.在伸缩活动中,自动创建 ECS 实例并配置负载均衡和 RDS。
    a.按照实例配置信息创建指定数量的 ECS 实例。
    b.将创建好的 ECS 实例的内网 IP 添加到指定的 RDS 实例的访问白名单当中,将创建好的 ECS 实例添加到指定的负载均衡实例当中。
    5.伸缩活动完成后,启动伸缩组的冷却功能。待冷却时间完成后,该伸缩组才能接收新的执行伸缩规则请求。

    阿里云官方文档

    展开全文
  • 弹性伸缩AS

    2021-04-25 15:03:38
    了解弹性伸缩服务的概念,应用场景 掌握弹性伸缩(Auto Scaling)的功能,组成 掌握弹性伸缩(Auto Scaling)的基本操作 目录 AS的概念 弹性伸缩AS的概念 AS适合的场景 AS使用的功能限制 AS的配置 AS使用流程 ...

    1.弹性伸缩AS的概念

    为什么需要AS

    当一台服务器不能满足业务需求的时候,我们可以用多台服务器搭配SLB负载均衡来实现共同访问,对外提供服务。当服务器太多的时候,我们可以减少服务器数量来节省成本。可是呢,这样就带来几个问题:

    • 增减/减少后端服务器需要手动管理完成
    • 还需要实时关注业务状态或者预测业务需求量来决定什么时候增加/减少服务器,这都是增加了很多工作负担,而且这个预测业务需求访问量不一定准确

    为了解决这个问题,就有了AS弹性伸缩(Auto Scaling)

    弹性伸缩AS(Auto Scaling)的概念

    AS可以根据业务需求和策略来设置伸缩规则,自动调整后端服务器ECS的数量,在业务需求增长时自动增加ECS实例以保证计算能力,在业务需求下降时自动减少ECS实例以节约成本。不用用户手动管理后端服务器的数量,不用用户预判业务需求访问量来管理(增减/减少)后端服务器数量。AS调整后端服务器数量的依据规则有多种。

    1. 云监控服务器的状态:监控主机CPU使用情况等,如果伸缩组内ECS实例vCPU使用率平均值>80%,尝试添加ECS实例;如果伸缩组内ECS实例vCPU使用率平均值<30%,尝试移除ECS实例
    2. 定时:几点调整。后面会详细介绍

    弹性伸缩AS效果示例

    使用弹性伸缩需要提前设置触发弹性伸缩的条件。下图中,监控项为伸缩组内ECS实例的vCPU使用率平均值,并假设触发弹性扩展的阈值是80%,触发弹性收缩的阈值为30%。

    AS适合的场景

    AS对业务量不断波动的应用程序和业务量稳定的应用程序都适用,使用场景主要分为:弹性扩展,弹性收缩和弹性自愈

    1. 弹性扩张:当业务升级时,弹性伸缩会自动完成底层资源(ECS)升级,避免访问延迟和资源超负荷运行
    2. 弹性收缩:当业务需求下降时,弹性伸缩会自动完成底层资源(ECS)释放,避免造成资源浪费
    3. 弹性自愈:对业务量稳定的应用程序,可以用到弹性自愈:弹性伸缩提供健康检查功能,自动监控伸缩组内的ECS实例的健康状态,避免伸缩组内健康ECS实例低于设置的最小值

    AS的伸缩模式--AS如何实现伸缩

    弹性伸缩模式是指当我们使用弹性伸缩时,应该如何弹性伸缩。弹性伸缩模式包括以下几种:

    1. 定时模式:自定义自动伸缩发生的时间和频率,如每天13:00 增加ECS实例
    2. 动态模式:基于云监控性能指标如CPU利用率,自动增加或减少ECS实例
    3. 固定数量模式:通过设置最小实例数MinSize,即健康运行的ECS实例最小数量,以保证可用性
    4. 自定义模式:通过API调用自有监控系统,可以执行手动伸缩。
      1. 手工执行伸缩规则
      2. 手工添加或移除既有的ECS实例
      3. 自定义MinSize,MaxSize,弹性伸缩会自动创建或释放ECS实例,将当前ECS实例数量维持在MinSize与MaxSize之间
    5. 健康模式:如ECS实例为非Running状态,弹性伸缩将自动移除或释放不健康的ECS实例
    6. 多模式并行:以上所有模式都可以组合配置。

    每种模式分别适用于哪些场景?

    弹性伸缩AS的优势

    • 随需应变:根据需求恰到好处地分配资源
    • 自动化:无需人工干预,自动创建和释放ECS实例
    • 智能:智能调度云计算资源
    • 伸缩模式丰富:多模式兼容,可以同时配置多种模式

    2.弹性伸缩AS的组件

    AS的组件

    • 伸缩组:伸缩组是具有相同应用场景的ECS实例的集合。伸缩组定义了组内ECS实例数的最大值,最小值及其相关联的负载均衡实例和RDS实例等属性。伸缩组内最少最多可以有多少台ECS实例。
    • 伸缩配置:伸缩配置定义了用于弹性伸缩的ECS实例的配置信息,是伸缩组自动创建ECS实例时的模板,确定付费模式,实例,镜像(自定义镜像/共享镜像),公网IP,安全组,登陆凭证,伸缩配置名称等。
    • 伸缩规则:定义了具体的扩展或收缩操作,例如加入或移除N个ECS实例,增加还是减少。可以手动执行或者自动触发(按任务执行)
    • 伸缩活动:伸缩规则成功触发后,就会产生一条伸缩活动。伸缩活动主要用来描述伸缩组内ECS实例的变化情况
    • 伸缩触发任务:用于触发伸缩规则的任务,如定时任务,云监控的报警任务。
    • 冷却时间:在同一伸缩组内,一个伸缩活动执行完后的一段锁定时间。在这段锁定时间内,该伸缩组不执行其他的伸缩活动

    伸缩组包括伸缩配置,伸缩规则,伸缩互动。伸缩配置,伸缩规则,伸缩活动依赖伸缩组的生命周期管理,删除伸缩组的同时会删除与伸缩组相关联的伸缩配置,伸缩规则和伸缩活动。

    伸缩触发任务有定时任务,云监控报警任务等类型。伸缩触发任务不依赖于伸缩组

    1. 定时任务独立于伸缩组存在,不依赖于伸缩组的生命周期管理,删除伸缩组不会删除定时任务。
    2. 云监控报警任务独立于伸缩组存在,不依赖伸缩组的生命周期管理,删除伸缩组不会删除报警任务。

    生命周期挂钩

    生命周期挂钩是指:在伸缩组进行伸缩活动时,正在加入或正在移出伸缩组的实例将被挂钩挂起并置于等待状态。生命周期挂钩近在自动创建或移出ECS实例时生效手动添加或移出ECS实例时不受影响

    ECS被挂钩就是说ECS的生命周期来伸缩组的生命周期保持一致。在实例保持等待状态的时间内,当前伸缩组将具有以下特性:

    • 伸缩组不再运行其他的伸缩互动
    • 保留指定时长的操作时间,即挂钩的超时时间,可以在挂起期间执行自定义操作,例如,初始ECS实例配置或者获取ECS实例数据
    • 可以删除生命周期挂钩来恢复执行伸缩活动
    • 可以调用相关API来结束生命周期活动或者删除生命周期挂钩

    3.弹性伸缩AS的配置流程

    AS的配置步骤

    使用弹性伸缩AS,首先需要开通AS服务,然后按照以下步骤来使用弹性伸缩AS:创建伸缩组,创建伸缩配置,启用伸缩组,创建伸缩规则,创建定时任务,创建报警任务

    1.创建伸缩组

    创建伸缩组和伸缩配置是实现自动伸缩的第一步,伸缩组是具有相同应用场景的ECS实例的集合伸缩配置是伸缩组自动创建ECS实例时的模板,启动伸缩组必须给伸缩组添加伸缩配置,因为伸缩组需要根据伸缩配置(自定义镜像)来创建ECS。伸缩组的配置项如下

    • 伸缩组内实例模板的来源
      • 如果从0开始创建伸缩组,伸缩组创建完成后没有可用的伸缩配置来源,必须继续创建伸缩配置
      • 通过已有的ECS实例创建
      • 通过启动模板创建
    • 伸缩组基本信息
      • 伸缩组名称
      • 组内最大实例数
      • 最内最小实例数
    • 组内实例扩缩容配置的网络类型:创建伸缩配置时选择的实例规格的网络类型

    2.创建伸缩配置

    伸缩配置是伸缩组自动创建ECS实例时的模板,确定付费模式,实例,镜像(自定义镜像/共享镜像),公网IP,安全组,登陆凭证,伸缩配置名称等。

    • 付费模式:只能按量付费和抢占式实例,没有包年包月。弹性伸缩服务免费,但是加速伸缩组的ECS实例需要按云服务器ECS的定价支付费用
    • ECS实例规格
    • 镜像:自定义镜像或者共享镜像,实例启动后,系统盘将完整复制镜像的操作系统和应用数据
    • 公网IPv4,可选
    • 伸缩配置名称

    3.启用伸缩组

    启动伸缩组必须给伸缩组添加伸缩配置,因为伸缩组需要根据伸缩配置(包括自定义镜像的配置)来创建ECS

    4.创建伸缩规则

    伸缩规则是指增加还是减少ECS,可以手动执行或者自动触发(按任务执行)

    5.自动触发任务---定时任务

    自动触发任务可以自动执行伸缩规则

     6.自动触发任务---报警任务

    报警任务是按照监控的条件比如CPU使用率等 触发执行伸缩规则

    弹性伸缩AS的工作流程

    弹性伸缩AS的工作流程反应了AS怎么来增加或减少ECS实例的过程。创建好伸缩组,伸缩配置,伸缩规则,伸缩触发任务后,异常系统会自动化自行以下流程

    1. 伸缩触发任务会按照各自触发生效的条件来触发伸缩活动:伸缩触发任务包括 定时任务,自定义任务,健康检查任务和云监控任务
    2. 找到这个触发任务绑定的伸缩规则:系统自动通过ExecuteScalingRule接口触发伸缩活动,并在该接口中指定需要执行的伸缩规则的阿里云资源唯一标识符(Ari)
    3. 根据伸缩规则创建伸缩活动:根据步骤2传入的伸缩规则Ari(Rule Ari)获取伸缩规则,伸缩组,伸缩配置的相关信息,并创建伸缩活动
    4. 创建/移除ECS:在伸缩活动中,自动创建ECS实例并配置负载均衡和RDS
    5. 冷却:伸缩活动完成后,启动伸缩组的冷却功能。待冷却时间完成后,该伸缩组才能接收新的执行伸缩规则的请求。
      1. 频繁的触发伸缩活动会导致业务不稳定
      2. 冷却就是,当一个伸缩活动完成后,在冷却期内,不再自动触发下一次伸缩活动。
      3. 冷却期不限制手动触发

    弹性伸缩的报警任务

    弹性伸缩AS报警任务是弹性伸缩与云监控CMS深度合作,提供的一种动态管理伸缩组的方式,类似于弹性伸缩定时任务,弹性伸缩报警任务通过触发您指定的伸缩规则来执行伸缩活动,达到调整伸缩组内实例个数的目的。

    • 定时任务:在指定的时间执行指定的伸缩规则,当业务场景在时间上可预料时,能够提前做出响应,但是,在面对突发后者时间上不可预料的业务场景时,定时任务就显得捉襟见肘。
    • 报警任务:报警任务通过监控特定的监控指标,对数据指标进行实时的统计,当统计值满足您指定的报警条件时,触发报警任务,执行指定的伸缩规则。

    报警任务的创建流程

    报警任务包括系统监控项报警任务和自定义监控项报警任务。创建报警任务的流程如下:登录弹性伸缩控制台,单击自动触发任务管理->报警任务,单击创建报警任务,配置各项信息,完成

    4.弹性伸缩AS的计费和使用限制

    弹性伸缩AS的计费

    可以免费开通弹性伸缩服务。但是,如果弹性伸缩服务根据伸缩配置自动创建了ECS实例,或者手动添加了已有ECS实例,就需要为ECS实例支付费用。自动创建的ECS实例付费方式包括按量付费和抢占式实例:

    • 按量付费:按量付费是一种先使用后付费方式。使用这种方式,用户可以按需取用资源,随时开启和释放资源,无需提前购买大量资源
    • 抢占式实例:需要指定出价模式,当指定的实例规格当前市场价格低于出价时,就能成功创建抢占式实例,并按当前市场价格计费。抢占式实例创建成功后,操作与按量付费实例相同。
    • 弹性伸缩中没有包年包月!!!

    弹性伸缩AS的使用限制

    1. 部署在伸缩组内的ECS实例上应用必须是无状态并且可横向扩展的应用
      • 无状态:一次性的,数据发送完了就完事了。有10个窗口,找任意一个窗口都可以
      • 有状态:频繁交换一些数据,比如我在一个窗口办了一个业务,办了一半,想回去接着办。
    2. 伸缩组内ECS实例可能会被释放,因此不适合保存应用状态信息和相关数据等,比如会话记录,应用数据,日志等信息
    3. 弹性伸缩不支持自动将ECS实例添加到Memcache实例的访问白名单,需要自行添加。如果AS+SLB/RDS,那么新加的ECS实例会自动加入SLB/RDS,但是Memcache不行
    4. AS只能调整服务器的数量:无法纵向扩展,纵向扩展是指自动提升或降低ECS实例服务器的vCPU,内存,带宽等配置;弹性伸缩只能支持横向扩展,比如增加ECS服务器的数量。
    5. 能创建的伸缩组,伸缩配置,伸缩规则等有一定限制
    6. AS本身没有负载均衡的能力,AS只能调整ECS的数量。AS+SLB才能实现自动调整ECS服务器数量和负载均衡
    7. AS创建的ECS服务器需要使用自定义镜像,默认创建的ECS是空白的,不能提供用户需要的业务需求;用户在某台ECS上配置好业务服务,根据这台ECS创建自定义镜像,把这个镜像提供给AS创建ECS使用

    总结

    目标-ACA

    1. 了解弹性伸缩AS的概念
    2. 理解AS的使用场景

    目标-ACP

    1. 了解弹性伸缩服务的概念,应用场景
    2. 掌握弹性伸缩(Auto Scaling)的功能,组成
    3. 掌握弹性伸缩(Auto Scaling)的基本操作

    总结-ACP

    1. 弹性伸缩的概念
    2. AS中的组件概念
    3. 弹性伸缩的配置流程
    4. 弹性伸缩的使用限制

    思考题-ACP

    1. 弹性伸缩中生命周期挂钩有什么作用?适用于何种场合?生命周期挂钩在实例保持等待的时间内,当前生命周期不再执行任何其他的收缩活动,可以保留指定时长的操作时间,可以手动删除生命周期挂钩等
    2. 如果ECS无法满足众多数量用户访问,弹性伸缩AS能否解决用户访问体验差的问题?会存在什么问题?答:弹性伸缩比较适合用户访问量有波动的情况,并且需要结合SLB才能解决这种情况下用户访问体验差的问题。如果用户访问量一直都很大,还是要用SLB才能解决问题。
    展开全文
  • 弹性伸缩是云计算的关键特征,它可以根据应用程序工作负载及时扩展计算资源以实现在高并发请求下应用的负载均衡.基于容器的微服务更应具有弹性伸缩功能从而在不同的工作负载条件下稳定运行.目前广泛使用的容器编排...
  • 弹性伸缩AS.pptx

    2020-04-22 15:18:22
    弹性伸缩AS的概念,使用场景。阿里云AS工作流程,阿里云AS计算等。 ppt内容是截图的,不支持修改内容,仅作知识学习用。
  • 阿里云弹性伸缩使用指南入门手册,弹性伸缩用户指南,阿里云弹性伸缩服务
  • 阿里云 ACP云计算 ECS弹性伸缩服务入门指南 资料学习
  • 设计弹性伸缩架构

    2020-08-17 18:27:50
    Hello大家好,欢迎来到《AWS解决方案架构师认证 Professional(SAP)中文视频培训课程》,我们今天的课程内容为设计弹性伸缩架构,我们开始今天的课程内容。 在我们讨论弹性伸缩内容之前,我们先讨论下与之相关的知识...
    关注公众号:AWS爱好者(iloveaws)
    文 | 沉默恶魔(禁止转载,转载请先经过作者同意)
    网站:www.iloveaws.cn
    

    Hello大家好,欢迎来到《AWS解决方案架构师认证 Professional(SAP)中文视频培训课程》,我们今天的课程内容为设计弹性伸缩架构,我们开始今天的课程内容。

    在这里插入图片描述

    在我们讨论弹性伸缩内容之前,我们先讨论下与之相关的知识点—什么是垂直扩展和水平扩展。

    垂直扩展和水平扩展

    垂直扩展是指提升单个节点的自身的处理能力,比如通过升级节点的CPU,内存等硬件,这种通过升级原有的服务器或将其更换为更强大的硬件来提升单个节点的处理能力称为垂直扩展;比如对应AWS,就是通过改变或提升实例的类型和大小使其有更强的计算等能力,比如当工作负载增加时,将处理负载的实例从m5.large升级为m5.24xlarge, 这就是垂直扩展。需要注意垂直扩展是有上限的,上限取决于AWS提供的最大实例的大小。

    那什么是水平扩展呢?

    水平扩展指的是通过增加更多的节点来分散处理工作负载,从而实现节点计算等能力的扩展。对应AWS举例,比如我们之前处理某个工作负载使用了一台m5.large,当这个工作负载增加后,我们不是像垂直扩展去升级硬件,而是通过增加多台m5.large实例处理工作负载的方式就是水平扩展。 当然,水平扩展对您的应用的架构设计是有要求的。另外水平扩展理论上是可以无限扩展的,除非将AWS的所有实例都用完了。可以通过不断的添加实例,分散工作负载从而提高处理能力。

    那么问题来了,能不能将水平扩展自动化执行呢?当工作负载高的时候自动进行架构的水平扩展,通过添加更多的实例加快处理工作负载;而当工作负载恢复正常水平时在自动进行缩减实例数量以节省成本呢?当然是可以的,这就是我们接下来要讨论的弹性伸缩的内容。
    在这里插入图片描述

    设计使系统的容量可以弹性伸缩

    我们先看一个案例,某公司开发了一款线上办公系统并已对外提供服务,左图是这套系统一周中每一天所使用的计算容量。
    通过图中可以看到,因为是办公系统,周六和周日大部分公司放假访问量不高,所以使用的计算容量很低;周二和周三访问量最高,大概比周末高出6,7倍。

    按照传统做法,可通过两种方式为线上办公系统这些容量变化做好规划。第一种是添加足够多的服务器,以便线上办公系统始终具有足够的容量来满足需求。周三系统的访问量最高,就按照周三的最大容量准备服务器,如果周三的访问量需要10台服务器提供服务,就会部署10台服务器。但是,这种做法的缺点是线上办公系统在某些天并不需要这么多容量。比如周末可能只需要1,2台服务器就可以满足系统需求。剩下的额外容量闲置不用,实际上提高了系统运行的成本。

    第二种做法是只准备线上办公系统平均需求所需的容量。比如就准备6台服务器,可以满足一周中的4天的计算容量需求。这种做法成本更低,因为不用购买仅仅偶尔使用到的服务器。然而,这样做的风险是:当对系统的需求超过其可用容量时,比如尤其是周二和周三,可能造成糟糕的客户体验。

    前面的两种方式都不是太理想,要么会浪费资源提高运行的成本;要么就是某些高峰时间点可能会给用户造成糟糕的用户体验。

    那有没有更好的做法呢?答案是肯定的,通过设计使我们系统的容量可以弹性伸缩。对应AWS EC2,通过使用 Amazon EC2 Auto Scaling,可以仅在需要时才向应用程序添加新实例,并在不再需要这些实例时终止它们,因此只需在使用时为使用的实例付费。

    比如对应我们这个案例,通过对Auto Scaling的配置,周三的时候办公系统访问量较大,Auto Scaling就会自动增加新的实例处理负载;而周四的时候系统访问量比周三少了一半,Auto Scaling会自动终止一些实例只保留满足系统需要的实例数量。这样的话我们就有了一个具有成本效益的架构,可在尽量减少支出的同时提供最佳客户体验。

    在这里插入图片描述

    EC2 Auto Scaling可根据业务需求和策略设置扩展选项,比如配置扩展策略在业务需求增长时自动为您增加实例以保证计算能力,在业务需求下降时自动减少实例数量以节约成本。

    在认证考试中,经常会有一些题干描述的场景为应用系统 一周中不同天 或者 一天的不同时间段 业务量会有波动,有访问量波峰也有波谷,如一天的不同时间段,晚上高峰时间段的业务量可能最高,然后凌晨之后业务量可能会减少,问如何设计能够满足业务波峰时的容量并兼顾成本效益,这个时候就要注意很可能是Auto Scaling相关的考点。

    当然Auto Scaling不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序,这一点我们后面会讨论。

    AWS爱好者网站的弹性伸缩

    我们在看一个案例,AWS爱好者网站,里面有很棒的AWS视频课程和文章,很多同学和职场精英白天上完班,晚上下班回家吃了饭后,都会访问AWS爱好者网站来充电,提升个人的职场竞争力。网站的访问量在白天大家都上班的时候不是特别高,基本上1台实例就够了,CPU使用率大概20%左右;而到了晚上19点,大家都来网站看视频课程,这台实例可能CPU会突增到80%多的使用率,甚至有的时候CPU使用率会到100%,就会导致我的网站访问异常,造成不好的用户体验。(当然我们假设网站的带宽等其他指标都没问题,瓶颈是以为CPU使用率过高造成的)。

    我们现在假设要通过EC2 Auto Scaling,实现弹性伸缩,白天运行一个实例提供服务,在晚高峰时,运行3个实例提供服务。

    可以通过EC2 Auto Scaling,配置扩展策略,然后通过定义Auto Scaling组平均 CPU 使用率指标实现弹性伸缩。

    我们可以定义规则,当Auto Scaling 组的平均 CPU 使用率大于70%时,新启动两台实例处理网站负载;然后在配置一个规则当Auto Scaling 组的平均 CPU 使用率小于25%时,终止2个实例。

    这样的话,在白天网站访问量不是很高的时候,只会有1台实例提供网站服务,而到晚上19点后访问量上去后,当CPU使用率大于70%时,Auto Scaling会启动两台新实例处理网站负载,加上之前的1台实例,一共3台实例提供网站服务;而当22点之后,访问量下去之后,如果平均CPU使用率小于25%,Auto Scaling就会终止2台实例,继续保持最小容量1台实例运行。

    这样的话,我们通过Auto Scaling服务,在网站访问量高的时候一共3台实例处理负载,提升了网站用户的体验;当访问量降低时,只保留1台实例处理负载,节省了成本。

    在这里插入图片描述

    弹性伸缩配置

    我已经创建好了Auto Scaling组,as-test-group为我们已经创建的Auto Scaling组。

    我将组的最小容量配置为1,最大容量配置为3 。

    最小容量是指确保始终运行一定数量的实例,按照前面我们的案例,我设置的是1就代表无论怎么缩减这个Auto Scaling组始终会保持最少运行1台实例对外提供服务。如果设置为5呢?就代表始终会保持最少运行5台实例。

    最大容量是指最大限制允许 Auto Scaling 根据需要向外扩展实例数,以满足增长需求。我们设置的是3,就代表这个Auto Scaling组最多可扩展为3个实例。

    然后参照前面我网站的案例,我为这个Auto Scaling组配置了扩展策略,策略的内容当Auto Scaling组的平均 CPU 使用率 大于等于 70%时添加2台实例;当Auto Scaling组的平均 CPU 使用率 小于 25% 删除2台实例。

    这个平均 CPU 使用率 大于等于 70%以及小于25%实际上是通过我在cloudwatch中配置的警报,然后将cloudwatch警报与当Auto Scaling组相关联,这样当 CloudWatch 警报处于 ALARM 状态时,Auto Scaling组就会执行相应的添加和删除实例的动作。
    在这里插入图片描述

    我们到cloudwatch控制台看下。

    我们在前面Auto Scaling组关联的两个警报实际上是在cloudwatch这里定义的,可以看到警报的条件, CPU 使用率 大于等于 70%以及小于等于25%,然后配置Auto Scaling组将其相关联,当对应 CloudWatch 警报处于 ALARM 状态时,Auto Scaling组就会执行相应的添加和删除实例的动作。

    关于Auto Scaling的具体配置我们会在后面的课程详细讨论和实操演示,所以学友们先做了解,后面的课程我们会介绍Auto Scaling的重要知识点,对创建和配置Auto Scaling做实操的演示。

    好,以上就是我们今天的课程内容。

    在这里插入图片描述

    希望此系列教程能为您通过 AWS解决方案架构师认证 Professional 认证考试带来帮助,如您有任何疑问

    关注公众号:AWS爱好者(iloveaws)
    文 | 沉默恶魔(禁止转载,转载请先经过作者同意)
    网站:www.iloveaws.cn
    
    展开全文
  • 2014年11月WOT全球软件技术峰会课件(深圳站)-弹性伸缩服务介绍
  • 主要为大家详细介绍了CSS3弹性伸缩布局之box布局,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 弹性伸缩的使用;ESS概要介绍;弹性伸缩概要介绍;主要功能及其特点;业务峰值如何高效应对业务运维自动化如何实现 ;阿里云弹性伸缩应运而生;弹性伸缩产品介绍;弹性伸缩产品主要功能;自动伸缩与手工方式对比;弹性伸缩...
  • 结合大家CICD的应用场景,本篇Blog旨在介绍如何通过Rancher的webhook微服务来实现Service/Host的弹性伸缩。ServiceScale创建example服务对象。创建servicescalewebhook对象。第三方触发webhook,完成service弹性伸缩...
  • jQuery css弹性伸缩Tabs选项卡代码是一款根据容器的大小弹性伸缩,选项卡的样式可以实用CSS来自定义,选项卡带平滑拉伸动画效果。
  • 弹性伸缩是 Kubernetes

    2019-07-19 10:07:00
    传统弹性伸缩的困境 弹性伸缩是 Kubernetes 中被大家关注的一大亮点,在讨论相关的组件和实现方案之前。首先想先给大家扩充下弹性伸缩的边界与定义,传统意义上来讲,弹性伸缩主要解决的问题是容量规划与实际负载的...
  • 弹性伸缩按钮jquery焦点图
  • 全屏弹性伸缩广告代码;很简单,很好用。使用过了,分享下
  • 谈谈弹性伸缩

    2016-11-11 11:14:00
    什么是弹性伸缩弹性伸缩(Elastic Scaling)是根据业务需求和策略,自动调整其弹性计算资源的管理服务,达到优化资源组合的服务能力。在业务量上升时增加计算能力,当业务量下降时减小计算能力,以此保障业务...
  • "弹性伸缩"对于团队中不同的角色有不同的意义,而这正是弹性伸缩的魅力所在。从一张资源曲线图讲起这张图是阐述弹性伸缩问题时经常引用的一张图,表示的是集群的实际资源容量和应用所需容量之间的
  • 弹性伸缩ESS

    千次阅读 2017-07-17 17:30:49
    概念弹性伸缩ESS——根据用户的业务需求和策略,经济地自动调整弹性计算资源的管理服务。特点 可以监控集群,随时自动替换不健康的实力,节省运维成本。 可以管理集群,在高峰期自动增加ECS实例,在业务回落时自动...
  • jQuery+css弹性伸缩Tabs选项卡代码是一款根据容器的大小弹性伸缩,选项卡的样式可以实用CSS来自定义,选项卡带平滑拉伸动画效果。
  • 弹性伸缩问题

    2019-07-20 09:53:00
    问题:弹性伸缩出来的服务器主机没法自己定义,,会导致Tomcat启动错误 linux的开机启动顺序概述1 加载BIOS硬件信息, 并获取第一个启动设备的代号;2 读取第一个启动设备的MBR的引导加载程序的启动信息;3 加载核心操作...
  • 数据库如何实现弹性伸缩

    千次阅读 2020-06-19 18:11:08
    在之前文章中,探讨过到底为什么要云原生,以及云原生的核心应该是【弹性伸缩】和【按需计费】。并且简单描述了下应用层做到【弹性伸缩】所需要解决的问题。 所以本文主要是继续探讨一下,弹性伸缩如何应用在数据库...
  • 弹性伸缩的伸缩模式

    千次阅读 2018-11-13 11:00:33
    定时模式:自定义自动伸缩发生的时间和频率。 动态模式:基于云监控性能指标(CPU利用率),自动增加或减少ECS实例。 固定数量模式:通过设置最小... 自定义MinSize、MaxSize,弹性伸缩会自动创建或释放ECS实例...
  • 传统弹性伸缩的困境

    2019-07-19 10:06:00
    传统弹性伸缩的困境 弹性伸缩是 Kubernetes 中被大家关注的一大亮点,在讨论相关的组件和实现方案之前。首先想先给大家扩充下弹性伸缩的边界与定义,传统意义上来讲,弹性伸缩主要解决的问题是容量规划与实际负载的...
  • 亿级流量 弹性伸缩是否可以解决所有的
  • 百度MP3右侧弹性伸缩广告代码
  • 容器云之弹性伸缩

    2019-10-08 08:03:54
    弹性伸缩是容器云的一个重要特性,也是实施容器云的一个重要业务场景,更是容器云产品的重要卖点。这也是我们非常关注的功能。所以我们一直也在考虑服务弹性伸缩的问题。 目前Kubernetes支持CPU、Memory伸缩策略,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,230
精华内容 15,292
关键字:

弹性伸缩