弹性伸缩服务1-2-3

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 弹性伸缩是根据用户的业务需求自动调整弹性计算资源的服务,即能够根据应用负载情况自动扩张和收缩应用环境所使用的计算资源。本文介绍了如何基于弹性伸缩服务构建伸缩组相关配置,为打造高弹性高可用的应用程序奠定基础。

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

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

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

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

创建伸缩组

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

9c2544ffef2a01732b6009ff8a5f6987138206f1

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

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

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

创建伸缩配置

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

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


04280ca9df2f75f4489c087d6d812dc76ee5db16

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

51af2373dcf53bf0b4cc0473351fd76eeb4202ee

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

70681ad709a0204cf19167dbd28cc8c167a377dd

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

创建伸缩规则

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

ce67c5f8aa23b60a5b956e16dae0454a2fdeb28d

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

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

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

创建定时任务

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

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

 

20b388169d976b0cec2eea6942c80b6b6a29a130

创建报警任务

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

65f39f80c1157db468db3dfe34b7c348fc54dc43

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

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

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

配置包年包月机器

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

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

e8b144fda65d4c03c639e4a6ad9e96bfd02be867

小结

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

目录
相关文章
|
存储 弹性计算 负载均衡
阿里云服务器是一种简单高效可弹性伸缩的计算服务
阿里云服务器是一种简单高效可弹性伸缩的计算服务,阿里云服务器是什么?云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务,云服务器可以降低IT成本提升运维效率,免去企业或个人前期采购IT硬件的成本,阿里云服务器让用户像使用水、电、天然气等公共资源一样便捷、高效地使用服务器
233 0
|
存储 弹性计算 固态存储
云服务器,是一种简单高效,处理能力可以弹性伸缩的计算服务
云服务器,一个高效,实用,用途广的服务器
|
弹性计算 Kubernetes 监控
阿里云容器服务弹性伸缩发布EIP支持助力在线视频与游戏场景
## 背景 疫情期间,在线会议等音视频应用面临大量流量冲击,为了获得更好的网路吞吐性能,常常会选择使用Host网络模型。采用Host网络模型的容器可以直接使用宿主机的IP地址与外界进行通信,若宿主机具有[弹性公网IP](https://help.aliyun.com/document_detail/32321.html),容器也能使用这个弹性公网IP进行通信。同时容器内服务的端口也可以使用宿
|
弹性计算 专有云 容器
阿里云专有云容器服务弹性伸缩最佳实践
阿里云专有云容器服务弹性伸缩最佳实践
阿里云专有云容器服务弹性伸缩最佳实践
|
Web App开发 弹性计算 负载均衡
弹性伸缩服务问题排查指南
当您在使用弹性伸缩服务遇到问题时,您可以通过本文查找问题原因及对应的解决方案。
2461 0
|
弹性计算 开发者 容器
|
弹性计算 应用服务中间件 nginx
阿里云容器服务使用HPA弹性伸缩容器
前言 弹性伸缩是开发者使用容器过程中非常关注的特性,如果从资源类型的角度来讲,可以分为物理资源的弹性伸缩与容器资源的弹性伸缩。在本篇中,主要向大家介绍的是容器资源的弹性伸缩,在Kubernetes中,HPA(Horizontal Pod Autoscaling)是用来抽象容器水平弹性伸缩的概念。
5010 0
|
弹性计算 安全 UED
阿里云 ESS 弹性伸缩服务新功能来袭,更全面、更自动化的使用体验
2017年9月阿里云弹性伸缩服务伸缩配置新增了实例自定义数据、秘钥对、实例RAM角色、标签新特性;近日,阿里云又发布了VSWitchIds.N多可用区新特性。
5660 0
|
弹性计算 监控
弹性伸缩服务实践指南
在使用过程中大家会发现,无论是定时还是触发式的增加节点,都无法解决新节点状态和老节点同步的问题,这里提出几个可用建议: 1.可以创建一个注册中心,注册节点,下载初始化脚本
2209 0

热门文章

最新文章