37-扩展 Auto Scaling 组的大小

Hello大家好,欢迎来到《AWS解决方案架构师认证 Professional(SAP)中文视频培训课程》,我们前面的课时讨论了EC2 Auto Scaling的启动配置以及Auto Scaling组,我们今天继续Auto Scaling的内容—扩展 Auto Scaling 组的大小。

我们开始今天的课程内容。

扩展 Auto Scaling 组的大小,顾名思义,就是增加或减少 Auto Scaling 组的计算容量也就是实例的能力。扩展Auto Scaling组大小是从一个事件触发或者扩展操作开始,以指示 Auto Scaling 组启动或终止EC2实例。

那我们在实际使用EC2 Auto Scaling的时候,都能过通过哪些方式来增加或者减少Auto Scaling组的实例数量呢?我们来一起看一下。

5种扩展 Auto Scaling 组的方式

EC2 Auto Scaling 提供了5种扩展 Auto Scaling 组的方式,分别为 始终保持当前实例数量,手动扩展,按计划扩展,根据需求进行扩展,以及预测式扩展。我们需要掌握每个扩展选项所代表的意思,下面逐个来介绍。

始终保持当前实例数量

我们先来看第一个扩展选项,始终保持当前实例数量。

这个应该很好理解,我们可以配置Auto Scaling组,使其始终保持指定数量的运行实例,比如我们在创建组时指定组大小为4,并选择将此组保持在其初始大小运行,那么Auto Scaling组始终会保持4台实例运行。

假设我们现在创建了一个Auto Scaling组,指定了组大小为4并配置组保持此大小运行;或者配置组最小容量为4,那么,首先Auto Scaling组会启动4台实例,满足所需容量或最小容量,然后Auto Scaling组会始终保持4台实例运行。为了保持4台实例运行,Auto Scaling 对 组内运行的4台实例执行定期运行状况检查,如果发现某台实例运行状况不佳,它将终止该实例,并启动新实例。

比如我们现在假设第一台实例运行状况不佳,则它就会被终止,然后Auto Scaling组为了保持4台实例运行,会新启动一台实例,这样终止一台在启动一台新实例,Auto Scaling组还是维持了始终保持4台实例运行。

另外,如果您手动停止或终止正在运行的实例,Auto Scaling组则会将该实例视为运行状况不佳,并启动一台新的实例替换它,这个我们在前面也实操演示过。

好,这是第一个扩展选项,使Auto Scaling组始终保持当前实例数量。

手动扩展

第二种扩展组大小的方式—手动扩展

手动扩展就是需要我们手动调整Auto Scaling控制组大小。手动扩展是扩展资源的最基本方法,方式就是通过修改 Auto Scaling 组的最大容量、最小容量或所需容量的配置,然后Auto Scaling 管理创建或终止实例的流程匹配您修改后的容量。

比如我们前面的【AWS爱好者】网站的案例,假设我目前配置的Auto Scaling组最小容量为1,最大容量为3,并且不配置自动扩展策略,那么Auto Scaling组就会启动并保持1台实例提供服务;

然后我发现现在网站的工作负载比较高,1台实例可能不太够,那么,我只需要手动修改Auto Scaling组的最小容量由1改为3,Auto Scaling组就会为我们新启动2台实例,一共3台实例处理网站的工作负载;后面当访问网站的高峰时段过去了,工作负载降下来后,我在修改最小容量由3改为1,然后Auto Scaling组就会为我终止2台实例,在继续保持1台实例提供服务。

这种通过手动调整容量的方式就是手动扩展。

按计划扩展

第三种扩展Auto Scaling组大小的方式—按计划扩展。

按计划扩展,是能够按照我们提前配置的计划,当到达配置的开始时间后自动按计划进行扩展。我们来看一下。

按计划扩展,在您确切地知道何时增加或减少组中的实例数量时非常有用。假设您的组织在线上开着对外业务,在每个月或者每周的某天都会进行活动/促销,会造成线上系统促销当天访问量突增,势必会增加工作负载,那么这个就算是可预测的计划,一般就适用于按计划扩展。

我们可以创建一个计划的扩展操作,需要指定开始时间/最小、最大以及所需容量/循环等,然后到开始时间后,计划扩展会帮我们自动执行扩展操作。

计划扩展可以配置为仅扩展一次或者重复扩展,比如可以配置为每月的最后一天生效一次,也可以配置为每个月的最后一天都进行计划扩展,满足不同的需求。

我们通过一个简单的案例在深入讨论下。

假设一个公司的商城系统在这个月也就是4月最后一天会进行促销活动,需要在当天0点开始对Auto Scaling组的最小/最大/所需容量进行调整,那么我们可以在当天0点的时候通过前面讨论的手动扩展的方式进行调整;也可以通过创建计划操作,提前创建好计划,然后计划操作会在需求当天自动为我们按计划扩展,调整Auto Scaling组的最小/最大/所需容量。

我们来看下按计划扩展如何通过AWS管理控制台来配置。

访问EC2控制台,然后Auto Scaling组
我们还是以之前创建的as-test-group组为例,假设我们需要为此Auto Scaling组创建计划扩展。
选中此组后,然后通过下面的“计划的操作”选项卡—“创建计划操作”,来创建扩展计划。

点击“创建计划操作”后,首先为计划输入名称,然后配置最小/最大/和所需容量。比如我们配置的是,在2020年4月30日0点开始,将最小容量配置为3,最大容量配置为5,所需容量配置为4,然后在“循环”这里选择“一次”,表示仅执行一次这个计划。

对于重复性的计划,可以通过循环配置来实现,我这里配置的是执行一次,您也可以根据需求配置重复执行计划,如包括每周,每天、每个小时等等,也可以自行输入Cron表达式配置重复执行计划。

当我们点击“创建”后,“计划操作”就创建完成了,对于我们这个配置,Auto Scaling在4月30日0点时, 将用扩展操作指定的最小大小、最大大小和所需大小值来更新Auto Scaling组,也就是在4月30日0点时,Auto Scaling自动将这个Auto Scaling组的最小容量更新至3,最大容量更新至5,所需容量更新至4,这一切都是到达开始时间后自动执行的。

好,以上就是“按计划扩展”,我们要了解按计划扩展和手动扩展的区别,按计划扩展是我们提前创建好计划操作,然后在开始时间后自动为我们执行,并且可以配置循环重复执行计划;而手动扩展是不需要创建计划操作的,以上面的案例为例,是需要在4月30日当天手动修改Auto Scaling组的最小/所需/和最大实例来实现扩展,这是计划扩展和手动扩展两者的主要区别。

动态扩展

第四种扩展Auto Scaling组大小的方式—根据需求进行扩展,也称为动态扩展。

您可以通过创建扩展策略,将 Auto Scaling 组配置为动态扩展以满足此需求。
通过创建扩展策略,然后定义警报阈值,以及相应执行的操作。

我们前面课时的实操演示就是基于动态扩展的,我们创建了扩展策略,内容为【AWS爱好者网站】平均 CPU 使用率 大于等于 70% 启动2台实例;当平均 CPU 使用率 小于等于 25% 删除2台实例,这就是基于动态扩展的。

我是使用的CPU平均使用率指标进行动态扩展,您也可以使用预定义的其他指标或自定义指标配置扩展策略,比如网络收发字节数等等。

最后是预测扩展

可以将 EC2 Auto Scaling 和 AWS Auto Scaling 结合使用,以跨多个服务扩展资源。
AWS Auto Scaling 可以通过结合预测扩展和动态扩展(分别为主动和被动方法)来更快地扩展您的 Amazon EC2 容量,以帮助您维护最佳可用性和性能。

这块基本上考试涉及不到,而且在实际组织中使用的也不是很多,所以大家只做了解即可,感兴趣的同学可自行查阅资料进行了解。

好,以上就是我们今天的课程内容,我们今天的课程介绍了 EC2 Auto Scaling 扩展组大小的5种扩展选项,这些知识点对于考试非常的重要,一定要掌握。希望本课程对大家有所帮助。

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

  • AWS爱好者的网址是www.iloveaws.cn。
  • 可以通过扫码加入【AWS爱好者】微信公众号,查看原创的AWS知识点相关文章
  • 加入【AWS爱好者】微信群,和其他同学一起备考,以及探讨交流AWS相关知识
  • 加入【AWS知识星球】持续学习。

我们今天的视频课程就到这里,感谢大家的观看,我们下一课程再见。

2020年9月22日

0 responses on "37-扩展 Auto Scaling 组的大小"

Leave a Message

error: Content is protected !!