Serverless资源组弹性计划

更新时间:
复制为 MD 格式

本文档全面介绍DataWorks Serverless资源组的弹性计划功能,这是一项专为Serverless包年包月资源组设计的弹性扩缩容能力。核心采用“预留CU+弹性CU”混合资源模型:用户在享受长期预留资源高性价比与稳定性的基础上,可按需配置分时弹性计划,灵活应对业务波峰、突发流量或周期性负载变化等场景。

功能概述

为提升资源利用率、降低长期使用成本,DataWorks Serverless资源组正式推出弹性计划功能,专为包年包月资源组设计,采用“预留CU+弹性CU”混合资源模型:

  • 预留CU:您购买包年包月资源组时已固定分配的预留计算资源(CU)

  • 弹性CU:通过弹性计划动态扩容生成的弹性计算资源(CU)。

您在购买稳定、高性价比的预留计算资源基础上,可按需叠加弹性CU,灵活应对业务波峰、突发流量或周期性负载变化等场景。系统在计划时间段内自动完成扩容、并在满足相应条件后自动缩容,在确保服务稳定性的同时,释放弹性资源。

通过配置精细化弹性计划,系统可实现计算能力的动态伸缩与成本的按需精控。该方案兼顾了包年包月的长期成本优势与按需弹性的敏捷响应能力,助力企业客户在性能、稳定性与成本效益之间达成最优平衡。

适用范围

  • 权限限制:主账号或已授予AliyunDataWorksFullAccess权限策略的RAM用户。

  • 地域限制:所有支持Serverless资源组的地域。

  • 资源组限制:该弹性计划功能专为Serverless场景下的包年包月资源组设计。

  • 适用场景:弹性扩容资源仅限于数据计算数据集成配额使用,不能用于数据服务个人开发环境大模型服务等场景。

操作步骤

弹性计划采用策略与时机解耦的架构设计:

  • 配置方案:定义扩缩容目标(包括弹性资源(扩容CU数量)及方案名称),作为可复用的策略模板,本身不触发执行动作;

  • 时间计划:定义扩缩容的触发时机与时长策略。

二者构成一对多(1:N)的关联关系:单个配置方案可被多个时间计划复用,适配差异化业务场景,显著提升配置效率并规避冗余;每个时间计划则须唯一绑定至一个配置方案,从而明确执行依据。

您可通过分时弹性计划概览(CU)图表、历史执行记录以及资源组详情页等,直观预览弹性计划配置效果、实时监控扩缩容执行状态,并掌握资源使用水位与弹性CU实际占用情况。

步骤一:配置弹性计划

新增配置方案

  1. 登录DataWorks管理控制台。在控制台左侧导航栏,单击资源组进入资源组列表界面。

  2. 单击目标Serverless包年包月资源组,在右上角单击弹性计划,进入弹性计划页面。

    image

  3. 分时弹性页签中,单击新增配置方案,并按需填写方案名称,如示例中的“午间资源扩容”以及扩容CU量,即弹性CU量。

    image

新增时间计划

完成上述弹性配置方案创建后,该方案默认处于未激活状态,其生效时间范围与生效时间段对应显示为空。为使方案实际生效并触发弹性CU的自动扩缩容,需为其绑定一个或多个时间计划。具体步骤为:

重要

弹性计划创建后需经过调度、资源初始化等流程,建议计划提交时间不晚于计划开始时间前3小时,以预留必要的时间处理窗口。

  1. 分时弹性页签中,单击新增时间计划

    image

  2. 在弹出的窗口中,按需填写生效日期与生效时段(生效时段必须大于1小时,且起止时间仅支持以10分钟为单位进行设置),并从下拉列表中选择已创建的目标弹性配置方案进行绑定。

    image

    说明

    多个弹性扩容规则的有效时间范围不得相互重叠,扩容记录最长保留60天。

  3. 保存后,列表中将新增一条时间计划记录,您可以查看其生效日期范围生效时间段配置方案名称状态等信息;在操作列,可单击修改对该时间计划进行编辑,或点击更多对该计划进行禁用删除

    说明

    若要删除某条时间计划,需先将其禁用,再执行删除操作。

    若要重新启用已禁用的时间计划,可点击更多 > 启用对该计划进行启用。

    时间计划的不同状态有:

    image

    状态

    说明

    待生效

    计划处于待生效状态(含初始化中)。

    生效中

    该弹性计划处于生命周期状态的扩容中扩容成功缩容中任一状态中。关于生命周期各状态详解,可以参见:生命周期状态

    已禁用

    该时间计划已被手动禁用。

    已过期

    计划的生效日期已结束,系统将不再执行该计划。

  4. 同时系统将自动更新对应配置方案的状态信息:在资源配置方案列表中,可查看该方案关联的生效日期范围与生效时段。

说明

若要删除某个弹性配置方案,需先删除其所有已绑定的时间计划。待该配置方案不再关联任何时间计划后,即可在资源配置方案列表中,于目标方案的操作列单击更多进行删除。

步骤二:计划预览

完成步骤一中所述的弹性计划配置后,可按需查看分时弹性计划概览以及通过日历视角查看分时弹性计划。

分时弹性计划概览

弹性计划页面,您可通过分时弹性计划概览(CU)图表直观查看指定日期内各时段的资源配额分布;图表右上角支持按日切换日期,横轴显示时间段,纵轴显示CU总量,其中预留CU与弹性CU以不同色块区分呈现,便于您精准掌握资源水位变化与弹性伸缩效果。

image

日历视角查看分时弹性

分时弹性页签右上角,单击日历视角切换按钮,可按日、周、月维度查看弹性计划。在日历视图中,您可直观查看各配置方案在生效日期范围内的具体生效时段及对应的弹性CU扩容量。

image

步骤三:监控执行状态与资源使用

查看历史执行记录

分时弹性页签,切换至历史执行记录页,可查看历史的弹性扩缩容任务详情,包括:对应配置方案名称、方案实际开始时间、实际结束时间、状态等信息。

image

栏位

说明

配置方案名称

资源配置方案名称。该名称由用户在创建弹性配置方案时自定义,用于区分不同扩容策略。

计划起始时间

用户在时间计划中设定的弹性扩容操作的理论起始时刻点,即系统开始尝试分配弹性资源的时间基准点。

计划结束时间

用户在时间计划中设定的弹性扩容有效期的理论结束时刻点,即系统开始执行缩容释放弹性资源的时间基准点。

扩容CU

本次弹性计划中额外分配的弹性计算资源(CU)数量。扩容成功后,资源组总CU=预留计算资源(CU)+本栏数值。

实际生效日期

弹性计划成功触发的日期。

实际开始时间

系统实际完成弹性CU分配、资源组开始具备新增弹性资源的精确时刻点

说明

实际开始时间可能因系统调度,初始化等因素较计划起始时间略有延迟。

实际结束时间

系统完成弹性CU全部释放,资源组恢复至预留规格运行的精确时刻点。

状态

正常的状态包括:初始化中扩容中扩容超时扩容成功缩容中缩容超时缩容成功。各个状态信息的详细解释,可以参见:生命周期状态

若您在弹性计划处于运行状态时执行强制停止操作,系统将按照相应规则,将其状态更新为扩容超时(强制结束)缩容成功(强制结束);具体规则说明可以参见:强制停止

监控资源使用

资源组详情页面,您可查看弹性规格资源使用率等信息。将鼠标悬停于资源使用率图表上时,系统将显示四类CU明细:预留已占用预留未占用弹性未占用弹性已占用

image

功能详解

生命周期状态

当创建好配置方案以及时间计划后,弹性计划的生命周期状态共包含以下七种状态。其中正常的生命周期状态链路为:初始化中 > 扩容中 > 扩容成功 > 缩容中 > 缩容成功。而扩容超时缩容超时为两种异常超时状态。

扩容超时缩容超时缩容成功均为弹性计划生命周期的终态,一旦进入任一状态,当日进行的该次弹性计划即终止执行,不再发生状态迁移。

image

状态

状态说明

初始化中

计划起始时间30分钟,系统自动进入初始化阶段。此期间对弹性计划的修改(如调整弹性CU量、时间范围等)将暂不生效,待下一次计划周期启动时应用。

扩容中

自设定的计划起始时间起,系统持续尝试分配弹性CU,直至成功达到配置的弹性CU量,或超出该计划的计划结束时间。若在计划时间窗口内完成扩容,则进入“扩容成功”状态;否则转入“扩容超时”。

扩容成功

系统已成功分配所配置的弹性CU,资源组获得对应计算能力。

重要

弹性扩容资源仅限于数据计算数据集成配额使用,不能用于数据服务个人开发环境大模型服务等场景。

扩容超时

扩容超时是指弹性计划在指定时间窗口内未能成功完成弹性CU分配。根据触发原因,可分为以下两类场景:

  • 通用场景:直到设定计划结束时间,申请弹性资源仍未完成。

    重要

    最佳实践:弹性计划创建后需经过系统调度、资源初始化等流程,建议计划提交时间不晚于计划开始时间前3小时,以预留必要的时间处理窗口。

  • 特殊场景:当弹性计划B启动时,若前序弹性计划A仍处于缩容过程中,且当前资源组的实际使用量>资源组预留规格 + 计划B弹性规格,则计划B无法成功接管资源。

    若在计划B计划结束时间之后,资源组使用量仍高于其扩容后的总规格(即资源组预留规格 + 计划B弹性规格),则计划B将被标记为“扩容超时”。

说明

关于扩容超时的进一步举例说明,可以参见扩容超时&缩容超时

缩容中

计划结束时间开始,系统将自动尝试缩容以释放弹性资源。在缩容过程中,资源组停止为新任务分配CU计算资源(此时新任务会处于等待资源调度状态),并等待正在运行的任务自然结束。当资源组CU使用量≤预留规格CU)时,系统将整块释放弹性CU。

缩容成功

资源组总使用量已稳定回落至预留规格CU以内,所有弹性CU已完全释放。Serverless资源组恢复使用预留CU提供服务,并开始分配任务。

缩容超时

当弹性计划B已进入“缩容中”状态,但因资源组CU使用量持续高于预留规格,导致弹性CU无法整块释放;此时,若后续弹性计划C成功接管资源(即其扩容操作完成且开始生效),系统将立即终止计划B的缩容流程,并将其生命周期状态更新为缩容超时

该状态表明:计划B未能在其计划结束时间后完成弹性CU回收,其资源管理职责已由新接管的计划C承接。

说明

关于缩容超时的进一步举例说明,可以参见扩容超时&缩容超时

统一资源池机制

在弹性扩容成功后,系统将弹性CU与预留CU统一纳入资源组的总计算能力池,二者在底层调度和资源分配层面不作区分。即:

  • 资源组对外呈现的总CU规格 = 预留计算资源(CU)+ 已生效的弹性CU;

  • 任务调度按需从该统一资源池中分配计算单元,不感知也不限制任务必须运行在“弹性CU”或“预留CU”上——所有CU具备完全等效的计算能力与服务保障。

这一设计体现了“资源池化、按需供给”的Serverless核心理念:弹性CU并非独立隔离的资源切片,而是对预留规格的动态增强,其本质是在既有资源基线之上无缝叠加可计量、可释放的增量算力

在缩容阶段,系统通过实时监控资源组CU使用量(即当前正在被任务占用的CU总数),并结合预设的预留规格,动态推导弹性CU的实际占用情况:

弹性CU实际使用量 = max(0, 资源组CU使用量 − 预留计算资源(CU))

该公式确保:

  • 当资源组CU使用量 ≤ 预留规格时,弹性CU使用量为0,满足整块释放条件;

  • 当资源组CU使用量 > 预留规格时,超出部分即为弹性CU承担的负载,在缩容期间系统据此持续计费,直至缩容完成。

资源伸缩机制

Serverless 资源组的弹性扩缩容采用原子化、整块式、安全可控的设计原则,确保业务稳定性与资源利用率的双重保障。即弹性CU以配置方案中定义的完整CU数量为单位,进行统一分配或整体释放,不支持按需碎片化伸缩。具体表现为:

  • 扩容时,系统一次性初始化并分配全部弹性CU。

  • 缩容时,当资源组CU使用量≤预留规格CU)时,系统将整块释放全部弹性CU。

缩容安全机制

为最大程度保障任务稳定运行、杜绝因资源释放导致的任务中断或失败,Serverless资源组的缩容过程严格遵循以下安全机制:

  • 计划结束时间起,资源组停止为新任务分配CU计算资源,新任务会处于等待调度资源的状态。

  • 到达计划结束时间时,若资源组中仍有任务正在运行,系统不会强制终止这些任务,而是允许其继续执行直至自然完成。

  • 在缩容过程中,系统持续监控资源组总CU使用量,仅资源组CU使用量≤预留规格CU)时,系统才开始对弹性CU进行整块回收。

特殊场景说明

扩容超时&缩容超时

场景描述:

资源组预留规格为10CU,现有3个弹性计划如下:

  • 弹性计划A:扩容规格为30CU,计划时间范围为9:00-11:00。

  • 弹性计划B:扩容规格为20CU,计划时间范围为12:00-14:00。

  • 弹性计划C:扩容规格为8CU,计划时间范围为15:00-17:00。

下文通过示意图+时序表格,直观呈现弹性计划A/B/C在多阶段重叠场景下对应的生命周期状态演进过程,帮助您深入理解扩缩容协同机制与超时判定逻辑。

image

时间

资源组总CU使用量(假定值)

预留规格

弹性CU实际使用量

系统行为与状态

9:00

28CU

10CU

18CU

计划A启动扩容,系统分配30弹性CU。

11:00

40CU

10CU

30CU

计划A开启自动缩容,但资源组CU使用量>预留规格,计划A显示状态为缩容中

12:00

38CU

10CU

28CU

  • 当前资源组CU使用量>资源组预留规格 + 计划B弹性规格,计划B无法成功接管资源。

  • 由于弹性计划B未能成功接管资源,计划A仍处于缩容中,从而继续承担超出预留规格的计算负载,确保任务平稳运行。

14:00

32CU

10CU

22CU

  • 直至弹性计划B计划结束时间,资源组CU使用量>预留规格+计划B弹性规格,计划B标记为扩容超时

  • 计划A仍处于缩容中

15:00

22CU

10CU

12CU

  • 当前资源组CU使用量>资源组预留规格 + 计划C弹性规格,计划C无法成功接管资源。

  • 计划A仍处于缩容中

16:00

18CU

10CU

8CU

  • 当前资源组CU使用量=资源组预留规格 + 计划C弹性规格,计划C成功接管资源。

  • 计划A由于C的成功接管而标记为缩容超时

17:00

10CU

10CU

0

计划C开启自动缩容,并缩容成功

强制停止

您可在弹性计划处于以下状态时执行强制结束操作,系统将按如下规则响应:

  • 初始化中扩容中:强制停止将立即终止当前扩容流程,弹性CU不会被分配,该次计划状态将变更为扩容超时(强制结束);同时,计划结束时间将同步更新为用户手动强制停止操作的时间。

  • 扩容成功:强制停止将触发提前缩容——系统立即停止为新任务分配CU,并等待运行中任务自然结束;当资源组总CU使用量≤预留规格后,整块释放弹性CU,最终状态为缩容成功(强制结束);同时,计划结束时间将同步更新为用户手动强制停止操作的时间。

    说明

    执行强制停止操作后,若当前有任务使用扩容出来的资源(即弹性CU),该计划会显示缩容中(强制结束),直到资源组CU使用量≤预留规格CU),系统整块释放弹性CU,状态更新为缩容成功(强制结束)

操作步骤

根据时间计划的不同状态,强制停止功能提供两个不同的操作入口:

  • 针对在初始化中的计划,其时间计划状态显示为待生效。若要强制停止:

    分时弹性页签,若要强制停止初始化中的计划,在操作列,可点击更多 > 禁用对该计划进行强制停止

    image

  • 针对处于扩容中扩容成功状态的计划,其时间计划状态显示为生效中。若要强制停止:

    分时弹性页签,针对生效中的弹性时间计划,在操作列,可点击更多 > 强制停止对该计划进行强制停止image

举例说明

  • 扩容超时(强制结束)场景下强制停止将立即终止当前扩容流程,弹性CU不会被分配。计划的“计划结束时间”将更新为用户执行强制停止操作的精确时刻。

    如举例中:弹性计划原定的时间范围为12:00-13:00。该计划在11:30自动开始进行初始化,用户在11:40时执行了强制停止操作。则该计划的计划结束时间相应更新为11:40。

    image

  • 缩容成功(强制结束)场景下,系统将立即触发提前缩容,此时计划的“计划结束时间”将更新为用户执行强制停止操作的精确时刻,计划的“实际结束时间”为缩容成功的精确时刻。

    如举例中:弹性计划原定的时间范围为11:00-12:00。如果在11:42执行强制停止操作,则该计划的“计划结束时间”立即更新为11:42。然而,由于此时仍有任务运行在弹性CU上(即资源组总CU使用量高于预留规格),系统无法立即回收弹性资源。直至12:59分所有任务结束,弹性资源才得以完全释放,此时该计划的“实际结束时间”将被记录为12:59。image

计费说明

计费规则

弹性计划的资源规格采用按量计费模式。在计划时间内,按照配置的扩容规格(CU时长)计费;超出计划时间后,弹性扩容出的资源按照实际使用量(CU时长)计费。CU单价可参见:资源组计费CU单价。计费周期分为以下两个阶段:

  • 扩容:在扩容计划时间内,按照配置的扩容规格(CU时长)计费。如实际扩容时间为1.2小时,扩容规格为5CU,则扩容期间收费为 5CU × 1.2小时= 6CU时。实际扩容时间的计算如下:

    实际扩容时间 = 计划结束时间 - 实际开始时间

    说明

    为保障计费公平性,扩容期间计费时长按实际执行区间计算,即从实际开始时间至计划结束时间,而非基于计划开始时间。

  • 缩容:弹性CU在缩容阶段(即计划结束时间之后、弹性资源完全释放之前)按实际占用量计费。系统按分钟粒度,在每分钟结束时刻采集一次资源组CU使用量(当前正在运行任务所占用的CU总数),并基于预留规格动态计算弹性CU的实际使用量:

    每分钟弹性CU实际使用量 = max(0, 该分钟结束时刻采集的资源组总CU使用量 − 预留计算资源(CU))

    每分钟产生的CU = 该分钟的弹性CU实际使用量 × (1/60) 小时

    实际缩容时间 = 实际结束时间 - 计划结束时间

    计费持续至弹性CU全部释放为止,整块弹性资源释放完成后,不再产生费用。

举例说明

假设某 Serverless 资源组预留规格为 10 CU,配置弹性计划:

  • 扩容规格:20CU(即弹性CU=20)。

  • 计划起始时间:11:00:00,计划结束时间:12:00:00(计划时长 = 1 小时)。

  • 实际开始时间:11:03:00,实际结束时间:12:02:50。

image

费用分两阶段计算:

1. 扩容期间费用(按实际扩容时间以及弹性规格计费)
自实际开始时间(11:03)起,系统按配置的弹性CU规格和扩容时间计费。此处实际扩容时间为57分钟。

产生的CU时 = 20CU × (57/60)小时 = 19CU

2. 缩容期间费用(按分钟级实际弹性使用量计费)
自计划结束时间(12:00)起,至弹性CU完全释放(12:02:50),系统按分钟粒度,在每分钟结束时刻采集一次资源组CU使用量,并按公式动态计算该分钟的弹性CU实际使用量。

每分钟弹性CU实际使用量 = max(0, 该分钟结束时刻采集的资源组总CU使用量 − 预留计算资源(CU))

每分钟产生的CU = 该分钟的弹性CU实际使用量 × (1/60) 小时

例如:

  • 12:01 时刻末资源组CU使用量28CU,则弹性CU实际使用量=28−10=18CU,进而该分钟内产生的CU时= 18×(1/60) 小时 = 0.3CU时。

  • 12:02 时刻末资源组CU使用量16CU,则弹性CU实际使用量=16−10=6CU,进而该分钟内产生的CU时= 6×(1/60) 小时 = 0.1CU时。

  • 12:03 时刻末资源组CU使用量≤预留规格CU),弹性资源已全部释放,12:02:0112:02:50时段内产生的CU时未收费。

则缩容期间产生的费用为 0.3+0.1=0.4CU时。

3. 收费总和

产生的CU时总和 = 扩容期间产生的CU时 + 缩容期间产生的CU时总和

则整个期间产生的CU时为:19+0.4=19.4CU时。

配额与限制

  • 单个弹性扩容计划的最大扩容规格为1000CU,且不得超过该资源组预留规格5(即:弹性CU≤min(1000, 预留规格×5))。

  • 在弹性计划执行期间,您仍可对资源组执行手动扩缩容操作。

  • 单个资源组最多可同时设置5个生效的弹性配置方案,并可配置最多20个时间计划(不含已禁用的计划)。

  • 弹性计划创建后需经过系统调度、资源初始化等流程,建议计划提交时间不晚于计划开始时间前3小时,以预留必要的时间处理窗口。

  • 单个资源组在任意时刻最多仅有一个时间计划处于生效中状态;因此,所有已启用的时间计划之间,其生效日期范围与生效时段不得存在任何时间重叠。系统将在创建或修改时间计划时自动校验并阻止重叠配置。

常见问题(FAQ)

Q:为什么创建的时间计划在当日未生效?
A:若弹性计划的提交时间距离其当日计划开始时间不足5分钟,或提交时间已晚于当日计划的开始时间,则系统在当日不会检测并触发该计划,因此该计划当日不会生效,将顺延至下一个符合条件的生效日执行。

Q:如何更好地避免出现扩容超时或缩容超时的情况?

A:建议您可以采取以下策略:

  • 预留计划初始化时间:弹性计划创建后需经过系统调度、资源初始化等流程,建议计划提交时间不晚于计划开始时间前3小时,以预留必要的时间处理窗口。

  • 预留安全缓冲期:在两个连续的弹性计划之间设置合理时间间隔,为前一个计划的缩容过程预留安全缓冲期。

  • 资源评估并合理规划计划:对于无法避免的长耗时任务,可将其所在的弹性计划的持续时间适当延长,覆盖其完整的执行周期。

Q:弹性扩容资源仅支持数据计算与数据集成使用,其他场景(如数据服务、个人开发环境、大模型服务等)需要扩容时,该如何操作?

A:弹性计划专用于数据计算与数据集成等批处理场景,对于数据服务、个人开发环境、大模型服务等非批任务型长周期性场景,弹性扩容资源不可用。如需提升此类场景的资源容量,您可对包年包月资源组执行手动规格变更,即升级预留CU规格。