- 1. 弹性伸缩概述
- 2. 实现模式
- 3. 基于 GRE 实现 VPC 的互联
- 4. 弹性伸缩服务的配置使用
- 4.1 创建伸缩组
- 4.2 伸缩配置
- 4.3 创建伸缩规则
1. 弹性伸缩概述
弹性伸缩(Auto Scaling)就是自动为我们调整弹性计算资源大小,以满足业务需求的变化,是一种根据业务需求和策略自动调整计算能力的服务。简单可以理解为它会根据服务器使用情况,自动的增减服务器的实例数量。
在阿里云服务器 ECS 中弹性伸缩是这样实现的。比如在一个负载均衡中挂载了三台 ECS 服务,当因为用户访问量大等状况导致云服务资源不够用的时候,云监控会自动感知(可通过 CPU 的使用率等指标判断),并触发事件来通知弹性伸缩服务根据配置规则来自动添加资源,反之也是如此。通过这样的原理以实现资源的自动化扩容与收缩。自动化的资源调配
就是弹性伸缩的最大优势。
此外,弹性伸缩还可以实现资源的自动故障替换。当云监控发现其中一台 ECS 服务器发生故障或者不可用时,就会从资源池中拿一台 ECS 过来进行替换。
在应用弹性伸缩服务的时候,我们应避免以下几点错误认知:
- 弹性扩容一定能解决我们整体的性能瓶颈;需找到问题根本所在进而针对性解决才行。
- 弹性伸缩免费;弹性伸缩服务是免费的,但通过弹性伸缩自动创建或者手工加入的 ECS 实例需按照相关实例类型进行付费。
2. 实现模式
弹性伸缩服务的实现模式有以下几种:
模式 | 含义 |
---|---|
定时模式 | 由我们自定义自动伸缩发生的时间与频率 |
动态模式 | 基于云监控性能指标(如CPU利用率)自动增加或减 ECS 实例 |
固定数量模式 | 通过设置最小实例数,即健康运行的 ECS 实例最小数量,以保证可用性 |
自定义模式 | 通过 API 调用自有监控系统,可执行手工伸缩、手工执行伸缩规则、手工添加或移出既有 ECS 实例 |
健康模式 | 如 ECS 实例为非 Running 状态,弹性伸缩将自动移出或释放不健康的 ECS 实例 |
多模并行模式 | 以上几种模式结合配置使用 |
3. 基于 GRE 实现 VPC 的互联
GRE(Generic Routing Encapsulation,通用路由封装)协议,是指把两个不同的 VPC 网络通过建立一条虚拟隧道的方式连接到一起。
假设在两个不同的地域各有一个 VPC 网络,每个 VPC 中均包含三个 ECS 实例(主机),其中一个实例具有公网 IP。当我们想要让这两个 VPC 网络中的某 ECS 实例可以互相访问,就需要设置 GRE 通道,将具有公网 IP 的主机作为跳板建立隧道来实现连接。
可以看到,想要通过 GRE 来实现互联的 VPC 网络中必须有一台主机是具备公网 IP 的。
4. 弹性伸缩服务的配置使用
4.1 创建伸缩组
回到阿里云服务器控制台,点击左侧菜单栏的“弹性伸缩”进入弹性伸缩控制台;
弹性伸缩的快速配置分为三部,“创建伸缩组” --> “创建伸缩规则” --> “完成并启用”;
伸缩组的创建不必多说,当我们选择实例来源是已有实例时,该实例本身不会自动加入到伸缩组内,伸缩组仅提取该实例使用的基础镜像,不会包含该实例的数据信息;
在高级配置中,可为该伸缩组添加扩缩容策略、关联负载均衡和数据库等;
伸缩规则即在该伸缩组中定义哪些操作被允许。在“执行的操作”选项中,有 调整至
、增加
、减少
三个选择。增加就是扩容 ECS 后台服务;减少就是移除;调整至即指定调整到多少台;
冷却时间指的是该规则被使用之后多长时间内不能再次被使用;
选择相关属性后点击“完成”,伸缩组就创建成功了。我们上一步选择的是“稍后手动执行”,所以它处于停用状态,需手动开启;
新创建的伸缩组由于还未进行任何配置,所以各项指标均为 0;
接下来进行弹性伸缩的相关配置。
4.2 伸缩配置
选择“实例配置来源”下的“创建伸缩配置”,进入弹性伸缩管理控制台;
在基础配置模块中主要是选择付费模式与实例的规格,镜像选择等,大家根据个人需要自行选择;
伸缩配置完成之后就可以选择该规格来自动完成扩缩容操作了,前提需要我们自己来创建伸缩规则。
4.3 创建伸缩规则
点击已有的伸缩组名称;
选择“伸缩规则与伸缩活动”,此时是没有伸缩规则的,点击“创建伸缩规则”;
如下: