弹性伸缩 AS(Auto Scaling)
根据业务需求和策略设置伸缩规则,在业务需求增长时自动为您增加 ECS 实例以保证计算能力,在业务需求下降时自动减少 ECS 实例以节约成本,弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序
创建弹性伸缩组
①. — 伸缩组名称:自定义命名,此处我命名为 as-003
②. — 组内实例配置信息来源:可以继承自定义模板(可以复用)或者继承已有实例的配置,也可以从零开始创建
③. — 标签:标记不同的伸缩组,方便分类管理不同的伸缩组(如果想给 ECS 实例打标签,需要通过上述自定义模板配置)
④. — 实例移出策略:阿里云社区文档说明
⑤. — 暂停的流程:伸缩组处理到某个流程时(如扩容),会暂停(扩容),等待管理员处理,处理过后继续执行自动化的伸缩流程(此处理解不是很透彻,可能有偏差)
⑥. — 开启伸缩组保护:开启后,该伸缩组不能通过 API 或者控制台直接删除,必须将删除保护关闭后,才能删除
⑦. — 实例的健康检查:是否对伸缩组内的 ECS 实例做健康检查,将不健康的实例移出伸缩组
⑧. — 组内最小实例数:略
⑨. — 组内最大实例数:略
⑩. — 组内期望实例数:略
— 默认冷却时间:执行了一次伸缩活动(添加或移出 ECS 实例)后,到下一次伸缩活动的冷却时间,目前只针对报警任务触发的伸缩活动有效
⑪. — 网络类型:专有网络(自定义创建)
⑫. — 多可用区扩容策略:下面单独介绍
⑬. — 实例回收模式:释放模式 & 停机回收模式(云盘存储资源等还会计费)
⑭. — 专有网络:需要我们单独创建一个私有 IP 网段,作为专有网络
⑮. — 选择交换机:在专有网络下,创建多个虚拟交换机,此处我创建了三个虚拟交换机,每个虚拟交换机对应不同可用区,即可实现多可用区扩容策略(下面详细说明)
⑯. — 其他:略
多可用区扩容策略
原理:同一个地域内,不同的可用区之间内网是互通的
①. — 优先级策略:当优先级较高的虚拟交换机所在可用区无法创建 ECS 实例时,自动使用下一优先级的虚拟交换机创建 ECS 实例
②. — 均衡分布策略:如图,即平均分配伸缩组 ECS 实例到每一个可用区(需要配置虚拟交换机并通过虚拟交换机通信)
③. — 成本优化策略:略
添加伸缩配置
刚创建好的伸缩组,默认为停用状态
选择添加伸缩配置:
基础配置
系统配置
确认配置
检验配置
启用伸缩组后(等待一会),ECS 实例会自动创建,如下图:
查看详细实例列表内容:
创建伸缩规则
对于 as-003 伸缩组,添加伸缩规则:
伸缩规则的类型:
①. — 简单规则
定义了伸缩组扩缩容的行为,当由报警任务触发时,需要等待冷却时间结束
②. — 目标追踪规则
通过自动计算实例扩缩容数量将指定指标维持在目标值附近
③. — 预测规则
用户可以配置要预测的性能监控,监控目标值等一系列参数,对伸缩组进行预测
④. — 步进规则
根据一组步长调整增加或减少组的当前容量,这些步长调整根据警报违规的大小而变化
创建报警任务
创建报警任务后,默认为已启用状态;
可以看到 as-alert001 状态显示 数据不足,是因为没有 ECS 实例,我停用了这个报警任务监控的伸缩组,并删除了伸缩组下的 ECS 实例
检验报警任务 && 伸缩规则
由于设置了报警任务并绑定触发规则:
①. — 在 CPU 使用率平均值低于 30% 时,会报警
②. — 报警会触发 as-rule003 伸缩规则,减少一台 ECS 实例
等一段时间后,可以观察到 as-003 伸缩组的 ECS 实例已经减少到了最低数量(最小实例数:1)
报警任务详情:
弹性伸缩 AS(Auto Scaling)的更多相关文章
- Effective HPA:预测未来的弹性伸缩产品
作者 胡启明,腾讯云专家工程师,专注 Kubernetes.降本增效等云原生领域,Crane 核心开发工程师,现负责成本优化开源项目 Crane 开源治理和弹性能力落地工作. 余宇飞,腾讯云专家工程师 ...
- Windows Azure功能更新:弹性伸缩(autoscale)、监控报警、移动服务及网站服务商用、新的虚拟机镜像
Windows Azure功能又更新了.此次更新包括1项重要更新和两个功能更新: 重要更新:云服务.网站支持按策略进行弹性伸缩 功能更新:两个预览版的服务(网站和移动)进入商用,虚拟机服务支持SQL ...
- CSS3弹性伸缩布局(一)——box布局
CSS3弹性伸缩布局简介 2009年,W3C提出了一种崭新的方案----Flex布局(即弹性伸缩布局),它可以简便.完整.响应式地实现各种页面布局,包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃 ...
- 【阿里云产品公测】弹性伸缩服务ESS之试用初体验
弹性伸缩服务ESS之试用初体验 作者:云郎 2014/10/15 阿里云弹性伸缩服务(Elastic Scaling Service)是根据用户的业务需求和策略,自动调整其弹性计算服务器(ECS)的管 ...
- 弹性伸缩布局-flex
弹性伸缩布局-flex 引言:本文主要参照阮一峰的网络日志 .郭锦荣的博客总结完成. 正文: 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性 ...
- 如何实现Docker应用的自定义弹性伸缩
简介 现在有很多客户很关心应用的自动弹性伸缩,有些客户也有自己的监控框架,并希望能跟阿里云容器服务进行集成.阿里云容器服务提供了服务弹性伸缩触发器,并能够跟监控框架集成来实现自定义的服务自动弹性伸缩. ...
- css3弹性伸缩布局(一)—————flex布局
CSS3弹性伸缩布局简介 2009年,W3C提出了一种崭新的方案—-Flex布局(即弹性伸缩布局),它可以简便.完整.响应式地实现各种页面布局,包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃而解 ...
- 第 29 章 CSS3 弹性伸缩布局[下]
学习要点: 1.新版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.新版本 新版本的 Flexbox 模型是 201 ...
- 第 29 章 CSS3 弹性伸缩布局[中]
学习要点: 1.混合过度版 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.混合过渡版 混合版本的 Flexbox 模型 ...
随机推荐
- kubernets之pod的标签拓展
一 标签的拓展使用 1.1 标签的作用范围不仅仅适用于pod对node以及其他类的大部分资源同样适用 k label node node01 gpu=true k是kubectl的别名形式 同样对于n ...
- Kubernetes CoreDNS 状态是 CrashLoopBackOff 报错
查看状态的时候,遇见coredns出现crashlookbackoff,首先我们来进行排错,不管是什么原因,查看coredns的详细信息,以及logs [root@k8s-master coredns ...
- 关于阿里云服务器安装了Apache开放80端口访问不了网页
先用netstat -tlunp查看80端口是否打开,再关闭服务器的防火墙,可以用 systemctl status firewalld 查看防火墙状态 systemctl stop firewal ...
- SDNU_ACM_ICPC_2021_Winter_Practice_1st [个人赛] 2021.1.19 星期二
SDNU_ACM_ICPC_2021_Winter_Practice_1st [个人赛] K - Color the ball 题意: 有n个气球,每次都给定两个整数a,b,给a到b内所有的气球涂一个 ...
- MVC和MTV框架模式
1. MVC: MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller ...
- 在原生开发中控制HTML5视频!
在原生开发中控制HTML5视频! PC端 视频如何自动播放! 在video标签中添加 autoplay + muted(静音属性!) 温馨提醒: video是一个块级元素! 但是唯一的缺陷就是视频没有 ...
- echarts图表X轴文字过长解决解决方案:根据文字长度自动旋转
Echarts 标签中文本内容太长的时候怎么办 ? 关于这个问题搜索一下,有很多解决方案.无非就是 省略(间隔显示).旋转文字方向.竖排展示 前面两种解决方案,就是echarts暴露的: { ax ...
- High Performance Networking in Google Chrome 进程间通讯(IPC) 多进程资源加载
小结: 1. 小文件存储于一个文件中: 在内部,磁盘缓存(disk cache)实现了它自己的一组数据结构, 它们被存储在一个单独的缓存目录里.其中有索引文件(在浏览器启动时加载到内存中),数据文件( ...
- compare-algorithms-for-heapqsmallest
Compare algorithms for heapq.smallest « Python recipes « ActiveState Code http://code.activestate.co ...
- 为什么要使用 do while(0)?
两点 避免宏定义的花括号对代码的完整性造成影响 可以在指定的代码块中(do{})使用break提前跳出,避免goto.