开发者学堂课程【根据业务量弹性使用云资源:创建简易弹性伸缩方案-介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/509/detail/6812
创建简易弹性伸缩方案-介绍
内容介绍
一、创建伸缩方案一
二、讨论
三、伸缩组-冷却时间
四、伸缩组-移出策略
五、讨论
六、伸缩配置-创建
七、伸缩配置-状态
一、创建伸缩方案一
方案一是个极简的伸缩方案,创建第一步为创建伸缩组,第二步为创建伸缩配置,第三步为启动伸缩组。
1.伸缩组创建
定义:伸缩组是具有相同应用场景的 ECS 实例的集合,伸缩组定义了组内 ECS 实例数的最大值、最小值及其相关联的 SLB 实例和 RDS 实例等属性。
创建所需的配置:
伸缩组名称(可以自定义)、伸缩最大实例数(组内 ECS 实例数的最大值,设置范围在0~100)、伸缩最小实例数(组内 ECS 实际数的最小值,设置范围在0~100)、默认冷却时间(单位为秒,指办一次活动无论是增加 ECS 实例还是减少实例,整个活动完成会有个冷却时间)、移出策略(先筛选,在结果中再筛选,用于将 ECS 实例移出时,需要根据策略去筛选,移出哪些相应的 ECS 实例)、网络类型(经典网络、专有网络)、负载均衡(如果在伸缩组内的 ESC 需要加入到相应的负载均衡后端服务器则需要选择负载均衡)、数据库(如果后端需要跟数据库做通讯,则需要选择数据库)
二、讨论
弹性伸缩一定要搭配 SLB、云监控、RDS 才能使用吗?
不一定,因为负载均衡和数据库都不是必选项,可以选择不去设置;云监控也没有在伸缩组里做一定的设置,弹性伸缩是一个比较开放的伸缩平台,可以单独地扩展和收缩 ECS,不一定要和 SLB、云监控、RDS 配合使用,但如果有需要时,可以进行一定地配置。
三、用户可以通过自己的监控系统,监控用户量的增长,监控这些元素来触发弹性伸缩的活动,不一定要使用云监控来搭配使用。
四、伸缩组-冷却时间
冷却时间是指在同一个伸缩组内,当有一个伸缩活动被成功执行后的一段锁定时间内,该伸缩组不执行其他的伸缩活动。伸缩组在冷却时间内只会拒绝云监控报警任务类型的伸缩活动请求。
如果云监控发现 CPU 大于80%,需要加两台 ESC,如果伸缩组在冷却时间内,那么伸缩活动请求是不被接受的。冷却时间锁定的是同一个伸缩组的伸缩活动,对于多伸缩组内的不同伸缩活动,不做以上要求。伸缩规则的冷确时间和伸缩组默认冷却时间同时存在时,以伸缩规则的冷却时间为伸缩活动的执行标准。伸缩规则指增加或减少一些实例配置,当伸缩组加入或移出多个 ECS 实例时,冷却时间的开始计时是整个伸缩活动完成,即最后一个 ECS 实例加入或移出完成后。
停用伸缩组,然后再启用伸缩组后,冷却时间的效果将会失效。流程为首先伸缩活动完成,然后启动冷却时间,冷却时间内如果有伸缩活动请求,则判断是否为云监控的报警,如果不是则伸缩活动可以被执行,如果是,则会判断冷却时间是否结束,如果已结束,则开始新的伸缩活动;如果没有结束,则请求会被拒绝。
四、伸缩组-移出策略
当从伸缩组内移出一定数量的 ECS 实例时,要根据移出策略来筛选。
一级筛选:最早伸缩配置对应的实例(伸缩组里选最早伸缩配置对应的 ECS 实例,用户手工加入的既有 ECS 实例不与伸缩配置绑定)、最早创建的实例(在一个伸缩组内,ECS 实例有可能是加入到伸缩组内的,也有可能通过伸缩配置来创建的 ECS 实例)、最新创建的实例(取最新创建的 ECS 实例,不区分是用户手工加入的,还是自动创建的 ECS 实例)
2.二级筛选:最早伸缩配置对应的实例、最早创建的实例、最新创建的实例、无策略
五、讨论
假设你需要添加 N 台包年包月的 ECS 实例加入伸缩组,并且希望这些 ECS 实例不会自动被移出,那么如何设置移出策略保证手工添加的 ECS 实例不被移出伸缩组?
移出策略需要选择最早伸缩配置对应的实例,即需要移出根据伸缩配置来创建的 ECS 实例,要保证 N 台 ECS 实例都不被移除的话,通过伸缩组里的最小实例来设置保证整个伸缩组内的 ECS 实例会低于这个数量,如果 N 台包面包月的 ECS 实例里面,如果有出现不健康的实例的情况,那么不健康的实例仍然会被移出这个伸缩组。
六、伸缩配置-创建
伸缩配置定义了用于弹性伸缩的 ECS 实例的配置信息,弹性伸缩为某个伸缩组自动增加 ECS 实例时,会根据伸缩配置创建 ECS 实例。有配置名称、安全组名称、然后选择实例的系列、再选择实例规格、公网带宽、带宽峰值、镜像类型、系统盘、数据盘。伸缩配置可以编辑更改,如需使用新的伸缩配置,只能重新创建新的伸缩配置,并在伸缩组中激活。
如果之前选用的配置是1核1G 的,只能重新创建新的申诉配置,并在伸缩组中激活,那么,后续加入 ECS 伸缩组的配置,就会变成2核 2G 的。在伸缩组中加入新的伸缩配置,不会影响通过之前伸缩配置创建并正在运行的 ECS 实例。如果之前创建的1核 1G 的 ECS 实例,如果没有相应的一出策略,那么它仍然会在伸缩组内提供相应的服务。最后伸缩组内伸缩配置的创建是有一定数量限制的。
七、伸缩配置-状态
如果需要调整伸缩配置,必须要新建一个伸缩配置。伸缩配置具有两种状态。
第一种是生效状态,伸缩组会采用生效状态的伸缩配置自动创建 ECS 实例。对不需要的伸缩配置,可以把它设置成失效状态,该伸缩配置存在于伸缩组中,但伸缩组不会采用失效状态的伸缩配置自动创建 ECS 实例。