如何在阿里云上启用PolarDB的Serverless模式?

在阿里云上启用 PolarDB 的 Serverless 模式,可以实现根据实际负载自动扩缩容计算资源,从而节省成本并提升资源利用率。以下是详细的操作步骤:


✅ 一、前提条件

  1. 账号权限:确保你拥有阿里云账号,并具备创建和管理数据库实例的权限(如 AliyunRDSFullAccess 或自定义策略)。
  2. 地域支持:PolarDB Serverless 目前仅在部分地域开放(如华东1/2、华北2、华南1等),请确认所选地域支持。
  3. 网络环境:建议提前规划好 VPC(专有网络)和交换机。

✅ 二、创建 PolarDB Serverless 实例(控制台方式)

步骤 1:登录阿里云控制台

  • 访问 阿里云 PolarDB 控制台
  • 选择目标地域(需支持 Serverless)

步骤 2:创建实例

  1. 点击 “创建实例”

  2. 配置基本信息:

    • 数据库类型:选择 PolarDB for MySQL(目前 Serverless 主要支持 MySQL 兼容版)
    • 版本:建议选择 8.0 或 5.7
    • 系列:选择 “Serverless”

      ⚠️ 注意:这里必须选择“Serverless”模式,而不是集群版或历史库。

  3. 配置规格:

    • 初始计算节点规格:可选 2核8GB、4核16GB 等
    • 最大弹性规格:设置自动扩容上限(如 16核64GB)
    • 最小规格:可设为 0.5核2GB(按需缩容)
    • 存储空间:自动弹性扩展,起始 50GB,最高可达 PB 级
  4. 网络配置:

    • 选择 VPC 和交换机
    • 设置安全组(允许访问 IP)
  5. 设置账户:

    • 创建主账号(如 root)及密码
  6. 确认配置并支付(按量计费)

✅ 提交后,系统将创建 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 是否启用成功

  1. 在控制台查看实例详情:
    • “系列” 显示为 Serverless
    • 可看到“弹性配置”中的最小/最大规格
  2. 观察监控指标:
    • CPU 利用率变化时,系统会自动调整计算资源
    • 存储使用量自动增长

✅ 五、注意事项

项目 说明
计费方式 按量付费(计算 + 存储),无固定包年包月费用
自动暂停 可开启“无负载自动暂停”,暂停后只收存储费
冷启动延迟 暂停后首次请求可能有秒级延迟
适用场景 流量波动大、突发业务、测试环境等
不适用场景 高频稳定负载、对延迟敏感的核心生产系统

✅ 六、常见问题

Q:如何关闭 Serverless?
A:目前不支持直接转为集群版,需新建实例并迁移数据。

Q:是否支持读写分离?
A:支持,可添加只读节点(也支持 Serverless 规格)。

Q:存储是否独立计费?
A:是的,存储按实际使用量计费,单价低于传统实例。


🔗 参考文档

  • 阿里云 PolarDB Serverless 产品页
  • 官方文档 – 创建 Serverless 实例

如果你提供具体的使用场景(如开发测试、电商促销等),我还可以帮你进一步优化配置建议。