阿里云认证ACP-弹性伸缩(Auto Scaling)(试题占比:10%)
弹性伸缩知识点梳理:
- 弹性伸缩综述
- 弹性伸缩产品介绍
- 产品概念综述
- 产品快速入门
- 创建弹性伸缩方案
- 弹性伸缩的使用
- 伸缩配置操作
- 伸缩规则操作
- 触发任务相关操作
- 定时任务和报警任务操作
- 弹性伸缩总结
弹性伸缩服务免费开通!
弹性伸缩自动为您调整弹性计算资源大小,以满足您业务需求的变化。
根据伸缩规则:业务增长增加ECS实例保证计算能力,业务下降时自动减少ECS实例节约成本。
云监控
云监控实时关注ECS实例使用情况。如,当云监控检测到伸缩组内的ECS实例vCPU使用率突破80%时,弹性伸缩根据配置的伸缩规则弹性扩张ECS资源,自动创建合适数量的ECS实例,并自动添加ECS实例到负载均衡实例和RDS实例的访问白名单中。
说明:弹性扩张时,弹性伸缩使用伸缩组的ECS实例模板自动创建ECS实例,模板包括:实例规格、操作系统、用户自定义数据等信息。可以登录 ECS管理控制台启动、停止ECS实例,也可以远程登录ECS实例修改系统配置。
弹性自愈
检测到ECS实例处于不健康状态。弹性伸缩自动释放不健康ECS实例并创建新的ECS实例,自动添加新ECS实例到负载均衡实例和RDS实例的访问白名单中。
产品优势
- 根据客户业务需求自动调整ECS实例数量。
- 自动向负载均衡的后端服务器组中添加或移除相应的ECS实例。
- 自动向RDS访问白名单中添加或移除ECS实例的IP。
产品特点
- 随需应变:根据需求“恰到好处”地分配资源,无需提前预测需求变化,实时应对需求突增。
- 自动化:无需人工干预,自动创建和释放ECS实例,自动配置负载均衡和RDS访问白名单。
- 伸缩模式丰富:多模式兼容,可同时配置定时、动态、自定义、固定、健康模式,可通过API对接外在监控系统。
- 智能:智能调度云计算资源,应对各种复杂场景。
应用场景
- 某视频公司:春晚或每周五热门节目来临时,负载激增,需及时、自动扩展云计算资源。
- 某视频直播公司:业务负载变化难以预测,需要阿里云自动根据CPU利用率、应用负载、带宽利用率作为衡量指标进行弹性伸缩。
- 某游戏公司:每天中午12点及晚上6点到9点间需求增长,需要定时扩容。
伸缩模式
- 定时模式:自定义自动伸缩发生的时间和频率,如每天 13:00增加 ECS 实例。
- 动态模式:基于云监控性能指标(如 CPU 利用率),自动增加或减少 ECS 实例。
- 固定数量模式:设置最小实例数(MinSize),即健康运行ECS 实例的最小数量,保证可用性;
- 自定义模式:通过 API 调用您的自有监控系统,您可以执行手工伸缩。
- 手工执行伸缩规则。
- 手工添加或移出既有的 ECS 实例。
- 自定义 MinSize、MaxSize,弹性伸缩会自动创建或释放 ECS 实例,将当前 ECS 实例数维持在 MinSize 与 MaxSize 之间。
- 健康模式:如ECS实例为非Running状态,弹性伸缩将自动移出或释放不健康的ECS实例。
- 多模式并行:以上所有模式都可以组合配置。例如设置了每天 13:00 ~ 14:00 创建 20 个 ECS 实例以应对业务高峰,但实际需求有可能需要多于20个实例, 则您可以选择其他伸缩模式,与定时模式配合一起使用。
限制条件
- 伸缩组内部署在ECS实例的应用必须无状态并且可横向扩展。
- 伸缩组内的ECS实例可能会被自动释放,因此不适合保存应用状态信息和相关数据等信息,例如会话记录(Session)、数据库或者日志等。如果有需要,您可以保存状态信息到独立的状态云服务器ECS、保存数据到云数据库RDS或者集中日志存储到日志服务。
- 弹性伸缩无法自动将ECS实例添加到开放缓存Memcache实例访问白名单,需要手动添加。
- 弹性伸缩无法纵向扩展,即弹性伸缩无法自动升降ECS实例的vCPU、内存和带宽等配置。
- 您能创建的伸缩组、伸缩配置、伸缩规则等有一定限制,如下。
数量限制
目前,弹性伸缩服务的功能项存在以下数量限制:
- 同一个账号一个地域下最多创建 50 个伸缩组。
- 一个伸缩组内最多创建 10 个伸缩配置。
- 一个伸缩组内最多创建 50 个伸缩规则。
- 一个伸缩组内最多创建 6 个事件通知。
- 一个伸缩组内最多创建 6 个生命周期挂钩。
- 一个伸缩组最多同时关联 5 个负载均衡实例。
- 一个账号下最多创建 20 个定时任务。
- 一个伸缩配置下,最多可以选择 10 个实例规格。
弹性伸缩相关名词解释
弹性伸缩:根据用户业务需求和策略,自动调整弹性计算资源的管理服务。其能够在业务增长时自动增加 ECS 实例,并在业务下降时自动减少 ECS 实例。
伸缩组:伸缩组是具有相同应用场景的 ECS 实例的集合。伸缩组定义了组内 ECS 实例数的最大值、最小值及其相关联的负载均衡实例和 RDS 实例等属性。
伸缩配置:伸缩配置定义了用于弹性伸缩的 ECS 实例的配置信息。
伸缩规则:伸缩规则定义了具体的扩展或收缩操作,例如加入或移出 N 个 ECS 实例。
伸缩活动:伸缩规则成功触发后,就会产生一条伸缩活动。伸缩活动主要用来描述伸缩组内 ECS 实例的变化情况。
伸缩触发任务:用于触发伸缩规则的任务,如定时任务、云监控的报警任务。
冷却时间:冷却时间是指,在同一伸缩组内,一个伸缩活动执行完成后的一段锁定时间。在这段锁定时间内,该伸缩组不执行其他的伸缩活动。
备注
- 伸缩组包含:伸缩配置、伸缩规则、伸缩活动。
- 伸缩配置、伸缩规则、伸缩活动依赖伸缩组的生命周期管理,删除伸缩组的同时会删除与伸缩组相关联的伸缩配置、伸缩规则和伸缩活动。
- 伸缩触发任务有定时任务、云监控报警任务等类型。
- 定时任务、云监控报警不依赖伸缩组,不受伸缩组生命周期管理,删除伸缩组不会删除定时任务与报警任务。
伸缩规则
在计算和执行过程中,伸缩规则可以根据伸缩组的 MinSize、MaxSize 进行自动调整其需要增加或减少的 ECS 实例数。(例如:伸缩规则中指定将伸缩组的 ECS 实例数调整至 50 台,但伸缩组 MaxSize 只有 45 台,则整个伸缩规则会按调整至 45 台来计算和执行。)
伸缩活动
- 同一伸缩组内、同一时刻只能有一个伸缩活动在执行。
- 伸缩活动不可以中断。例如,某个创建 20 台 ECS 实例的伸缩活动正在执行中,当创建到第 5 台 ECS 实例时,您无法强行终止该伸缩活动。
- 伸缩活动有 ECS 实例加入伸缩组失败时,需要保持 ECS 实例级事务的完整性,而非伸缩活动级事务的完整性,即只进行 ECS 实例级回滚,而不是伸缩活动级回滚。例如,当伸缩组创建了 20 台 ECS 实例,但只有 19 台 ECS 实例成功加入负载均衡时,则只对不成功的 1 台 ECS 实例进行自动释放操作。
- 由于弹性伸缩是借助阿里云的 RAM (Resource Access Management)服务,通过 ECS Open API代替用户弹性伸缩 ECS 实例资源,所以回滚的 ECS 实例仍然会被扣费。
冷却时间
- 在冷却时间内,伸缩组只会拒绝云监控报警任务类型的伸缩活动请求,其他类型的触发任务(如用户手工执行伸缩规则、定时任务等)可以绕过冷却时间立即执行伸缩活动。
- 每个伸缩活动的最后一个 ECS 实例加入或移出伸缩组成功后,整个伸缩组冷却时间才开始计时。
弹性伸缩 使用流程:
- 创建伸缩组(CreateScalingGroup),配置伸缩资源的最小值(MinSize)、最大值(MaxSize)及需要关联的负载均衡实例和RDS实例。
- 创建伸缩配置(CreateScalingConfiguration),指定需要弹性伸缩的 ECS 实例的相关属性,如 ImageID、InstanceType 等。
- 以第二步创建的伸缩配置启用伸缩组(EnableScalingGroup)。
- 创建伸缩规则(CreateScalingRule),如加 N 台 ECS 实例的伸缩规则。
- 创建定时任务(CreateScheduledTask),如创建 12:00 触发第四步伸缩规则的定时任务。
- 创建报警任务(云监控 API PutAlarmRule),如创建 CPU 平均值 (也可以是最大值或最小值)大于等于 80% 则增加一台 ECS 实例的报警任务。
创建好伸缩组、伸缩配置、伸缩规则、伸缩触发任务后,系统会自动化执行以下流程(以增加 ECS 实例为例):
1、伸缩触发任务会按照各自触发生效的条件来触发伸缩活动。
- 云监控任务会实时监控伸缩组内 ECS 实例的性能,并根据用户配置的报警规则(如伸缩组内所有 ECS 实例的 CPU 平均值大于 60%)触发执行伸缩规则请求。
- 定时任务会根据用户配置的时间来触发执行伸缩规则请求。
- 您可以根据自己的监控系统及相应的报警规则(如在线人数、作业队列)来触发执行伸缩规则请求。
- 健康检查任务会定期检查伸缩组和 ECS 实例的健康情况,如发现有不健康的 ECS 实例(如 ECS 为非 Running 状态)会触发执行 移出该 ECS 实例 的请求。
2、系统自动通过 ExecuteScalingRule 接口触发伸缩活动,并在该接口中指定需要执行的伸缩规则的阿里云资源唯一标识符(Ari)。
- 如果是用户自定义的任务,则需要用户在自己的程序中调用 ExecuteScalingRule 接口来实现。
3、根据步骤 2 传入的伸缩规则 Ari(Rule Ari)获取伸缩规则、伸缩组、伸缩配置的相关信息,并创建伸缩活动。
- 通过伸缩规则 Ari 查询伸缩规则以及相应的伸缩组信息,计算出需要增加的 ECS 实例数量,并获得需要配置的负载均衡和 RDS 信息。
- 通过伸缩组查询到相应的伸缩配置信息,即获得了需要创建的ECS实例的配置信息(CPU、内存、带宽等)。
- 根据需要增加的 ECS 实例数量、ECS 实例配置信息、需要配置的负载均衡实例和 RDS 实例创建伸缩活动。
4、在伸缩活动中,自动创建 ECS 实例并配置负载均衡和 RDS。
- 按照实例配置信息创建指定数量的 ECS 实例。
- 将创建好的 ECS 实例的内网 IP 添加到指定的 RDS 实例的访问白名单当中,将创建好的 ECS 实例添加到指定的负载均衡实例当中。
5、伸缩活动完成后,启动伸缩组的冷却功能。待冷却时间完成后,该伸缩组才能接收新的执行伸缩规则请求
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
学习中什么最重要?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
老师:teacher 20 5 1 3 8 5 18 = 60%
知识:knowledge = 11 12 15 23 12 5 4 7 5 = 96%
努力:Strive = 19 20 18 9 22 5 = 93%
好运:luck = 12 21 3 11 = 47%
金钱:money = 13 15 14 5 25 = 72%
态度:attitude = 1 20 20 9 20 21 4 5 = 100%
端正态度,虚心学习,不骄不躁!
阿里云认证(ACA\ACP\ACE)分享群:58284982 (资料、题库免费分享)大家一起努力!!!
我不认为一个人如果这件事都做不好,他就能做好另一件事。
人们永远没有足够的时间把它做好,但永远有足够的时间重新来过。 可是,因为并不是总有机会重做一遍,你必须做得更好,换句话说, 人们永远没有足够的时间去考虑到底是不是想要它,但永远有足够的时间去为之后悔。 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 浅掘千口井,不如深挖一口井!当知识支撑不了野心时,那就静下心来学习吧!运维技术交流QQ群:618354452
个人微信公众号,定期发布技术文章和运维感悟。欢迎大家关注交流。