第四章 弹性伸缩服务
什么是弹性伸缩(AS)
- 弹性伸缩(Auto Scaling,AS)是根据用户的业务需求,通过策略自动调整其业务资源的服务。用户可以根据业务需求自行定义伸缩配置和伸缩策略,降低人为反复调整资源以应对业务变化和高峰压力的工作量,帮助用户节约资源和人力成本。
AS的优势
AS的优势
- 自动调整资源:弹性伸缩能够实现应用系统自动按需调整资源,即在业务增长时能够实现自动增加实例数量和带宽大小,以满足业务需求,业务下降时能够实现应用系统自动缩容,保障业务平稳运行。
- 加强成本管理:弹性伸缩能够实现按需使用实例和带宽,并自动调整系统中的资源,节省了资源和人为调整资源带来的损耗,为用户最大程度节约了成本。
- 提高可用性:弹性伸缩可确保应用系统始终拥有合适的容量以满足当前流量需求。当弹性伸缩和负载均衡器结合后,伸缩组会自动地为新加入的实例绑定负载均衡监听器。访问流量将通过负载均衡监听器自动分发到伸缩组内的所有实例。
- 提高容错能力:弹性伸缩可以检测到应用系统中实例的运行状况,并启用新实例以替换运行状况不佳的实例。
AS的产品架构
- 弹性伸缩服务(Auto Scaling)可根据用户的业务需求和策略,自动调整计算资源,使得云服务器数量可随业务负载增长而增加,随业务负载降低而减少,保证业务平稳健康运行。
通过伸缩控制可以实现弹性云服务器(ECS)实例伸缩和带宽伸缩:
- 伸缩控制:配置策略设置指标闽值/伸缩活动执行的时间,通过云监控,监控指标是否达到闽值,通过定时调度,实现伸缩控制。
- 配置策略:可以根据业务需求,配置告警策略/定时策略/周期策略。
- 配置告警策略:可配置CPU、内存、磁盘、入网流量等监控指标。
- 配置定时策略:通过配置触发时间可以配置定时策略。
- 配置周期策略:通过配置重复周期、触发时间、生效时间可以配置周期策略。
- 云监控监控到所配置的告警策略中的某些指标达到告警值,从而触发伸缩活动,实现ECS实例的增加/减少或带宽的增大/减小。
- 到达所配置的触发时间时,触发伸缩活动,实现ECS实例的增加/减少或带宽的增大/减小。
应用场景 - 电商网站
- 弹性伸缩和负载均衡结合使用:
- 当用户在使用弹性伸缩时,业务增长时应用系统自动扩容,业务下降时应用系统自动缩容,在伸缩组添加和删除实例时,须确保所有实例均可分配到应用程序的流量。弹性伸缩和负载均衡结合使用可以解决这个问题。
- 使用负载均衡后,伸缩组会自动地将加入伸缩组的实例绑定负载均衡监听器。访问流量将通过负载均衡监听器自动分发到伸缩组内的所有实例,提高了应用系统的可用性若伸缩组中的实例上部署了多个业务,还可以添加多个负载均衡监听器到伸缩组,同时监听多个业务,从而提高业务的可扩展性。
AS的相关概念
AS的相关概念:
- 伸缩组:伸缩组是具有相同应用场景的实例的集合,是启停伸缩策略和进行伸缩活动的基本单位
- 伸缩配置:伸缩配置是伸缩组内实例(弹性云服务器)的模板,定义了伸缩组内待添加的实例的规格数据。包括云服务器类型、vCPU、内存、镜像、磁盘、登录方式等
- 伸缩策略:伸缩策略可以触发伸缩活动,是对伸缩组中实例数量进行调整的种方式。伸缩策略规定了伸缩活动触发需要满足的条件及需要执行的操作,当满足伸缩条件时,系统会自动触发一次伸缩活动
- 伸缩活动:伸缩组中增加或减少实例的过程称为伸缩活动。伸缩活动的目的是使应用系统中当前实例数和期望实例数保持一致,或达到已设置的伸缩策略触发条件时,执行增加或减少实例数量的操作,保证业务正常运行
- 冷却时间:为了避免告警策略频繁触发,必须设置冷却时间。冷却时间是指冷却伸缩活动的时间,在每次伸缩活动完成之后,系统开始计算冷却时间。伸缩组在冷却时间内,会拒绝由告警策略触发的伸缩活动。其他类型的伸缩策略(如定时策略和周期策略)触发的伸缩活动不受限制,但会重新开始计算冷却时间,单位为秒
- 伸缩带宽:伸缩带宽可以根据用户配置的伸缩带宽策略自动调整带宽资源。弹性伸缩仅支持对按需购买的弹性公网IP带宽和共享带宽进行调整,不支持对包年包月的带宽进行调整
AS的创建流程
创建伸缩配置
- 在创建伸缩配置时,配置模板如何选择?
创建伸缩组
- 伸缩组是具有相同属性和应用场景的云服务器和伸缩策略的集合,是启停伸缩策略和进行伸缩活动的基本单位。
- 使用伸缩策略设定的条件自动增加、减少伸缩组中的实例数量,或维持伸缩组中固定的实例数量。
- 创建伸缩组,需要配置最大实例数、最小实例数、期望实例数和负载均衡器等参数。
伸缩组配置:
- 多可用区扩展策略:当选择两个及以上可用区时,才需要配置该选项
- 最大/最小实例数:指伸缩组中云服务器个数的最大值/最小值
- 期望实例数:伸缩组中期望运行的弹性云服务器数量,大小介于最小实例数和。最大实例数之间。一般在业务高峰即将到来时,设置期望实例数,可快速部署大量服务器
- 实例移除策略:当用户的伸缩组自动移除实例时,如果伸缩组内存在不属于当前配置的可用区的实例,移除实例时,会优先移除这些实例。其次,会评估伸缩组当前配置的可用区是否存在不平衡。如果某个可用区的实例数多于其他可用区,移除实例时会优先保证可用区均衡。如果该组使用的可用区是平衡的则实例会按照用户配置的实例移除策略被移除
创建伸缩策略
- 伸缩策略的配置主要包含:策略类型和冷却时间。
- 当业务负载难以预测时,选择告警策略,系统会根据实时的监控数据(如CPU使用率触发伸缩活动,动态调整伸缩组内的云服务器数量。每次伸缩活动完成之后,系统开始计算冷却时间。伸缩组在冷却时间内,会拒绝由告警策略触发的伸缩活动,其他类型的伸缩策略(如定时策略和周期策略)触发的伸缩活动不受限制。