近期在准备阿里云的ACP认证,整理一下笔记。
文末有弹性伸缩的专项试题,有需要请自取。
一、定义
根据实际的业务需求和策略设置伸缩规则,在业务需求增长时自动添加ECS实例以保证计算能力,在业务需求下降时自动减少ECS实例以节约成本。
弹性扩张
配置云监控实时监控ECS实例使用情况,配置伸缩规则,弹性扩张ECS实例,并自动添加ECS实例到负载均衡实例和RDS实例的访问白名单中
弹性收缩
当您的业务需求下降时,通过云监控检测到对应的规则,根据配置的伸缩规则弹性收缩ECS资源,自动释放合适数量的ECS实例,并自动从负载均衡实例和RDS实例的访问白名单中删除ECS实例
弹性自愈
弹性伸缩提供健康检查功能,自动监控伸缩组内的ECS实例健康状态,避免伸缩组内健康的ECS数量低于设置的最小值。
二、移出策略
有两种移出策略
默认策略和自定义策略
1.默认策略:先按最早伸缩配置对应的ECS实例进行一级筛选,再按最早创建ECS实例进行二级筛选。
先在伸缩组里选最早伸缩配置的ECS实例,然后在筛选的结果中选择最早创建的ECS实例,如果还有多台ECS,则随机选择一台多出伸缩组
由于用户手工加入的既有ECS实例不与伸缩配置绑定,所以不会先选出该类型的ECS实例,如果伸缩配置关联的实例已经全部移出,但还需要移出ECS实例时,则选最早用户手工移入ECS实例
2.自定义策略:
oldestinstance:取最早创建的ECS实例,如果作为一级筛选条件,不区分是用户手工加入的ECS实例还是自动创建的ECS实例,直接按最早创建的实例进行移出。
Newesinstance:取最新创建的实例,如果作为一级筛选条件,不区分是用户手工加入的ECS实例还是自动创建的ECS实例,直接按最新创建的ECS实例进行移出。
OldestScalingConfiguration:取最早伸缩配置创建的 ECS 实例;对于用户手工移入的 ECS 实例,自动跳过此条件;如果与伸缩配置相关联的 ECS 实例已经全部移出,还要继续移出 ECS 实例时,则在用户手工加入的 ECS 实例中(没有与伸缩配置关联的 ECS 实例),随机选一台
创建伸缩组
如果需要为伸缩组关联负载均衡实例,必须满足如下条件:
1)必须持有一个以上处于运行中的负载均衡实例
2)负载均衡实例必须和伸缩组在同一个地域
3)如果负载均衡实例和伸缩组的网络类型都为专有网络,则必须位于同一专有网络。
生命周期挂钩
可以在伸缩组发生伸缩活动时将正在扩张或即将释放的 ECS 实例挂起,执行用户自定义操作,可以更加灵活地管理 ECS 实例在伸缩组内的生命周期
三、使用限制
伸缩组内部署在ECS实例的应用必须无状态并且可横向扩展
弹性伸缩无法自动将ECS实例添加到开放缓存memcache实例访问白名单,需自行添加
弹性伸缩无法进行纵向扩展,即弹性伸缩无法添加CPU、内存、带宽等配置
四、知识点
1、ECS实例数最多只能是MaxSize
2、冷却时间只会拒绝云监控报警任务类型的伸缩活动请求,手动执行或者定时任务可以绕过冷却时间立即执行伸缩活动
3、同一个伸缩组内,同一个时刻只能有一个伸缩活动在执行
4、伸缩活动不可以中断,用户无法强行终止一个正在运行的伸缩活动
5、待添加ECS实例必须与伸缩组在同一个地域,并且实例必须处于运行中状态,已经添加的ECS实例不能添加到其他伸缩组中
6、弹性伸缩支持包年包月的ECS
7、手动添加的ECS不会遵循任何伸缩配置,伸缩组会优先挑选、移出并释放自动创建的ECS实例,当伸缩组内自动创建的ECS实例被全部移除后,才会挑选、移除并保留手动添加的ECS实例。
8、一个伸缩组可以对应多个负载均衡SLB实例,但是两者必须在同一个地域(Region)中
9、伸缩组包含伸缩配置、伸缩规则、伸缩活动
10、伸缩配置、伸缩规则、伸缩活动依赖伸缩组的生命周期管理,删除伸缩组时会删除组内的伸缩配置、伸缩规则、伸缩活动
11、伸缩触发任务有定时任务、云监控报警任务等类型
12、定时任务独立于伸缩组存在,不依赖伸缩组的生命周期管理,删除伸缩组不会删除定时任务
13、云监控报警任务独立于伸缩组存在,不依赖伸缩组的生命周期管理,删除伸缩组不会删除云监控报警任务
14、健康检查的方式有两种1、TCP协议健康检查通过发送SYN握手报文,检测服务器端口是否存活15、HTTP协议健康检查通过发送HEAD或GET请求,模拟浏览器访问方式来检测服务是否健康
15、HTTP协议健康检查可以关闭,TCP协议不可关闭
弹性伸缩官方文档
ACP官方辅导教程
弹性伸缩40道专项训练,提取码0b03
需要动手实践的阿里上云活动