在阿里云上启用 PolarDB 的 Serverless 模式,可以实现根据实际负载自动扩缩容计算资源,从而节省成本并提升资源利用率。以下是详细的操作步骤:
✅ 一、前提条件
- 账号权限:确保你拥有阿里云账号,并具备创建和管理数据库实例的权限(如
AliyunRDSFullAccess或自定义策略)。 - 地域支持:PolarDB Serverless 目前仅在部分地域开放(如华东1/2、华北2、华南1等),请确认所选地域支持。
- 网络环境:建议提前规划好 VPC(专有网络)和交换机。
✅ 二、创建 PolarDB Serverless 实例(控制台方式)
步骤 1:登录阿里云控制台
- 访问 阿里云 PolarDB 控制台
- 选择目标地域(需支持 Serverless)
步骤 2:创建实例
-
点击 “创建实例”
-
配置基本信息:
- 数据库类型:选择
PolarDB for MySQL(目前 Serverless 主要支持 MySQL 兼容版) - 版本:建议选择 8.0 或 5.7
- 系列:选择 “Serverless”
⚠️ 注意:这里必须选择“Serverless”模式,而不是集群版或历史库。
- 数据库类型:选择
-
配置规格:
- 初始计算节点规格:可选 2核8GB、4核16GB 等
- 最大弹性规格:设置自动扩容上限(如 16核64GB)
- 最小规格:可设为 0.5核2GB(按需缩容)
- 存储空间:自动弹性扩展,起始 50GB,最高可达 PB 级
-
网络配置:
- 选择 VPC 和交换机
- 设置安全组(允许访问 IP)
-
设置账户:
- 创建主账号(如 root)及密码
-
确认配置并支付(按量计费)
✅ 提交后,系统将创建 Serverless 实例,通常几分钟内完成。
✅ 三、通过 API 或 Terraform 创建(可选)
使用 Terraform 示例:
resource "alicloud_polardb_cluster" "serverless" {
db_type = "MySQL"
db_version = "8.0"
pay_type = "PayAsYouGo"
db_node_class = "polar.mysql.x4.large" # 初始规格
serverless_type = "Auto" # 启用 Serverless
scale_max = 16 # 最大节点数(弹性上限)
scale_min = 1 # 最小节点数
auto_pause = true # 无负载时自动暂停(可省成本)
resource_group_id = "rg-acfxxxxxx"
vswitch_id = "vsw-xxxxxx"
security_group_ids = ["sg-xxxxxx"]
}
注意:
serverless_type = "Auto"是开启 Serverless 的关键参数。
✅ 四、验证 Serverless 是否启用成功
- 在控制台查看实例详情:
- “系列” 显示为 Serverless
- 可看到“弹性配置”中的最小/最大规格
- 观察监控指标:
- CPU 利用率变化时,系统会自动调整计算资源
- 存储使用量自动增长
✅ 五、注意事项
| 项目 | 说明 |
|---|---|
| 计费方式 | 按量付费(计算 + 存储),无固定包年包月费用 |
| 自动暂停 | 可开启“无负载自动暂停”,暂停后只收存储费 |
| 冷启动延迟 | 暂停后首次请求可能有秒级延迟 |
| 适用场景 | 流量波动大、突发业务、测试环境等 |
| 不适用场景 | 高频稳定负载、对延迟敏感的核心生产系统 |
✅ 六、常见问题
Q:如何关闭 Serverless?
A:目前不支持直接转为集群版,需新建实例并迁移数据。
Q:是否支持读写分离?
A:支持,可添加只读节点(也支持 Serverless 规格)。
Q:存储是否独立计费?
A:是的,存储按实际使用量计费,单价低于传统实例。
🔗 参考文档
- 阿里云 PolarDB Serverless 产品页
- 官方文档 – 创建 Serverless 实例
如果你提供具体的使用场景(如开发测试、电商促销等),我还可以帮你进一步优化配置建议。
CLOUD技术笔记