首页 > 其他分享 >巧用抢占式实例,打造经济高效的伸缩组策略

巧用抢占式实例,打造经济高效的伸缩组策略

时间:2025-01-17 14:55:45浏览次数:1  
标签:伸缩 抢占 组策略 配置 实例 按量 出价 巧用

使用阿里云弹性伸缩产品时,可以通过设置合适的伸缩策略提高资源利用率,从而降低成本。此外,还可以通过使用抢占式实例,以更低的价格使用ECS实例,从而进一步降低成本,本文为您介绍如何通过抢占式实例降低集群的成本。

重要
仅ECS类型的伸缩组支持使用抢占式实例。

什么是抢占式实例?

抢占式实例是一种按需实例,性能与常规ECS实例无异,价格根据市场供需关系实时变化,相对于按量付费实例最高能节约90%的实例成本,抢占式实例的特性如下:

  • 性能相同 :在相同规格情况下,与按量计费实例除计费模式外无差别。

  • 出价机制: 您可以在创建抢占式实例时进行出价。阿里云会根据当前市场供需情况动态调整市场价格,如果您的出价低于市场价,实例会被回收。此外,支持 使用自动出价 ,以按需计费的价格为上限,自动跟随市场价进行出价。

  • 竞价机制: 实例的价格根据市场供需关系实时变化,会将您的出价与市场价格进行对比,如果您的出价比市场价高且库存充足,可以创建出抢占式实例。

  • 中断回收机制: 抢占式实例存在中断回收机制,如果您的出价小于市场价或者库存不足,会中断实例并回收

  • 保护期: 您可以通过 设定实例使用1小时 ,保护实例在创建后的一小时之内不被回收。

关于抢占式实例的更多信息,请参见什么是抢占式实例

总结: 在使用伸缩组时,可以使用单价更低的抢占式实例来降低成本。但需要牺牲一定的稳定性,即无法确保实例可以一直被使用或创建。

合理利用抢占式实例降低成本

使用较低单价的抢占式实例能够有效减少伸缩组内实例集群的成本。然而,由于其固有的不稳定性,您需要仔细评估这种变化对集群整体稳定性可能带来的影响。伸缩组的稳定性可以从两个关键方面来考量:

  • 扩容稳定性: 指在负载增加时,能够及时且可靠地启动新的实例以满足扩容需求。

    引入抢占式实例时,可能会因为市场价格波动或库存不足导致实例无法自动被创建,影响扩容稳定性,但您可以通过设置一系列机制提升扩容稳定性。

  • 实例稳定性: 指保证已启动的实例能够持续稳定运行,不受非预期中断的影响。

    引入抢占式实例意味着部分实例可能因市场价格波动或库存不足而被自动回收,这要求业务具备快速恢复的能力,并且能够在实例被中断后无缝切换到其他可用资源上。

在评估了引入抢占式实例可能带来的成本节约及其对集群稳定性的影响后,接下来的关键是找到一个平衡点,既能有效控制成本,又能确保服务的可靠性和性能。

设计平衡成本和稳定性的方案

您可以按照以下思路设计平衡成本和集群稳定性的方案。

  • 设置合理的出价策略 :通过设定略高于市场价格但低于按需价格的出价,增加获取抢占式实例的机会,同时减少因频繁中断而带来的管理负担。

  • 混合使用多种实例类型 :在伸缩组引入抢占式实例时,需要根据您业务的实际情况,调整抢占式实例和按需实例的配比,从而平衡成本和集群稳定性。

    例如:您可以将按量的比例设置为可以保证业务稳定运行的最低容量,对于弹性的部分使用抢占式实例降低成本。

    不同配比的伸缩组集群稳定性与成本的变化如图所示,随着抢占式在集群中的比例的升高,成本会降低,但稳定性也会降低。

    使用抢占式实例降低成本

进一步提升集群稳定性

除了设计合理的平衡成本和稳定性方案,您还可以通过以下几个配置进一步提升伸缩组内集群的稳定性。

  • 组合多个规格实例的库存,提升扩容成功率。

    伸缩组支持配置多个实例规格,使伸缩组可以从多个规格的实例,组合多个实例规格的库存,提升伸缩组可用的抢占式实例库存,从而提升扩容成功率。
    在这里插入图片描述

  • 组合多个可用区的实例库存,提升扩容成功率。

    通过配置多个可用区的交换机,使伸缩组可以在多个可用区创建抢占式实例,进一步提升伸缩组可用的抢占式实例库存,从而提升扩容成功率。

    在这里插入图片描述

  • 避免抢占式实例扩容失败造成的性能缺口,维持整体性能的稳定。

    通过 使用按量实例补充抢占式容量 功能,可以在抢占式实例库存不足时,自动创建按量实例,避免因抢占式实例无法创建造成的集群性能缺口。

    在这里插入图片描述

  • 避免因抢占式实例中断回收造成的断崖式异常,维持整体性能的稳定。

    通过 开启抢占式实例补偿 功能,可以实例被回收前5分钟左右,创建新的抢占式实例替换旧实例,减少因抢占式实例的中断回收造成的集群性能缺口。
    在这里插入图片描述
    示例:已有伸缩组使用抢占式实例降低成本


如果您已有伸缩组,您可以参考以下步骤在伸缩组中引入抢占式实例。

步骤一:为伸缩组设置多可用区交换机

设置多可用区交换机可以组合多个可用区的库存,增加伸缩组可用的抢占式实例库存。

  1. 登录弹性伸缩控制台
  2. 在顶部菜单栏处,选择地域。
  3. 在左侧导航栏中,单击 伸缩组管理
  4. 找到目标伸缩组,单击伸缩组ID进入其管理页。
    image
  5. 基本信息 页签下,找到 专有网络 ,单击右上方的编辑图标,进入 修改专有网络 页面。
    image
  6. 配置多个可用区交换机,完成配置后,单击 确认 完成操作。
    image

说明 如果您的专有网络下没有多个可用区的交换机,请先创建交换机,具体操作,请参见创建和管理交换机

步骤二:为伸缩组设置成本优化策略

  1. 基本信息 页签下,找到 组内实例扩缩容配置 ,单击右上方的编辑图标,进入 修改组内实例扩缩容配置 页面。
    image
  2. 修改扩容缩容策略为 成本优化策略 ,并根据您的实际需求完成相关配置项。配置项说明如下:
    • 组内最小按量实例数(台)

      伸缩组所需按量付费ECS实例的最小台数,默认为0台。如果伸缩组内的按量付费ECS实例的数量小于该值,将优先创建按量付费实例。

    • 按量实例所占比例(%)

      自动创建ECS实例时按量付费实例所占的比例,默认为70%。计算该值时,不包括组内最小按量实例数对应的台数。

    • 最低价的多个实例规格(个)

      价格最低的实例规格的个数,默认为1个。在伸缩配置中指定了多个可选实例规格时生效。创建抢占式实例时,伸缩组会在价格最低的几个实例规格之间均衡创建ECS实例。

    • 开启抢占式实例补偿

      开启抢占式实例补偿后,在抢占式实例被回收前5分钟,伸缩组会主动创建新的抢占式实例,并替换掉将被回收的抢占式实例。

    • 使用按量实例补充抢占式容量

      如果因价格、库存等原因无法满足所需要的抢占式实例容量时,开启该功能,伸缩组会尝试创建按量付费实例来满足当前抢占式实例的容量。
      image

  3. 完成配置后单击 确认

步骤三:修改伸缩配置

说明
本文以修改伸缩配置为例,您也可以根据实际情况,创建新的伸缩配置,具体操作请参见创建ECS伸缩组

  1. 实例配置来源 > 伸缩配置页签下 ,找到正在生效的伸缩配置,单击 修改 进入 修改伸缩配置 页面。
    image

  2. 在修改伸缩配置页面,修改 付费模式抢占式实例
    image

  3. 修改实例配置方式为 指定实例规格

  4. 设置实例的 保护期 以及 出价方式 ,相关配置项如下:

    • 实例使用时长

      该配置项即抢占式实例的保护期,在保护期内,抢占式实例不会触发中断回收机制。

      • 设定实例使用1小时 :设定1小时的保护期。实例创建完成后的一小时之内,实例不会触发抢占式实例存的中断回收机制,如果超过1小时,则每5分钟监测库存、出价的变化,进而判断是否能够继续使用资源。
      • 无确定使用时长 :基于实际业务需求,不进行资源使用时长的设定,优势在于相较设定实例使用时长可获得更优成本。
    • 单台实例上限价格

      该配置项即实例的出价方式。

      • 使用自动出价 :伸缩组会根据实例的市场价格自动出价,上限为相同规格按需实例的单价。
      • 设置单台上限价 :当市场价格高于您的出价或者资源供需关系变化时,实例会被自动释放,请做好数据备份工作。您可以使用该出价方式控制实例的价格上限。

    image

  5. 选择实例规格 配置项中,选择多个实例规格以提高扩容成功率。

说明 如果您选择 单台实例上限价格设置单台上限价 ,您需要为每个实例规格设置出价。

image

以自动出价为例

  1. 确认配置无误后单击 修改 ,完成操作。

(验证)步骤四:触发扩容

在配置完成后,您可以触发一次扩容操作,检验伸缩组是否可以按照预期创建抢占式实例。本文以通过修改期望实例数触发扩容为例。

相关参数

  • 按量实例所占比例 :70%。

  • 组内最小按量实例数 :2台

  • 组内期望实例数 :从0修改为12。

预期结果

按量付费实例数9台,抢占式实例数3台。

结果说明

组内最小按量实例数 不计入 按量实例所占比例 ,因此组内总按量实例数为2+(12−2)∗70%=9,抢占式实例数为(12−2)∗(1−70%)=3。

说明 您可以在ECS控制台查看实例的付费模式。

标签:伸缩,抢占,组策略,配置,实例,按量,出价,巧用
From: https://www.cnblogs.com/alicloudros/p/18677014

相关文章

  • 手把手教你学simulink(80.2)--智能家居语音助手系统场景实例:基于Simulink设计和仿真语音
    目录语音助手集成场景下的命令识别与响应建模项目实例项目背景介绍系统架构1. 语音采集模块(AudioCapture)2. 语音处理模块(SpeechProcessing)3. 命令识别模块(CommandRecognition)4. 响应生成模块(ResponseGeneration)5. 通信模块(Communication)仿真......
  • Bitmap的巧用
    题目关于用户标签的需求:用户标签包括用户的社会属性、生活习惯、消费行为等信息。例如,程序员,有驾照,单身等等。通过用户标签,可以对多样的用户群体进行统计。例如,统计用户的男女比例,统计喜欢旅游的用户数量等。通常的思路,是使用关系型数据库,比如Occupation表示用户职位,gender表示......
  • vue2子组件获取父组件的实例以及数据,vue2子组件获取父组件的数据
    多个组件引入同一个js文件,实例化对象,数据不会错乱,再引入相同的组件,例如每个页面都需要引入到一个分页组件,然后分页组件需要获取各自父组件中的实例对象通过  this.$parent 即可获取到父组件中的数据所以在使用子组件时可以不用在组件上传入数据 公共js文件functionda......
  • 【详解】HadoopHDFS操作实例
    目录HadoopHDFS操作实例环境准备HDFS基本命令1.查看HDFS目录内容2.创建目录3.上传文件4.下载文件5.删除文件或目录6.查看文件内容高级操作1.文件重命名2.设置文件权限3.查看文件系统状态1.创建目录2.上传文件3.下载文件4.删除文件或目录注意事......
  • 一个实例用全创建型模式
       目录:《一个实例讲完23种设计模式》当前:单件+抽象工厂+创建者+工厂方法需求:坦克大战创建两种坦克坦克类型射程速度b7070米时/70公里b5050米时/50公里设计说明1.抽象工厂(AbstractFActory)承担了创建部件的任务2.创建者(IBuilder)承担了讲部件组装的任务3.工厂方法(......
  • 第2.0章 PCL点云滤波方法原理及代码实例最全总结
    以下是对PCL(PointCloudLibrary)中各种滤波方法的总结,包括原理、所需头文件、机器人SLAM中的代码应用实例及使用说明:一、体素网格滤波(VoxelGridFilter)原理:体素网格滤波将三维空间划分为一个个小的立方体,即体素(Voxel)。对于每个体素,根据用户设定的体素尺寸,通过某种策......
  • 15个Linux Grep命令使用实例(实用、常用)
    Grep命令主要用于从文件中查找指定的字符串。首先建一个demo_file:复制代码代码如下:$catdemo_fileTHISLINEISTHE1STUPPERCASELINEINTHISFILE.thislineisthe1stlowercaselineinthisfile.ThisLineHasAllItsFirstCharacterOfTheWordWithUpper......
  • keycloak~巧用client-scope实现token字段和userinfo接口的授权
    keycloak中的client-scope允许你为每个客户端分配scope,而scope就是授权范围,它直接影响了token中的内容,及userinfo端点可以获取到的用户信息,这块我们可以通过自定义scope/mapper,来实现粒度的控制,并且这个mapper可以控制添加到token,或者添加到userinfo端点,这两块配置也是独立的,下面......
  • 巧用VTable打造炫酷金字塔图表
    在数据分析和可视化领域,表格是展示数据直观、有效的方式之一。今天,就让我们来探索如何利用VTable这个强大的表格组件,制作出既美观又富有信息量的金字塔图表,以及深入了解VTable中各种单元格类型的使用方法,让你的表格也能“绘”出精彩图表!用VTable实现人口金字塔 人口金字塔是......
  • JS宏实例:拆分工作表
    一、确定拆分条件这里,以昨日合并后的数据为例。将其逆向操作,也就是按照班级将上一期的结果表进行拆分,并储存到新的工作簿中。数据源如下图所示:二、逻辑构思明确任务目的后,我们就能根据以往所学的知识构思实现方法。首先,我们需要获取数据源中的数据。可以利用Workbooks.Open......