弹性伸缩服务1-2-3

弹性伸缩是根据用户的业务需求自动调整弹性计算资源的服务,即能够根据应用负载情况自动扩张和收缩应用环境所使用的计算资源。在请求增加时,弹性伸缩能够为自动分配更多的计算资源,在请求下降时,弹性伸缩能够自动回收过量的资源。这样,带来一个好处是在满足客户需求的情况下,我们只需要为短期使用的资源来付费,即Pay as you go。如果我们的业务请求模式具有较大的波动性,如广告、游戏和直播等,使用弹性伸缩打造高可用高弹性的应用是非常好的选择。

从特性来看,弹性伸缩服务为构建弹性可扩展的应用开发提供了以下两个方面的能力:

  • 弹性:自动管理弹性计算资源的能力。在系统运行的整个生命周期,弹性伸缩会自动根据系统运行情况,动态创建或释放资源,使我们的应用系统能够像生物体一样自动的扩张或收缩。在整个过程中不需要任何人工的干预;
  • 可用性:可用性也是弹性伸缩提供的重要功能。弹性伸缩会自动监测应用的运行情况,如果发现某个节点的状态异常处于停止的状态,弹性伸缩会自动将异常的节点从伸缩组中移除,并创建新的机器来替换。该特点能够极大提高系统的可用性。

下面我们一步一步讲解如何使用弹性伸缩来构建高弹性高可靠的应用集群。

创建伸缩组

使用弹性伸缩服务的第一步是是创建一个新的伸缩组。伸缩组是我们管理部署在弹性伸缩上业务的基本单元,基本上可以映射为一个应用或者一个集群。每一个伸缩组可以挂载多个SLB或者多个RDS实例。

在创建伸缩组的对话框中,我们需要输入以下参数:

  • 最大实例数:伸缩组内包含的最大实例数量。如果伸缩组内的实例数大于该参数,弹性伸缩会自动按照释放规则将多余的实例移除伸缩组。
  • 最小实例数:伸缩组内包含的最小实例数量。如果伸缩组内的实例数小于该参数,弹性伸缩会自动创建新的按量实例来补齐缺失的数量。如果我们创建伸缩组时最小实例数不为零,则弹性伸缩会自动创建相应的实例。所以,在新建伸缩组时,最小实例数最好设置为零。等待包年包月机器加入后,再将该参数调整为需要的数量。
  • 冷却时间:弹性伸缩活动的冷却时间,缺省为5分钟。该时间是指在某一个弹性伸缩活动执行完成后,在冷却时间内所有的新的伸缩活动请求会被拒绝,即不允许执行新的伸缩活动。该时间设置有助于避免伸缩组的频繁伸缩。
  • 释放策略:释放策略是当弹性伸缩服务需要从伸缩组内释放实例时依据的策略,目前我们可以选择的策略包括:最早创建实例,最晚创建实例和最早伸缩配置创建的实例。如果我们希望包年包月的机器不要被移出伸缩组,则释放策略需要选择最早伸缩配置创建的实例加最早创建的实例。
  • 网络类型:网络类型是配置弹性计算资源所使用的网络环境,目前支持两种网络类型:经典网络和专有网络。如果选择专有网络,则我们还需要选择特定的VPC和特定的vSwitch。
  • 负载均衡:负载均衡是伸缩组内ECS实例对外挂接的负载均衡。缺省情况下只支持一个服务均衡实例,如果我们想要挂接多个负载均衡器,则需要通过工单联系客服人员修改。
  • 数据库:数据库是ECS实例需要的RDS资源。如果设置该数据库,弹性伸缩会自动将新创建的ECS机器自动加入RDS白名单,保证ECS和RDS之间的连通性。如果我们不需要将ECS加入数据库白名单,则无需设置该选项。

伸缩组创建完成后,控制台会自动提示需要创建新的伸缩配置。下面我们会进入创建伸缩配置的步骤。

创建伸缩配置

伸缩配置是弹性伸缩在自动创建计算资源时所使用的机型配置,如4核8G或者8核16G等。目前一个伸缩组可以拥有多个不同的伸缩配置,但是生效的伸缩组只允许有一个。

伸缩配置的第一步是选择需要的机型,这一步我们根据业务需要选择相应的机型即可。目前,ECS提供了三种机型:系列1、系列2和系列3。由于系列1的机型在后期会被逐步淘汰,导致按量机型的库存非常不稳定,我们一般使用系列2或者系列3的机型。

在完成机型选择后,我们需要选择机器的网络配置。目前网络配置有两种:按使用流量和按使用带宽。如果我们希望自动创建的机器带有公网IP,则选择按使用流量或者按使用带宽并且带宽值不为零。如果不希望创建公网IP,则需要按照使用带宽并且带宽值为零。

最后是选择系统镜像、系统盘和数据盘的信息。这一块的配置内容我们根据需要自行选择即可。需要注意的是,系统盘和数据盘的配置最好能够和镜像一一对应。如果选择系统盘太小或者数据盘太小,有可能导致系统无法启动或者启动速度过慢。

伸缩组创建完成后,控制台会自动提醒是否启用该伸缩配置。如果我们希望直接启用,则点击“启用”即可完成配置。

创建伸缩规则

下面的一步是创建伸缩规则,我们需要告诉系统创建或者释放多少台机器,控制台界面如下。

在该对话框中,我们需要输入如下信息:

  • 规则名称:该伸缩规则特定的名称,例如“增加3台机器”或者“减少2台机器”。
  • 规则:具体的规则,目前我们能够选择三种选项:调整至,增加和减少。调整至是让伸缩组的实例数调整至多少数量。增加是为伸缩组增加多少台机器。减少是从现有伸缩组减少多少台机器。
  • 冷却时间:伸缩规则的冷却时间,缺省使用伸缩组的冷却时间。

在创建完成伸缩组、伸缩配置和伸缩规则后,下一步是配置定时任务或者报警任务来触发伸缩活动。

创建定时任务

如果我们了解自己业务请求波动的特点,可以使用定时任务来自动创建弹性计算资源。创建定时任务首先需要选择执行时间,即在什么时间点执行该任务。之后我们还需要选择相应的伸缩组和伸缩规则,即定时任务触发时会执行哪条伸缩规则。

定时任务也支持重复周期设置,我们可以按天、按周或者按月来执行该条特定的伸缩规则。

 

创建报警任务

如果我们希望基于弹性计算资源的监控指标来动态管理弹性计算资源,则可以使用报警任务,界面如下。

报警任务的配置需要我们提供如下的参数:

  • 任务名称:监控任务的名称,必须保证唯一;
  • 描述:监控任务描述
  • 监控资源:我们想要监控的伸缩组。弹性伸缩会收集该伸缩组内所有ECS机器的监控指标,并以此为基础决定是否执行伸缩规则。如果我们的伸缩组不包含任何ECS机器,则报警任务会报“数据不足”的错误。
  • 监控指标:选择的监控项。目前支持七种监控指标:CPU、内存、负载、外网出流量、外网入流量、内网出流量、内网入流量。负载的监控指标只适用于Linux的运行环境。
  • 统计周期:数据指标聚合的周期,目前支持2分钟、5分钟和15分钟。
  • 统计办法:数据指标统计的规则,比如CPU大于70%报警等。
  • 重复几次后报警:重复多少次之后触发报警规则,建议使用2次或3次。如果使用1次,有可能出现系统突然抖动导致触发报警规则。
  • 报警触发的规则:报警规则满足后系统执行的伸缩规则。

当我们填好以上参数时,报警任务创建完成,整个弹性伸缩配置的工作也就全部完成了。

配置包年包月机器

在伸缩组配置完成后,我们可以把需要的包年包月的机器加入伸缩组。在加入包年包月机器之前,需要注意加入机器的机型必须与伸缩组内生效的伸缩配置保持一致。如果不一致,则需要我们为伸缩组创建新的伸缩配置,再把机器加入。

在包年包月机器配置完成后,我们会在弹性伸缩控制台上看到如下界面,这表示弹性伸缩配置完成。

小结

弹性伸缩服务能够很好的帮助我们管理弹性计算资源,在系统高峰时创建新的计算资源,保证用户体验,在系统低谷时释放多余的计算资源,节约成本。用好弹性伸缩服务,能够很好的帮助我们构建高性能高可用的弹性应用系统。

时间: 2024-09-07 15:30:19

弹性伸缩服务1-2-3的相关文章

一分钟了解阿里云产品:弹性伸缩之体验

知道弹性伸缩开始公测,马上申请了公测资格,开始体验传说中的弹性伸缩.在此之前,笔者都是靠手动完成ECS数量的增加或者删除的.现在,就让我们先用为爽吧!   第一步,当然是要开通弹性伸缩服务.   在此先把我已开通的需要叠加弹性伸缩服务的资源给大家介绍下: 一个SLB实例,将HTTP请求按照会话保持的方式分发到后台ECS服务器. 两台ECS实例,安装了wordpress. 一个RDS实例,为多个wordpress应用服务器提供共享数据库服务.   在整个测试系统的部署位置如下图红色虚线内所示. 红

日志服务新功能发布(2)--弹性伸缩(Merge/Split)

在之前的文章<日志服务(原SLS)新功能发布(1)--支持保序写入和消费>中,我们提到了Shard支持Key映射的特性,通过这个特性能够支持对序有需求的应用场景.今天我们给大家介绍一个在削峰填谷或流量突增情况下的功能:弹性伸缩.在生产中我们往往会面临峰值和低值的情况,也会遇到因业务层映射不均衡,导致某一个分区(shard)有非常大流量的场景,弹性伸缩(Merge/Split)就是为此设计的利器. 使用弹性伸缩的应用场景 场景1(视频类):根据峰值.底值弹性扩容,控制成本 用户A是一个视频类网站

利用GPU性能指标进行弹性伸缩

随着人工智能大潮的风起云涌, 视频识别,语音识别,图像识别,自然语言翻译,AI画匠等基于GPU的在线预测也在遍地开花.而弹性伸缩对于人工智能服务来说尤为重要,一方面是业务压力峰值时巨大的计算力需求:另一方面当业务空闲时,GPU的空耗成本也是大家很难承受的.同时在与客户的交流中,我们也发现客户对于GPU资源的弹性伸缩也有很强的定制化需求,希望能自主控制触发条件,并在此基础上和自身业务指标相结合等等. 基于这种现实,我们提供了一套容器服务所扩容触发器结合第三方监控框架influxDB+Grafana

弹性伸缩部署

本文旨在通过介绍弹性伸缩技术以及弹性伸缩系统这款中间件产品,让开发同学了解到运维自动化给我们带来的便捷与保障. 从业务生命周期而言,正处上升期的应用,访问量可能每月甚至每周成指数倍数地增长,当你在为业务快速发展.脱颖而出而畅想自high:哥写得一手牛逼代码即将要支撑起阿里未来五年的腾飞了!!啪,程序运行FGC,啪,调用方超时,啪,触发限流~也许这已经是最近第N次的报警,也许这是最近第N次调用方打电话过来投诉,也许这是最近第N次的扩容--还能不能好好玩耍,专心把代码撸到极致?!业务下降期的应用或许

如何实现Docker应用的自定义弹性伸缩

简介 现在有很多客户很关心应用的自动弹性伸缩,有些客户也有自己的监控框架,并希望能跟阿里云容器服务进行集成.阿里云容器服务提供了服务弹性伸缩触发器,并能够跟监控框架集成来实现自定义的服务自动弹性伸缩. 阿里云容器服务会自动采集容器的监控数据,并可以通过集成将监控数据发送到三方的监控框架中.有了监控数据,我们可以在监控框架中定义自己的报警规则,当指标发生报警的时候调用阿里云容器服务提供的触发器来进行容器的扩容或者缩容. 下面用Influxdb,Kapacitor来介绍怎样通过触发器跟监控框架集成实

ROS 助你轻松实现应用的弹性伸缩

资源编排ROS 是一种简单易用的云计算资源管理和自动化运维服务.用户通过模板描述多个云计算资源的依赖关系.配置等,并自动完成所有资源的创建和配置,以达到自动化部署.运维等目的. 了解更多 当应用上线以后,我们就万事大吉了吗?非也非也,可能日常情况下,你的应用利用现有的资源能很容易的处理用户的请求,但是如果是节日,热点事件,双十一或者促销活动导致的流量暴涨呢,我们应该怎么去处理,相信大家肯定会说加资源啊,伸缩应用集群啊.是,这是一个好方法,但是说起来容易,做起来难,怎么能很快速的扩资源呢?当流量逐

在阿里云上进行Docker应用的自动弹性伸缩

简介 上次介绍了通过监控集成实现容器的自定义弹性伸缩.最近阿里云Docker容器服务发布了自动弹性伸缩的支持,可以非常方便的支持容器的自动弹性伸缩,从而更好的支持应用的弹性管理.能够自动的监控容器应用的指标,并根据配置的自动弹性伸缩的规则进行扩缩容.在业务增长超过监控指标阀值的时候自动增加容器应用的实例数目,并在业务下降的时候自动收缩容器数目.从而简化容器应用的管理,提高应用的可用性,提高资源的利益效率. 设置方法 使用镜像创建应用 在创建应用时,选择"使用镜像创建",这里我们部署一个

在阿里云上进行Docker集群的自动弹性伸缩

简介 在刚刚结束的云栖大会上,阿里云容器服务演示了容器的自动弹性伸缩,能够从容应对互联网应用的峰值流量.关于阿里云上容器的自动弹性伸缩,可以参考文章在阿里云上进行Docker应用的自动弹性伸缩. 同时在流量变大的时候自动进行容器的弹性伸缩,要求容器集群有很好的容量规划,必须有多余的集群资源以支持弹性扩容.但问题是当流量变大,容器扩容导致集群资源不够的时候怎么办呢,是否需要手工进行容器集群的扩容?实际阿里云容器服务不仅支持容器级别的自动弹性伸缩,也支持集群节点级别的自动弹性伸缩.从而真正做到从容应

一分钟了解阿里云产品:弹性伸缩概述

阿里云发布了很多产品,今天让我们来一起了解下弹性伸缩(Auto Scaling)吧.   什么是弹性伸缩呢?让我来给大家解释下.   弹性伸缩是根据用户的业务需求和策略,自动调整其弹性计算资源的管理服务.其能够在业务增长时自动增加ECS实例,并在业务下降时自动减少ECS实例.   那么,弹性伸缩有什么优势呢?   弹性伸缩根据需求"恰到好处"地分配资源,无需担心需求预测的准确性,无需担心突增的业务变化,做到随需应变.   弹性伸缩还实现了自动化,无需人工干预,自动创建和释放ECS实例,