4. 创建第一个 Serverless 数据库实例:以 AWS Aurora Serverless v2 为例
好,咱们现在开始动手。前面讲了那么多理论,说实话,不亲自点一下鼠标,总觉得心里没底。这一章,我就带你一步步在 AWS 控制台上,把 Aurora Serverless v2 集群给建起来。
我个人习惯,在开始任何操作前,先看一眼区域。你想想看,如果选错了区域,后面所有配置都白搭。我建议你选离你物理位置最近的那个,或者你公司资源主要集中的区域。比如我常年在 us-east-1(弗吉尼亚北部)干活,那里服务最全,更新也最快。
4.1 进入 RDS 服务页面
登录 AWS 控制台后,在顶部的搜索框里输入「RDS」,然后点进去。RDS 就是关系型数据库服务的总入口。Aurora 是 RDS 里的一类引擎,咱们要找的就是它。
嗯,这里要注意:左侧菜单里有个「Databases」选项,点它。你会看到一个蓝色的「Create database」按钮。别犹豫,点下去。
4.2 选择数据库创建方式
进入创建页面后,第一件事是选创建方式。AWS 给了两个选项:
- Standard Create:标准创建,所有参数自己调。我推荐这个,因为你能看到每个选项的意义。
- Easy Create:快速创建,适合完全不想动脑子的人。但咱们是来学习的,选标准模式。
选「Standard Create」。
4.3 引擎选项与版本选择
接下来是引擎选择。这里有个下拉菜单,里面列了 MySQL、PostgreSQL、MariaDB 等。咱们要找的是 Amazon Aurora。
选完 Aurora 后,下面会出现两个子选项:
- Amazon Aurora MySQL-Compatible Edition
- Amazon Aurora PostgreSQL-Compatible Edition
选哪个?我个人偏好 MySQL,因为生态成熟,文档多。但如果你团队用 PostgreSQL 多,选那个也行。核心逻辑是一样的。
再往下,是版本选择。这里要特别注意:
Aurora MySQL 3.04.0 或更高版本。低于这个的,不支持 Serverless v2。
我记得有一次,一个同事兴冲冲地建了个集群,结果发现没有「Serverless v2」的选项。折腾了半天,才发现是版本选错了。嗯,这种坑我踩过,所以提醒你一下。
4.4 模板与容量配置
选完版本后,往下翻,看到「Templates」部分。这里有几个模板:
- Production:生产环境,默认开启多可用区部署
- Dev/Test:开发测试,单可用区,省钱
- Free tier:免费套餐,但 Aurora 不适用
咱们选「Dev/Test」就行。别一上来就搞生产配置,万一忘了关,月底账单吓人。
接下来是「Capacity settings」——容量设置。这是 Serverless v2 的核心所在。
| 参数 | 说明 | 我的建议 |
|---|---|---|
| Capacity type | 选 Serverless v2 | 别选 Provisioned,那是传统模式 |
| Minimum ACU | 最小容量单位,0.5 ACU 起步 | 开发环境设 0.5,生产建议 2 以上 |
| Maximum ACU | 最大容量单位,最高 128 ACU | 先设 8,不够再调 |
ACU 是什么?说白了就是 Aurora 的「算力单位」。1 个 ACU 大约对应 2GB 内存和对应的 CPU。0.5 ACU 就是 1GB 内存。你想想看,如果只是做测试,0.5 ACU 完全够用。
4.5 连接与网络配置
再往下,是「Connectivity」部分。这里要配置 VPC、子网和安全组。
如果你对 AWS 网络不熟,最简单的做法是:
- 选默认 VPC(Default VPC)
- 选默认子网(Default subnets)
- 选「Create new security group」
安全组规则,我建议你只开放必要的端口。Aurora MySQL 默认端口是 3306,PostgreSQL 是 5432。来源 IP 可以设成你的办公网络 IP,或者 0.0.0.0/0(但这是不安全的,仅限测试)。
4.6 数据库认证与初始配置
接下来是设置管理员账号。默认用户名是 admin,你也可以改成别的。密码要设得复杂一点,至少包含大小写字母、数字和特殊字符。
我习惯把密码记在 AWS Secrets Manager 里,而不是写在代码里。但这里为了演示,你可以先手动输入一个临时密码。
再往下,是「Additional configuration」:
- Initial database name:填一个名字,比如
mydb。如果不填,集群创建后不会自动建库,需要你手动连上去建。 - Backup retention period:备份保留天数。开发环境设 1 天就够了,生产环境建议 7 天以上。
- Deletion protection:删除保护。我建议你勾上,防止手滑把数据库删了。
4.7 创建集群与验证
所有配置都填好后,拉到页面底部,点「Create database」。AWS 会开始创建集群。这个过程大概需要 5-10 分钟。
你可以看到状态从「Creating」变成「Available」。当状态变成「Available」时,就说明集群已经就绪了。
验证一下:
- 点进集群详情页,看「Capacity」标签页
- 你会看到当前的 ACU 值,以及最小/最大范围
- 如果显示「Serverless v2」,说明配置成功
mydb.cluster-xxxxx.us-east-1.rds.amazonaws.com,执行:
mysql -h mydb.cluster-xxxxx.us-east-1.rds.amazonaws.com -u admin -p
输入密码后,如果能进入 MySQL 命令行,就说明一切正常。
4.8 避坑指南
最后,我总结几个常见问题,你遇到了别慌:
- 创建失败: 最常见的原因是 VPC 配额不够。去 Service Quotas 里申请增加 VPC 数量。
- 连不上: 检查安全组规则,确保你的 IP 在允许列表里。另外,确认数据库是公开可访问的(Publicly accessible),或者你在同一 VPC 内。
- 性能慢: 检查 ACU 是否设得太低。如果最小 ACU 是 0.5,但你的查询很重,它可能来不及扩容。可以手动调高最小 ACU。
好了,第一个 Aurora Serverless v2 集群就创建完成了。你想想看,整个过程其实并不复杂,关键是理解每个选项的含义。下一章,我会带你用代码连接这个数据库,跑几条 SQL 试试。