阿里云ESS弹性伸缩核心概念与基本使用

1.ESS弹性伸缩基本概念

ESS弹性伸缩官方文档:https://help.aliyun.com/product/25855.html

1.1.弹性伸缩概念

弹性伸缩(Auto Scaling)可以根据业务需求和策略自动调整实例数量的一种服务,弹性伸缩可以指定要伸缩的实例类型,比如ECS服务器实例,当应用程序处于高并发或者流量增长时,弹性伸缩可以动态的扩展ECS服务器的数量,来保障服务的可用性,当应用程序需求下降时,弹性伸缩也可以动态减少ECS服务器的数量,节约大量的成本。

使用弹性伸缩机制,可以大大减少我们运维的成本,只有当业务量处于高峰期的时候添加实例的数量,当业务处于低峰期时则会释放添加的实例,相比于一直使用多数的实例可以大大减少成本,另外弹性伸缩机制也不需要投入大量的人力来调整资源池,也不需要提前准备好这些资源,也不需要担心高峰期过后资源的释放问题。

接入弹性伸缩后,一切都变得非常自动化,当弹性扩张时,按照我们事先准备好的实例镜像,根据镜像自动的运行ECS服务器,并且自动的接入负载均衡中,当弹性伸缩时,会自动将创建的实例释放,并且从负载均衡中移除,减少人为参与的成本。

弹性伸缩在操作过程中,伸缩的成功或者失败支持发送消息通知,并且弹性伸缩过程中的云监控事件也支持发送消息通知。

最重要的一点:弹性伸缩服务免费使用,技术手段阿里云提供,但是扩展的资源是需要收费的。

1.2.弹性伸缩应用场景

  • 有规律的业务量波动
    • 比如视频、游戏类型的公司,以视频类公司举例,每周的个别几天更新网剧、综艺节目等等,这种公司的高峰流量期都是固定在周二和周四,我们不能确定高峰期究竟开启多少个服务器合适,如果平日里我们也购买高峰期那么多的ECS实例,成本是非常高的,我们可以通过弹性伸缩机制,设置弹性的时间段,在高峰期的时候根据业务流量的高低,自动扩展或收缩实例数量,保证服务高可用。
  • 无规律的业务量波动
    • 比如新闻网站,在个别的时候,突然有一个劲爆的新闻,用户这一时刻都去看,此时,如果没有弹性伸缩机制监控着实例的运行状态,很有可能出现宕机的情况,平时也开很多实例浪费成本,劲爆新闻的时间段是我们无法把控的,因此这种场景就非常适合接入弹性伸缩了,当某一时刻流量激增时,自动扩展,当热度下去了,自动缩容实例。
  • 无明显的业务量波动
    • 当前服务运行正常,但是可能因为某些资源故障,一下子就导致服务不可用,也没有故障恢复机制,这种情况也很建议接入弹性伸缩,当个别资源故障时,通过弹性伸缩的健康模式,自动将故障的实例删除,运行一个新的实例继续提供服务。
  • 混合型的业务场景
    • 平日里应用流量正常,某个时间段的时候会有一些波动,这种场景可以通过弹性伸缩的云监控,当资源利用率超过80%时自动扩展实例数量。

1.3.弹性伸缩的应用模式

定时模式:自定义弹性伸缩使用的时间段和频率,比如每天的12:00增加ECS实例。

动态模式:基于云监控性能指标,比如CPU使用率,根据监控指标自动扩展或者减少实例数量。

监控模式:类似于故障资源,当实例的状态处于非Running状态,弹性伸缩机制就会将故障的实例删除并且自动启动一个正常的实例。

扫描二维码关注公众号,回复: 16834235 查看本文章

2.开通ESS弹性伸缩服务

1)在控制台搜索弹性伸缩服务

image-20220207141735366

2)创建服务关联的角色

点击图中的创建服务关联角色。

image-20220207141811831

点击确定完成服务的开通。

image-20220207141830329

3.为KodCloud云盘集群创建弹性伸缩组

大体实现步骤如下:

事先准备好云盘集群的ECS、SLB、虚拟服务器组等实例,SLB需要添加好监听模式并关联虚拟服务器组。

1、创建kodcloud云盘系统的伸缩组;

​ 设置弹性伸缩的实例类型、实例移除策略、设置伸缩组中最大最小实例数、设置扩缩容策略、关联可伸缩使用的交换机、关联SLB负载均衡。

2、

3.1.创建伸缩组

进入弹性伸缩控制台后点击创建伸缩组。

image-20220207145754478

选择从零创建。

image-20220207150122965

3.2.设置伸缩组的名称、类型、移除策略、健康检查

1)伸缩组的名称为:KodCloud云盘Web集群弹性伸缩组。

2)伸缩组类型选择ECS,也就是伸缩的实例类型。

3)伸缩组内的实例配置信息来源选择从零开始创建,配置完伸缩组后会去添加组内实例的来源信息,也就是伸缩的实例资源配置属性。

4)实例的移除策略:先筛选出最新创建的实例,再从结果中移出最早创建的实例。指的是缩减节点时的策略,最新创建的实例指的是:最新扩展出来的实例,要缩减时也肯定是要先移除最新扩展的按量付费的实例。再从结果中移除指的是:从筛选的最新创建实例中,将最早扩展的实例先移除,比如说,今天上午扩展了10台ECS实例,下午缩减时,从这10台实例中找出最早创建的,比如上午7点是第一个扩展的实例,那么就先移除最早创建的实例。

5)开启伸缩组保护不要勾选,勾选后无法缩减实例。

6)开启实例的监控检查机制。

image-20220207151252182

3.3.设置组内实例数、冷却时间、网络类型、扩缩容策略、回收模式

1)组内最小实例数设置为2个

​ 当开启伸缩服务后,如果此时集群节点数只有1个,那么会自动触发扩容机制,将组内的实例数扩容为2个。

2)组内最大实例数设置为100个

​ 组内最大的实例数量,不管应用的负载有多高,最多只能扩展到100个实例,这个值需要具体的压力测试后才可声明。

3)组内期望实例数为2个

​ 建议和最小数保持默认。

4)默认冷却时间为300秒

​ 冷却时间也就是值当扩展了1台实例后,等待多久之后再继续扩容,300秒较佳。

5)网络类型设置为转有网络

6)扩缩容策略选择优先级策略

​ 优先级策略:根据添加的多个区域的交换机,优先将实例创建到第一个可用区的交换机,当这个交换机无法创建实例后,再将实例创建到第二个指定的可用区交换机中。

​ 均衡分布策略:需要添加多个可用区的交换机,均衡的在不同可用区创建实例。

​ 成本优化策略:根据需求指定价格最低的实例配置

7)实例的回收模式选择释放模式。

image-20220207151610053

3.4.设置组内的专有网络以及交换机

1)专有网络选择可用区的VPC网络。

2)交换机尽可能的选择多个,避免无法创建实例的可能。

如图所示,添加了3个交换机,由于我们的扩缩容策略设置的是优先级模式,因此伸缩扩展后的实例首先还在SW-Area-A可用区进行创建,当A区无法创建时,才会再B去创建ECS设置。

image-20220207152846905

3.5.关联云盘的SLB负载均衡

1)在关联传统型负载均衡CLB中选择kodcloud云盘使用的SLB负载均衡。

2)关联后会有一个默认服务器组,首先将默认服务器组删除,然后点击添加虚拟服务器组。

3)选择kodcloud的虚拟服务器组。

4)在端口中填写80端口。

image-20220207153253094

3.6.设置消息接收的通知

如果我们需要关联ALB或者RDS在列表中自行选择即可,最后设置消息的接收通知,成功、失败、拒绝这三种消息类型全部接收。

配置没问题后点击确认完成伸缩组的创建。

image-20220207153645262

3.7.伸缩组创建完成

点击上图中的确认,创建完成伸缩组后会要求我们去配置伸缩规则,稍后我们一步步的配置,我们先点击关闭。

image-20220207153853992

伸缩组创建完成。

image-20220207154028291

猜你喜欢

转载自blog.csdn.net/weixin_44953658/article/details/133267291