两次点击创建 PostgreSQL 数据库?Aurora 快速配置让我重新定义了"快"

15 阅读1分钟

两次点击创建 PostgreSQL 数据库?Aurora 快速配置让我重新定义了"快"

上周五下午五点半,产品经理突然甩过来一个需求:"周一演示要用,先搞个数据库"。以前遇到这种事,我至少得花 20 分钟配 Amazon VPC、子网、安全组,再花 10 分钟等数据库启动。再想办法从本地连上去——VPN?堡垒机?折腾完周末别想了。

但这次不一样。我用了亚马逊云科技刚正式发布的 Amazon Aurora PostgreSQL 快速配置(Express Configuration),两次点击,十几秒,数据库就好了。从本地直连,不用 VPN,不用堡垒机。五点四十就搞定收工了。

这个功能是 re:Invent 2025 上预览的,现在正式 GA 了。我来详细聊聊这到底是个什么东西。

先说痛点:创建个数据库为什么这么折腾

老实说,Amazon Aurora PostgreSQL 本身是个好东西。性能好、高可用、自动备份、自动扩缩。但创建过程一直是个劝退点,特别对不熟悉亚马逊云科技网络的开发者来说。

随便列一下以前的标准流程:

  1. 选引擎版本——PostgreSQL 14?15?16?
  2. 选实例规格——选大了浪费钱,选小了性能不够,选哪个纠结半天
  3. 配 Amazon VPC 和子网组——至少要两个可用区的子网,没有还得先创建
  4. 配安全组入站规则——5432 端口,源 IP 填什么?0.0.0.0/0 不安全,填公司 IP 又不固定
  5. 设主用户密码——满足复杂度要求,然后想办法安全存储
  6. 配存储加密、备份策略、监控粒度、日志导出
  7. 点"创建",等 5-8 分钟
  8. 数据库起来了,但在私有子网里,从本地连不上。得搞 VPN/堡垒机/Session Manager

整套下来,顺利 15-20 分钟。不顺利就没底了。

我带过的新人里,十个有八个在安全组和子网这里栽过。有一次我自己都调了 30 分钟,最后发现是子网组没覆盖到第二个可用区。这种配置类 bug 最让人崩溃——不报错,就是连不上,排查起来全靠经验。

快速配置:两步搞定一切

第一步:点火箭按钮

打开 Amazon RDS 控制台的控制面板。你会看到一个新的按钮,带火箭图标,写着"创建"。点它。

第二步:确认创建

弹出一个对话框,里面是预配置好的默认设置。数据库集群标识符可以改个名字,容量范围可以调。看一眼,直接点"创建数据库"。

完了。

字面意义的完了。几秒钟后页面弹出确认横幅,数据库状态直接变成"可用"。不是"创建中"等好几分钟,是直接"可用"。

我第一次试的时候以为页面 bug 了。还特意刷新了两次,打开数据库详情确认了一下。真的可以用了。

三个让我拍大腿的改进

1. 不用配 VPC——这才是真正的杀手锏

快速配置创建的 Aurora 集群不走传统 Amazon VPC 网络。它自带一个互联网访问网关(Internet Access Gateway),你从任何有网络的地方都能安全连接。

笔记本?直连。公司网络?直连。家里 WiFi?直连。咖啡厅?也能连。

不用 VPN。不用 AWS Direct Connect。不用堡垒机。不用配安全组。

同事问我安全性怎么办。两个保障:

  • 连接强制走 SSL/TLS 加密通道
  • 默认启用 AWS IAM 身份认证,不是用户名密码

这个网关分布在多个可用区,可用性和 Aurora 集群本身一个级别。所以也不用担心网关挂了数据库连不上。

说实话,这一个改动就值回票价了。以前给新项目建库,80% 的时间花在网络配置上。现在这 80% 直接归零。

2. 默认 AWS IAM 无密码认证

以前创建数据库第一件事就是想密码。想完了还得操心:存到 AWS Secrets Manager 还是环境变量?密码轮换策略怎么设?如果有人把密码提交到 Git 了怎么办?

现在快速配置默认启用 AWS IAM 身份验证。

不设密码。不存密码。不轮换密码。你的 IAM 身份就是数据库凭证。

连接时调 SDK 生成一个临时认证令牌,有效期 15 分钟。过期自动失效,不存在密码泄露的窗口期。

我第一次连的时候还在找密码输入框。习惯这东西真的可怕。

3. 零容量起步,按秒计费

Aurora Serverless 以前也能自动扩缩,但最低容量不能是零。现在支持零 ACU(Aurora 容量单位)起步。

没请求 = 零 ACU = 零计算费用。有请求进来自动扩容,按秒计费。

这意味着:

  • 开发测试库可以随便建,空闲不花钱
  • 忘了删数据库也不会持续烧钱
  • 每个功能分支一个独立库,零负担

连接方式:覆盖了你能想到的所有场景

数据库建好后,去"连接和安全"选项卡,三种连接方式。

SDK 代码片段(最推荐)

控制台根据你的数据库配置,自动生成连接代码。支持 Python、Node.js、Go、.NET、PHP、JDBC、TypeScript、psql——基本覆盖了主流技术栈。

Python 示例:

import psycopg2
import boto3

# 生成 IAM 令牌,不需要密码
auth_token = boto3.client('rds', region_name='ap-southeast-1').generate_db_auth_token(
    DBHostname='my-db.cluster-xxx.ap-southeast-1.rds.amazonaws.com',
    Port=5432, DBUsername='postgres', Region='ap-southeast-1'
)

conn = psycopg2.connect(
    host='my-db.cluster-xxx.ap-southeast-1.rds.amazonaws.com',
    port=5432, database='postgres',
    user='postgres', password=auth_token,
    sslmode='require'
)
cur = conn.cursor()
cur.execute('SELECT version();')
print(cur.fetchone()[0])
cur.close()
conn.close()

注意 password 填的是 IAM 令牌。sslmode='require' 默认就是。这代码是控制台给你生成的,连 endpoint 地址都替你填好了。复制粘贴就能跑。

Node.js 也一样顺:

const { Client } = require('pg');
const AWS = require('aws-sdk');
AWS.config.update({ region: 'ap-southeast-1' });

async function main() {
    const signer = new AWS.RDS.Signer({
        region: 'ap-southeast-1',
        hostname: 'my-db.cluster-xxx.ap-southeast-1.rds.amazonaws.com',
        port: 5432, username: 'postgres'
    });
    const password = signer.getAuthToken({});

    const client = new Client({
        host: 'my-db.cluster-xxx.ap-southeast-1.rds.amazonaws.com',
        port: 5432, database: 'postgres',
        user: 'postgres', password,
        ssl: { rejectUnauthorized: false }
    });

    await client.connect();
    const res = await client.query('SELECT version()');
    console.log(res.rows[0].version);
    await client.end();
}
main().catch(console.error);

以前连 Aurora 还得翻文档看 IAM 认证怎么配、SSL 证书从哪下载。现在这些全省了。

AWS CloudShell 直连

控制台里点"启动 CloudShell",psql 命令预填好了,连上直接进 PostgreSQL 交互界面。

不用在本地装 psql 客户端。不用配环境变量。不用拼连接字符串。

我现在经常用 CloudShell 来快速跑个查询、看个表结构。特别适合"我就查一下"的场景。

pgAdmin 等第三方工具

习惯用 pgAdmin 或 DBeaver 的同学,选"端点"选项。控制台有个"获取令牌"按钮,点一下生成 15 分钟有效的 IAM 认证令牌,填到工具的密码栏。

唯一摩擦点:令牌 15 分钟过期。如果你长时间不操作,连接会断,得重新获取。长时间交互建议用 CloudShell 或者 SDK 方式。

CLI:一行命令搞定

不想用控制台?AWS CLI 也是一行:

aws rds create-db-cluster \
    --db-cluster-identifier my-express-db \
    --engine aurora-postgresql \
    --with-express-configuration

一个 API 调用,集群和实例一起创建完成。

这个放在 CI/CD 里简直完美。测试脚本:建库 → 跑集成测试 → 删库。全程自动,零容量计费。

AI 辅助开发:两个值得关注的集成

Vercel v0 集成

v0 是 Vercel 出的 AI 开发工具。你用自然语言描述"帮我建一个带用户系统的博客",它给你生成全栈代码。现在 v0 支持直接对接 Amazon Aurora PostgreSQL、Amazon Aurora DSQL 和 Amazon DynamoDB。

意思是从"我有个想法"到"有个可以跑的应用+有个可以用的数据库",可能就几分钟的事。

你也可以把快速配置创建的现有 Aurora 数据库连到 Vercel。

Kiro Powers 集成

Kiro 是亚马逊云科技推出的 AI 编码 IDE。装了 Aurora PostgreSQL 的 Kiro 功能后,AI 代理可以在 IDE 里直接帮你建表、写 SQL、管理 schema、调优查询。配套的 Amazon Aurora Postgres MCP 服务器让 AI 的数据库操作能力更强。

这两个集成说白了就是一件事:数据库正在从"运维型基础设施"变成"开发流程的一部分"。你不用是 DBA 也能高效使用生产级数据库。

免费套餐可用

亚马逊云科技免费套餐现在覆盖了 Aurora。新账号可以拿到最多 200 美元抵扣金(注册即得 100 美元,使用 Amazon RDS、AWS Lambda、Amazon Bedrock 等服务再得 100 美元)。

零容量起步+按秒计费+200 美元抵扣,够你折腾很长一段时间了。

踩坑实录

分享几个我实际使用中遇到的问题:

坑 1:IAM 权限漏配。快速配置帮你省了 VPC 和密码,但不帮你配 IAM 策略。你的 IAM 用户/角色需要有 rds-db:connect 权限。我第一次就卡在这里好几分钟,连接一直报权限错误。

坑 2:令牌过期导致长连接断开。如果你的应用用了数据库连接池(比如 pgBouncer 或者 HikariCP),连接可能在令牌过期后断掉。需要在连接池层面加令牌刷新逻辑。这个坑不踩不知道。

坑 3:以为创建后不能改配置。其实快速配置只是简化了初始创建流程。创建完之后,容量范围可以调、只读副本可以加、参数组可以改。需要精细调优的时候完全没有限制。

适合什么场景?

  • 原型/MVP 验证:有想法就建库,验证完删掉
  • 开发测试:每个分支一个独立库,互不干扰
  • Hackathon/比赛:时间紧张,数据库不应该占用宝贵的比赛时间
  • 教学/培训:不用先讲 20 分钟 VPC 概念
  • 小型/个人项目:零容量起步,用多少付多少

如果你的场景有严格网络隔离要求(比如金融合规),传统 VPC 模式还在,快速配置是新增选项,不是替代。

实际感受

我现在的开发工作流变了。

以前团队共用一个开发数据库,经常出现"谁把 users 表改了"的问题。现在每人一个独立 Aurora 实例。空闲不花钱,开发隔离彻底解决。

原型验证也快了。上周三个新想法,每个 30 秒建一个库,验证完保留一个,删掉两个。数据库创建不再是瓶颈。

从打开控制台到第一条 SELECT version(),不到 30 秒。这不是夸张,是我实际掐表的结果。

写在最后

Amazon Aurora PostgreSQL 快速配置干了三件事:

  1. 砍掉 VPC 网络配置 → 内置互联网访问网关
  2. 砍掉密码管理 → 默认 IAM 认证
  3. 砍掉容量规划 → 零容量起步按秒扩缩

结果就是:两次点击,几秒出库。

对我来说,这是 Aurora 这几年做的体验改进里最实际的一个。不是什么花哨的新功能,就是把创建这个最基本的动作做到了极简。

所有亚马逊云科技商业区域都已支持。去 Amazon RDS 控制台找火箭按钮就行。

📌 官方博客:aws.amazon.com/cn/blogs/ch… 📌 控制台:console.aws.amazon.com/rds/ 📌 文档:docs.aws.amazon.com/AmazonRDS/l…