AWS Aurora Serverless 实战:从0搭建自动伸缩的云数据库(2026最新教程)
Meta Description: AWS Aurora Serverless 实战完整教程:Serverless v2 与预置版、RDS 三方案对比、控制台与 AWS CLI 创建集群实操、ACU 计价与省钱设置、2026 最新价格表和常见问题 FAQ,新手 30 分钟上手自动伸缩云数据库。
- 前言
- Aurora Serverless 是什么:一张表看懂 v1 和 v2
- Serverless v2 vs 预置 Aurora vs RDS:怎么选
- 实操 1:控制台创建 Serverless v2 集群(10 分钟)
- 实操 2:AWS CLI 创建(自动化首选)
- 实操 3:灌数据压测,亲眼看它自动扩容
- 成本真相:ACU 怎么计价,怎么省钱
Meta Description: AWS Aurora Serverless 实战完整教程:Serverless v2 与预置版、RDS 三方案对比、控制台与 AWS CLI 创建集群实操、ACU 计价与省钱设置、2026 最新价格表和常见问题 FAQ,新手 30 分钟上手自动伸缩云数据库。
关键词:AWS Aurora、Aurora Serverless、Serverless v2、云数据库、RDS、Aurora价格、自动伸缩数据库、AWS数据库教程
前言
答案是:业务流量忽高忽低、又不想花精力预估容量,就用 Aurora Serverless v2——它按秒级自动扩缩容,用多少算多少;流量平稳且长期高位运行的,选 Aurora 预置版配 Savings Plans 更便宜;预算紧张的个人项目,直接白嫖 RDS 免费套餐的 db.t3.micro。 决策口诀:"负载像过山车选 Serverless,稳定压测选预置,极致省钱选 RDS 免费套餐"。
Aurora 是 AWS 的云原生关系型数据库,兼容 MySQL 和 PostgreSQL 协议,底层存储自动跨 3 个可用区复制 6 份副本,故障切换秒级完成。Serverless v2 是它的自动伸缩形态:你不用再回答"该买几核几 G",只需设定一个容量区间(比如 0.5~8 ACU),数据库自己根据 CPU、连接数、内存压力在区间内伸缩,扩容最快只要几秒。本文用 3 套实操(控制台/CLI/SQL 压测)、2 张价格表和 6 个高频 FAQ,带你 30 分钟从 0 搭起一个能自动伸缩的云数据库。
一、Aurora Serverless 是什么:一张表看懂 v1 和 v2
Aurora Serverless 的核心计量单位是 ACU(Aurora Capacity Unit,Aurora 容量单元)。1 个 ACU ≈ 2GB 内存 + 对应比例的 CPU 算力,存储和计算分开计费。目前 AWS 主推 Serverless v2,老旧的 v1 只保留存量集群:
| 对比项 | Serverless v2(推荐) | Serverless v1(旧版) |
|---|---|---|
| 支持的引擎 | MySQL 8.0、PostgreSQL 15+ | 仅 MySQL 5.6/5.7、PG 10 |
| 最小容量 | 0.5 ACU(不能缩到 0) | 0 ACU(可暂停计费) |
| 扩容速度 | 秒级 | 分钟级 |
| 单实例上限 | 128 ACU | 256 ACU(集群级) |
| 新建集群 | 正常创建 | 多数区域已停止新建 |
| 结论 | 新项目直接用 | 存量集群尽快迁到 v2 |
v2 之所以"秒级"扩容,是因为它把计算节点做成无状态的弹性资源池,扩容只是往池子里加算力,不需要复制数据。存储则是 Aurora 的老本行:起步 10GB,自动增长到最大 128TB,按实际占用付费(约 $0.10/GB/月),删数据会同步释放空间,不用像传统 MySQL 那样操心磁盘碎片。
二、Serverless v2 vs 预置 Aurora vs RDS:怎么选
三套方案的价格逻辑完全不同,先看对比表再决定:
| 对比维度 | Aurora Serverless v2 | Aurora 预置版 | RDS MySQL/PostgreSQL |
|---|---|---|---|
| 计价单位 | ACU 小时 | 实例小时 | 实例小时 |
| 容量伸缩 | 0.5~128 ACU 自动 | 手动升配/加只读副本 | 手动升配/加只读副本 |
| 扩容速度 | 秒级 | 分钟级(需重启) | 分钟级(需重启) |
| 起步月成本 | 0.5 ACU ≈ $43/月 | db.t4g.medium ≈ $55/月 | db.t3.micro 免费套餐 $0 |
| 高可用 | 跨 AZ,需 2 个实例 | 跨 AZ | 跨 AZ |
| 免费套餐 | 不参与 | 不参与 | 参与(12 个月) |
| 适合场景 | 流量波动大、新项目、不想管容量 | 稳定高并发生产库 | 预算敏感、个人项目、简单场景 |
选型逻辑很简单:Aurora 全家桶都不参与免费套餐,所以纯新手练手先走 RDS 免费套餐(750 小时 db.t3.micro + 20GB 存储,12 个月,注册避坑见《2026 最新 AWS 免费套餐注册教程》);业务要上生产、流量明显波动时再切 Aurora Serverless v2;压测确认流量长期稳定在高位,改用预置版 + Savings Plans 把单价打下来。完整的关系型数据库选型对比(MySQL vs PostgreSQL vs Aurora)见本站《AWS RDS 云数据库选型教程》。
三、实操 1:控制台创建 Serverless v2 集群(10 分钟)
- 登录 AWS 控制台,搜索 RDS 进入数据库页面,点击 创建数据库。
- 引擎选项选 Amazon Aurora,版本选 MySQL 兼容(Aurora MySQL 8.0);PostgreSQL 用户选 Aurora PostgreSQL 15+。
- 容量类型选 Aurora Serverless v2,设置容量范围:最小 0.5 ACU,最大 8 ACU(个人项目 8 足够,后期可随时改)。
- 高可用性:开发环境可以取消勾选"创建备用实例",只保留 1 个写入器实例,成本减半;生产环境务必保留 2 个实例(写入器 + 只读副本)。
- 设置管理员用户名(默认 admin)和强密码;数据库实例标识符填
aurora-sls-demo。 - 连接:在"联网"里选择默认 VPC,安全组放行 3306 端口(仅对你的办公 IP 放行,不要开 0.0.0.0/0)。
- 点击 创建数据库,等待 5~10 分钟状态变为 可用,记下 写入器端点(Writer endpoint)——这是你连接数据库的地址。
创建完成后,集群就处于"待命"状态:最小 0.5 ACU 常驻,一旦有查询进来,容量会在秒级内按需爬升。
四、实操 2:AWS CLI 创建(自动化首选)
脚本化部署用 CLI 更规范。先确认本机装好 AWS CLI 并配置过 aws configure,然后执行:
// 1. 创建集群:MySQL 8.0 兼容,Serverless v2 容量 0.5~8 ACU
aws rds create-db-cluster \
--db-cluster-identifier aurora-sls-demo \
--engine aurora-mysql \
--engine-version 8.0.mysql_aurora.3.08.0 \
--serverless-v2-scaling-configuration MinCapacity=0.5,MaxCapacity=8 \
--master-username admin \
--master-user-password 'YourStrongPass2026!' \
--vpc-security-group-ids sg-0a1b2c3d4e5f6a7b8
// 2. 添加数据库实例:Serverless v2 的实例类固定为 db.serverless
aws rds create-db-instance \
--db-instance-identifier aurora-sls-demo-01 \
--db-cluster-identifier aurora-sls-demo \
--engine aurora-mysql \
--db-instance-class db.serverless
// 3. 查询集群状态和写入器端点
aws rds describe-db-clusters \
--db-cluster-identifier aurora-sls-demo \
--query 'DBClusters[0].Endpoint'
等 DBClusterStatus 变成 available 后,用任意 MySQL 客户端连接(mysql、MySQL Workbench 均可):
mysql -h CLUSTER_ENDPOINT -P 3306 -u admin -p
五、实操 3:灌数据压测,亲眼看它自动扩容
连接成功后执行下面的 SQL:建库建表,再用存储过程一次性写入 50 万行,模拟突发流量:
// 1. 建库建表
CREATE DATABASE IF NOT EXISTS demo;
USE demo;
CREATE TABLE IF NOT EXISTS orders (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
amount DECIMAL(10,2) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
// 2. 存储过程批量造数据
DELIMITER //
CREATE PROCEDURE load_test(IN n INT)
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i <= n DO
INSERT INTO orders (user_id, amount)
VALUES (FLOOR(RAND()*1000), RAND()*500);
SET i = i + 1;
END WHILE;
END//
DELIMITER ;
// 3. 执行:写入 50 万行,观察容量变化
CALL load_test(500000);
压测进行时,打开 CloudWatch 控制台看两个指标:ServerlessDatabaseCapacity(当前实际消耗的 ACU 数)和 ACUUtilization(容量使用率)。你会看到容量在几秒内从 0.5 爬升到 2~4 ACU,写入结束后又慢慢回落——这就是"自动伸缩"的全过程。监控告警的完整配置方法见本站《AWS CloudWatch 监控告警实战》。
六、成本真相:ACU 怎么计价,怎么省钱
Serverless v2 按 ACU 小时计费,MySQL 兼容版约 $0.12/ACU 小时(PostgreSQL 兼容版约 $0.132),us-east-1 参考价:
| 容量 | MySQL 小时价 | PostgreSQL 小时价 | 月成本估算(MySQL,720 小时) |
|---|---|---|---|
| 0.5 ACU(最低) | $0.06 | $0.066 | 约 $43 |
| 1 ACU | $0.12 | $0.132 | 约 $86 |
| 2 ACU | $0.24 | $0.264 | 约 $173 |
| 4 ACU | $0.48 | $0.528 | 约 $346 |
| 8 ACU | $0.96 | $1.056 | 约 $691 |
| 32 ACU | $3.84 | $4.224 | 约 $2,765 |
| 128 ACU(上限) | $15.36 | $16.896 | 约 $11,059 |
注意两个反直觉的事实:第一,v2 缩不到 0——最小 0.5 ACU 常驻,也就是说即使完全闲置,一台实例每月也有约 $43 的底价(这是官方防止"休眠数据库占资源"的设计);第二,I/O 单独计费(约 $0.20/百万次请求),存储约 $0.10/GB/月。省钱的 5 个设置:
- 最小容量设 0.5 ACU,别手滑设成 8——区间下限决定闲置成本;
- 开发环境只建 1 个实例,不勾选多可用区,成本直接减半;
- 空闲期停止集群:AWS 支持停止 Aurora 集群(最长 7 天),停止期间只收存储费,适合周末不跑批的场景;
- 索引建好、避免全表扫描:I/O 费用和扫描行数成正比,一条烂 SQL 可能比整个集群还贵;
- 预算告警兜底:按《AWS 账单管理:避免天价账单的 10 个关键设置》配好 $1/$10/$50 三层预算告警,扩容异常第一时间知道。
七、常见问题 FAQ
Q: Aurora Serverless 免费吗? A: 不参与免费套餐。新账号只有 RDS(MySQL/PostgreSQL/MariaDB)的 db.t3.micro 750 小时/月免费,Aurora 无论预置版还是 Serverless 都要付费,起步约 $43/月。
Q: Serverless v2 能缩到 0 ACU 完全停费吗? A: 不能,最低 0.5 ACU/实例。能缩到 0 的是已淘汰的 v1(MySQL 5.6/5.7),新项目不建议为省这点钱用旧架构。想停费就用"停止集群"功能(最长 7 天)。
Q: 新手该用 RDS 免费套餐还是 Aurora Serverless? A: 纯学习/个人项目先用 RDS 免费套餐,0 成本跑满 12 个月;业务要上线、流量有波动、需要高可用时再迁 Aurora Serverless v2,迁移用控制台"迁移快照"半小时搞定。
Q: 现有 Aurora 预置集群能转 Serverless v2 吗? A: 可以。修改集群勾选"Serverless v2 容量范围",再把实例类改成 db.serverless 即可,无需迁移数据、几乎不中断服务。反向转换同样支持。
Q: 和 DynamoDB 怎么分工? A: 需要事务、复杂 JOIN、SQL 语法的业务数据(订单、账户)用 Aurora;海量 KV 读写、按主键点查的场景(会话、购物车)用 DynamoDB——后者免费套餐永久有效,详见本站《AWS DynamoDB 无服务器数据库实战》。
Q: 会不会突然扩容导致账单暴涨? A: 不会失控。一是容量受你设置的上限约束(默认 8 ACU);二是扩容需要实际负载触发;三是配合预算告警,任何异常都能在当天发现。把上限设成业务峰值的 1.5 倍是常见做法。
总结
Aurora Serverless v2 的学习路线:控制台或 CLI 建集群(0.5~8 ACU)→ 灌数据压测看 ACU 曲线 → 配好监控告警和预算红线 → 流量稳定后再评估是否转预置版省钱。记住三个决策:形态上负载波动用 Serverless、稳定高位用预置、个人项目白嫖 RDS 免费套餐;成本上容量下限设 0.5、空闲就停集群、I/O 靠索引压住。整套数据库方案搭配无服务器架构,可以做到"零服务器运维"——接口层用 AWS Lambda 无服务器实战,数据层用 Aurora Serverless,两个都是自动伸缩、按量付费,小团队也能跑出大厂架构。
⚠️ 文中价格为 2026 年参考价(us-east-1 按需),实际费用随区域和官方调价变动,请以 AWS 官网为准。
🚀 需要 AWS 国际版账号?通过 3.chengzicloud.cloud 获取最新注册教程与专属优惠,助你轻松上云。
本文由 3.chengzicloud.cloud 提供,点击访问首页了解更多