Serverless是云数据库RDS的一种自动伸缩、按秒计费的资源弹性能力。RDS MySQL Serverless实例不采用固定规格,实例的计算资源会在您指定的范围内根据业务负载自动弹性伸缩,存储资源也根据数据量自动扩容,避免资源闲置浪费,并降低数据库运维成本。RDS MySQL Serverless实例还支持自动启停,实例停止期间仅收取存储费用,不收取计算费用。
实例要求
RDS MySQL Serverless实例需满足以下要求。
功能
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实例的计算资源规格变化情况如下。
| 从图中可以看出: |
存储资源
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 节点数
单节点计费单价
不同地域的费用不同,以新加坡为例,费用如下表所示。其他地域的费用请参见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/小时 |
一天的费用:
总费用为2.31105美元+0.192美元=2.50305美元。
在上述场景中,使用一天Serverless实例的费用仅为2.50305美元,相比固定资源规格的按量付费实例,节省了大量成本。
不同实例状态下的收费情况
实例状态 | 计算费用 | 存储费用 |
暂停中 | 收费 | 收费 |
已暂停 | 不收费 | 收费 |
启动中 | 不收费 | 收费 |
运行中 | 收费 | 收费 |
相关操作
创建或释放实例
新建Serverless实例
前提条件
如果通过RAM用户创建RDS实例,该RAM用户必须拥有AliyunRDSFullAccess权限。如何授权,请参见RAM资源授权。
操作步骤
点此打开RDS实例创建页面。
选择计费方式为Serverless。
说明 可以在页面右下角查看价格。您需要完成后续的配置选择,才能最终确定价格。
选择要在哪个地域创建RDS实例。
建议将RDS实例创建在
ECS实例
所在的地域。否则,ECS实例只能通过外网访问RDS实例,无法发挥最佳性能。
说明 关于支持Serverless实例的地域,请参见实例要求。
RDS实例购买后,地域不支持更改,如需使ECS实例通过内网连接RDS实例,请确保RDS实例与ECS实例在同一地域。
如何查看您的ECS实例所属地域,请参考准备工作。
如果您要通过ECS以外的设备(例如本地服务器或电脑)连接RDS实例,则选择将RDS实例创建在离该设备较近的地域即可,后续通过外网地址连接RDS。
选择引擎为MySQL以及需要的版本。
选择产品系列为基础系列或高可用系列。
选择存储类型为ESSD PL1云盘。
ESSD云盘:增强型(Enhanced)SSD云盘,是阿里云全新推出的超高性能云盘产品。ESSD云盘基于新一代分布式块存储架构,结合25GE网络和RDMA技术,为您提供单盘高达100万的随机读写能力和更低的单路时延。
选择资源扩缩范围(RCU)的最小值和上限值,实例会根据实际使用量在这两个值之间自动扩缩容。
可选:按需调整弹性策略和自动启停的配置。
如果您创建的是高可用系列实例,需要选择部署方案(多可用区部署或单可用区部署)和备节点可用区。
滑动滑块,选择存储空间大小。
说明 此处选择的存储空间大小为Serverless实例最小存储空间。
在页面右下角,单击下一步:实例配置。
选择VPC和主节点交换机:建议选择与ECS实例相同的VPC。ECS实例与RDS实例位于不同VPC时,无法内网互通。
加入白名单:选择是否将VPC网段加入到实例白名单中。加入后,同一VPC下的ECS实例可以访问RDS实例。
设置更多自定义参数。如无特殊需求,可保留默认值。
参数 | 说明 |
参数模板 | 选择高性能、异步或默认参数模板,右侧显示模板里的参数。更多信息,请参见使用参数模板。 |
时区 | 设置实例时区。 |
表名大小写 | 默认不区分大小写。如果本地数据库区分表名大小写,可以修改为区分大小写,便于迁移数据。 |
实例释放保护 | 选中可以防止实例被误删。更多信息,请参见开启和关闭实例释放保护。 |
资源组 | 选择默认或自定义的资源组,方便实例管理。 |
高权限账号 | 您可以选择立即设置,输入账号和密码,创建高权限账号。也可以单击稍后设置,后续再创建高权限账号。 高权限账号的相关信息,请参见创建高权限账号。 |
在页面右下角,单击下一步:确认订单。
确认订单信息和购买量,选中服务协议,单击去支付,并完成支付。
查看实例。
进入实例列表,在上方选择实例所在地域,根据创建时间找到刚刚创建的实例。
实例创建需要约1~10分钟。请刷新页面查看。
下一步
创建数据库和账号
弹性伸缩
变更RCU扩缩范围
RDS MySQL Serverless实例以RCU(RDS Capacity Unit)表示性能。Serverless实例会在您给定的最小RCU和上限RCU的范围内,根据实际业务压力自动弹性增加或减少RCU。您可以手动设置RCU的弹性范围。
注意事项
变更RDS MySQL Serverless实例的RCU范围有一定概率触发实例的平滑跨机迁移,可能存在秒级抖动。
操作步骤
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在配置信息区域,单击调整弹性设置。
在弹出的面板中,设置资源扩缩范围(RCU)的最小值和上限值。
说明 RCU值的可选范围在0.5~32之间,1个RCU约等于1核2 GB内存。
单击确定。
存储空间手动扩容和缩容
当RDS MySQL Serverless实例处于运行中状态时,可以手动扩容或缩容实例的存储空间:
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在实例基本信息页的使用统计量区域,单击存储空间右侧的修改,在弹出的面板中单击加号或减号,增加或缩小存储空间,单击确定,在弹出的对话框中单击确认。
说明 因为缩容需要拷贝数据,故需等待数分钟,比扩容时间稍长。扩容或缩容过程中实例状态为升降配中,完成后实例状态会变为运行中。
查看RCU和存储空间的变化
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏,单击监控与报警。
查看数据库容量(RCU)、MySQL存储空间使用量(MB)和磁盘使用率(%)。
变更弹性策略(强制执行扩缩容)
RDS MySQL Serverless实例的RCU弹性扩缩容通常会立刻生效且对业务无影响,但在某些特殊情况下,系统可能无法平滑执行RCU弹性扩缩容,您可以设置实例的弹性策略,决定是否强制执行扩缩容。
功能说明
Serverless实例的弹性策略支持如下操作。
操作 | 说明 |
强制执行 | 强制执行RCU弹性扩缩容,保障数据库性能,实例可能发生切换,请确保客户端应用具备重连机制。实例切换的影响请参见实例切换的影响。 |
不强制执行 | 暂时不执行RCU弹性扩缩容,保持连接和请求,但可能影响稳定性。 |
操作步骤
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在配置信息区域,单击调整弹性设置。
单击高级设置,修改弹性策略,并单击确定。
启动或停止实例
开启或关闭自动启停
新建实例
您可以在新建RDS MySQL Serverless实例过程中开启自动启停功能。
已有实例
如果已有RDS MySQL Serverless实例,请参见下述操作步骤开启。
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在配置信息区域,单击调整弹性设置。
单击高级设置,在自动启停的下拉列表中选择开启,并单击页面下方的确定。
相关API
您可以调用ModifyDBInstanceSpec接口开启或关闭RDS MySQL Serverless实例的自动启停功能。需要配置的参数如下:
参数 | 说明 | 示例值 |
DBInstanceId | 待开启自动启停功能的Serverless实例ID。 | rm-**** |
PayType | Serverless实例的付费类型,固定配置为Serverless。 | Serverless |
Direction | 实例变配类型,固定配置为Serverless。 | Serverless |
ServerlessConfiguration.AutoPause | 自动启停功能开关。 | true |
手动启动实例(不支持手动暂停)
当RDS MySQL Serverless实例处于暂停状态时,可以采用以下任意一种方式手动启动实例:
查看实例启停记录
在RDS控制台的任务列表页,可以查看实例的启动和停止记录。
稳定性保障
定时配置RCU
RCU弹性伸缩的耗时通常为秒级,极小概率下可能因为跨机弹性扩容而耗时3~5分钟。如果您对特定时段的稳定性有严格要求,您可以定时配置Serverless实例的RCU,提前增加RCU数量。详情请参见定时配置Serverless实例的RCU。
其他操作
升级为高可用系列
如果Serverless实例为基础系列,可以升级为高可用系列。
费用
升级操作不收费,升级后会按照高可用系列的计费价格来计费。
操作步骤
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在配置信息区域,单击调整弹性设置。
在弹出的面板中的系列右侧选中高可用系列,单击确定。
在弹出的对话框中,核对升级前后信息,完成后单击确认。
说明 升级过程中,实例的状态为升降配中。升级完成后,实例的状态变为运行中。
常见问题
为什么实例没有自动停止?如何查看实例的当前连接数?
RCU升降要多久,触发条件是什么?
如何选择RCU扩缩范围?
您可以采用其中一种方式: