全部产品
Search
文档中心

云数据库 RDS:RDS MySQL Serverless实例

更新时间:Nov 14, 2024

Serverless是云数据库RDS的一种自动伸缩、按秒计费的资源弹性能力。RDS MySQL Serverless实例不采用固定规格,实例的计算资源会在您指定的范围内根据业务负载自动弹性伸缩,存储资源也根据数据量自动扩容,避免资源闲置浪费,并降低数据库运维成本。RDS MySQL Serverless实例还支持自动启停,实例停止期间仅收取存储费用,不收取计算费用。

实例要求

RDS MySQL Serverless实例需满足以下要求。

  • 地域:华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国(香港)、新加坡、美国(弗吉尼亚)、美国(硅谷)、德国(法兰克福)、英国(伦敦)、泰国(曼谷)、韩国(首尔)、菲律宾(马尼拉)、日本(东京)、马来西亚(吉隆坡)、印度尼亚西(雅加达)

  • 产品系列:基础系列或高可用系列

  • 存储类型:ESSD PL1云盘、通用云盘

功能

RDS MySQL Serverless实例和常规RDS MySQL实例一样支持自动主备切换(限高可用系列)、自动备份等功能,同时额外支持自动弹性伸缩、自动启停的功能,暂不支持部分功能(如只读实例和X-Engine引擎),具体支持的功能请参见功能概览

自动弹性伸缩

计算资源

RDS MySQL Serverless计算资源的单位是RCU(RDS Capacity Unit),1个RCU约等于2GB内存及对应CPU(当前为1核2GB内存),实例计算资源会在您指定的RCU范围内自动伸缩。

当前最小0.5RCU、最大32RCU,扩缩容的粒度为0.5RCU。

当业务波动较大时,普通实例和Serverless实例的计算资源规格变化情况如下。

资源对比

从图中可以看出:

  • 普通实例:波谷期浪费资源较多,高峰期资源不足且业务受损。

  • Serverless实例:

    • 根据业务负载自动扩缩容,减少运维成本和风险。

    • 资源利用率高,降低资源成本。

    • 高峰期也能满足业务需求,提高系统稳定性。

存储资源

  • RDS MySQL Serverless实例最大存储空间为32 TB,最小存储空间与存储类型相关:ESSD PL1云盘为20 GB,通用云盘为40 GB。

  • 您需要为实例指定最小存储空间。当可用存储空间不足时,存储空间自动扩容。

  • 为保障实例稳定,不支持自动缩容,您可以手动缩容。缩容后的最小空间为:min{数据量*1.3, 数据量+400 GB},且不能小于规格的最小存储空间。

自动启停

自动启停功能默认关闭。如果您的数据库在某些时间段内没有业务请求,您可以开启自动启停功能。

  • 如果实例在10分钟内无连接,实例自动暂停。

  • 有任何连接请求时,实例自动启动。

    说明

    启动过程约6~40秒,根据不同的实例库表状态会有浮动。在启动过程中,实例不可用。

  • 实例停止期间仅收取存储费用,不收取计算费用。

适用场景

  • 有明显业务波峰波谷的场景

  • 低频使用数据库的场景,例如测试环境

  • 间歇性定时任务的场景,例如学校教学、学生实验

  • 不确定负载的场景,例如物联网(IoT)、边缘计算

  • 期望降低运维成本、提升运维效率的场景

计费

计费组成

RDS MySQL Serverless实例的费用=单节点的费用 x 实例节点个数

Serverless基础系列实例、高可用系列实例的费用如下表所示:

Serverless实例类型

节点数

实例费用

基础系列

1

单节点的费用

高可用系列

2

单节点的费用x2

计费单价

RDS MySQL Serverless实例费用按小时出账。

公式:每小时费用 = 单节点资源使用量 x 单价 x 节点数

单节点资源使用量

  • 计算资源:以RCU(RDS Capacity Unit)为单位,1个RCU约等于1核2 GB内存,每次升降为0.5RCU的整数倍,每小时RCU使用量等于该小时内每秒RCU的平均值。

  • 存储资源:您需要为实例指定最小存储空间。数据量小于最小存储空间时,按最小存储空间计费。可用存储空间不足时,存储空间自动扩容,按扩容后的存储空间计费。

单节点计费单价

不同地域的费用不同,以新加坡为例,费用如下表所示。其他地域的费用请参见RDS实例购买页

收费项

标准单价

RCU(RDS Capacity Unit)

0.07455美元/小时/RCU

存储

0.0004美元/小时/GB

计费公式:Serverless总费用=RCU费用+存储空间费用。

节点数

基础系列为单节点,高可用系列为双节点。

计费示例

例如:用户在新加坡地域购买了一个Serverless基础系列(单节点)实例,计算资源扩缩范围为0.5 RCU~8 RCU,存储空间为20 GB,一天内经历了一小时业务高峰,使用了8 RCU,其余小时均使用1 RCU,存储空间使用量为20 GB。

单价:不同地域的费用不同,以新加坡为例,如下表所示。其他地域的费用请参见RDS实例购买页

收费项

地域

标准单价

RCU

新加坡

0.07455美元/RCU/小时

存储

0.0004美元/GB/小时

一天的费用

  • RCU费用:(0.07455x8x1)+(0.07455x1x23)=2.31105美元

  • 存储费用:0.0004x20x24=0.192美元

总费用为2.31105美元+0.192美元=2.50305美元。

在上述场景中,使用一天Serverless实例的费用仅为2.50305美元,相比固定资源规格的按量付费实例,节省了大量成本。

不同实例状态下的收费情况

实例状态

计算费用

存储费用

暂停中

收费

收费

已暂停

不收费

收费

启动中

不收费

收费

运行中

收费

收费

相关操作

创建或释放实例

新建Serverless实例

前提条件

如果通过RAM用户创建RDS实例,该RAM用户必须拥有AliyunRDSFullAccess权限。如何授权,请参见RAM资源授权

操作步骤

  1. 点此打开RDS实例创建页面

  2. 选择计费方式Serverless

    说明

    可以在页面右下角查看价格。您需要完成后续的配置选择,才能最终确定价格。

  3. 选择要在哪个地域创建RDS实例。

    建议将RDS实例创建在 ECS实例 所在的地域。否则,ECS实例只能通过外网访问RDS实例,无法发挥最佳性能。

    说明
    • 关于支持Serverless实例的地域,请参见实例要求

    • RDS实例购买后,地域不支持更改,如需使ECS实例通过内网连接RDS实例,请确保RDS实例与ECS实例在同一地域。

    • 如何查看您的ECS实例所属地域,请参考准备工作

    • 如果您要通过ECS以外的设备(例如本地服务器或电脑)连接RDS实例,则选择将RDS实例创建在离该设备较近的地域即可,后续通过外网地址连接RDS。

  4. 选择引擎MySQL以及需要的版本。

  5. 选择产品系列基础系列高可用系列

  6. 选择存储类型为ESSD PL1云盘。

    ESSD云盘:增强型(Enhanced)SSD云盘,是阿里云全新推出的超高性能云盘产品。ESSD云盘基于新一代分布式块存储架构,结合25GE网络和RDMA技术,为您提供单盘高达100万的随机读写能力和更低的单路时延。

    说明

    存储类型的更多信息,请参见存储类型

  7. 选择资源扩缩范围(RCU)的最小值和上限值,实例会根据实际使用量在这两个值之间自动扩缩容。

  8. 可选:按需调整弹性策略自动启停的配置。

  9. 选择实例所在的 可用区

    • 同一地域不同可用区没有实质性区别。

    • ECS访问同可用区RDS的性能比访问同地域其它可用区RDS更好,但差别较小。

    说明

    若目标可用区右上角提示售罄,请更换可用区。

  10. 如果您创建的是高可用系列实例,需要选择部署方案多可用区部署单可用区部署)和备节点可用区

  11. 滑动滑块,选择存储空间大小。

    说明

    此处选择的存储空间大小为Serverless实例最小存储空间。

  12. 在页面右下角,单击下一步:实例配置

  13. 选择VPC主节点交换机:建议选择与ECS实例相同的VPC。ECS实例与RDS实例位于不同VPC时,无法内网互通。

    说明
    • 根据准备工作,确认您的ECS实例的VPC名称。

    • VPC相同,交换机不同,ECS实例与RDS实例也可以内网互通。

  14. 加入白名单:选择是否将VPC网段加入到实例白名单中。加入后,同一VPC下的ECS实例可以访问RDS实例。

  15. 设置更多自定义参数。如无特殊需求,可保留默认值

    参数

    说明

    参数模板

    选择高性能、异步或默认参数模板,右侧显示模板里的参数。更多信息,请参见使用参数模板

    时区

    设置实例时区。

    表名大小写

    默认不区分大小写。如果本地数据库区分表名大小写,可以修改为区分大小写,便于迁移数据。

    实例释放保护

    选中可以防止实例被误删。更多信息,请参见开启和关闭实例释放保护

    资源组

    选择默认或自定义的资源组,方便实例管理。

    高权限账号

    您可以选择立即设置,输入账号和密码,创建高权限账号。也可以单击稍后设置,后续再创建高权限账号。

    高权限账号的相关信息,请参见创建高权限账号

  16. 在页面右下角,单击下一步:确认订单

  17. 确认订单信息和购买量,选中服务协议,单击去支付,并完成支付。

    控制台提示支付成功开通成功

  18. 查看实例。

    进入实例列表,在上方选择实例所在地域,根据创建时间找到刚刚创建的实例。

    实例创建需要约1~10分钟。请刷新页面查看。

下一步

创建数据库和账号

释放Serverless实例

请参见释放实例

弹性伸缩

变更RCU扩缩范围

RDS MySQL Serverless实例以RCU(RDS Capacity Unit)表示性能。Serverless实例会在您给定的最小RCU和上限RCU的范围内,根据实际业务压力自动弹性增加或减少RCU。您可以手动设置RCU的弹性范围。

注意事项

变更RDS MySQL Serverless实例的RCU范围有一定概率触发实例的平滑跨机迁移,可能存在秒级抖动。

操作步骤

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 配置信息区域,单击调整弹性设置

  3. 在弹出的面板中,设置资源扩缩范围(RCU)最小值和上限值。

    说明

    RCU值的可选范围在0.5~32之间,1个RCU约等于1核2 GB内存。

  4. 单击确定

存储空间手动扩容和缩容

当RDS MySQL Serverless实例处于运行中状态时,可以手动扩容或缩容实例的存储空间:

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在实例基本信息页的使用统计量区域,单击存储空间右侧的修改,在弹出的面板中单击加号或减号,增加或缩小存储空间,单击确定,在弹出的对话框中单击确认

说明

因为缩容需要拷贝数据,故需等待数分钟,比扩容时间稍长。扩容或缩容过程中实例状态为升降配中,完成后实例状态会变为运行中

查看RCU和存储空间的变化

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏,单击监控与报警

  3. 查看数据库容量(RCU)MySQL存储空间使用量(MB)磁盘使用率(%)

变更弹性策略(强制执行扩缩容)

RDS MySQL Serverless实例的RCU弹性扩缩容通常会立刻生效且对业务无影响,但在某些特殊情况下,系统可能无法平滑执行RCU弹性扩缩容,您可以设置实例的弹性策略,决定是否强制执行扩缩容。

功能说明

Serverless实例的弹性策略支持如下操作。

操作

说明

强制执行

强制执行RCU弹性扩缩容,保障数据库性能,实例可能发生切换,请确保客户端应用具备重连机制。实例切换的影响请参见实例切换的影响

不强制执行

暂时不执行RCU弹性扩缩容,保持连接和请求,但可能影响稳定性。

操作步骤

  • 如果您尚未创建RDS MySQL Serverless实例,可以在创建过程中选择弹性策略

  • 如果您已创建RDS MySQL Serverless实例但需要调整弹性策略,请参见下述操作步骤。

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 配置信息区域,单击调整弹性设置

  3. 单击高级设置,修改弹性策略,并单击确定

启动或停止实例

开启或关闭自动启停

新建实例

您可以在新建RDS MySQL Serverless实例过程中开启自动启停功能。

已有实例

如果已有RDS MySQL Serverless实例,请参见下述操作步骤开启。

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 配置信息区域,单击调整弹性设置

  3. 单击高级设置,在自动启停的下拉列表中选择开启,并单击页面下方的确定

相关API

您可以调用ModifyDBInstanceSpec接口开启或关闭RDS MySQL Serverless实例的自动启停功能。需要配置的参数如下:

参数

说明

示例值

DBInstanceId

待开启自动启停功能的Serverless实例ID。

rm-****

PayType

Serverless实例的付费类型,固定配置为Serverless。

Serverless

Direction

实例变配类型,固定配置为Serverless。

Serverless

ServerlessConfiguration.AutoPause

自动启停功能开关。

  • true:启用

  • false(默认):不启用

true

手动启动实例(不支持手动暂停)

当RDS MySQL Serverless实例处于暂停状态时,可以采用以下任意一种方式手动启动实例:

  • 实例列表页操作:

    访问RDS实例列表,在上方选择地域,在目标实例操作列,单击更多,在下拉列表中单击启动实例

  • 实例详情页操作:

    访问RDS实例列表,在上方选择地域,然后单击目标实例ID。在实例基本信息页的运行状态区域,单击启动实例

查看实例启停记录

在RDS控制台的任务列表页,可以查看实例的启动和停止记录。

稳定性保障

定时配置RCU

RCU弹性伸缩的耗时通常为秒级,极小概率下可能因为跨机弹性扩容而耗时3~5分钟。如果您对特定时段的稳定性有严格要求,您可以定时配置Serverless实例的RCU,提前增加RCU数量。详情请参见定时配置Serverless实例的RCU

其他操作

升级为高可用系列

如果Serverless实例为基础系列,可以升级为高可用系列。

费用

升级操作不收费,升级后会按照高可用系列的计费价格来计费。

操作步骤

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 配置信息区域,单击调整弹性设置

  3. 在弹出的面板中的系列右侧选中高可用系列,单击确定

  4. 在弹出的对话框中,核对升级前后信息,完成后单击确认

    说明

    升级过程中,实例的状态为升降配中。升级完成后,实例的状态变为运行中

常见问题

  1. 为什么实例没有自动停止?如何查看实例的当前连接数?

    • 自动启停功能默认关闭,需要手动开启。

    • 如果已开启,您可以查看实例的连接数。

      • 查看连接数:在实例详情页左侧,选择监控与报警,查看会话连接指标。

      • 查看有哪些连接:执行SHOW PROCESSLIST查看。

    • 如果申请了公网地址且白名单全放开,可能会被外部恶意扫描导致不会自动暂停。建议释放公网地址或修改白名单。

  2. RCU升降要多久,触发条件是什么?

    • 耗时:RCU升降通常实时完成,少数情况下需要跨机迁移(2~5分钟)。高可用系列由于有备节点,发生跨机迁移的概率更低。

    • 触发条件:

      • CPU使用率和内存使用率其中一个升高至阈值时扩容。

      • CPU使用率和内存使用率两者都降低至阈值时缩容。

      • 阈值在60%~80%之间,因具体情况而异,且可能会调整以保障可用性。

  3. 如何选择RCU扩缩范围?

    您可以采用其中一种方式:

    • 进行压测,得到最低负载和最高负载时所需的RCU数或CPU核数。

    • 按业务需要的CPU核数评估。1个RCU约等于1核2 GB内存。