RDS 托管数据库
MySQL/PostgreSQL 托管、备份、与自建 MySQL 对照。
30 分钟
RDS 托管数据库
RDS(Relational Database Service) 托管 MySQL、PostgreSQL 等,负责备份、补丁、多 AZ 高可用。CodeRoadMap 宝塔上跑 本机 MySQL80;RDS 把 DBA 琐事交给 AWS,应用仍用 JDBC / Prisma 连接串。
学习目标
- 创建 MySQL 实例、子网组、参数组概念
- 理解安全组:仅 EC2 可连 3306
- 对照自建 MySQL 的备份与运维差异
核心内容
与宝塔 MySQL 对照
| 宝塔 MySQL | RDS MySQL | |
|---|---|---|
| 安装 | 面板一键 | Console / TF 创建 |
| 备份 | 面板计划任务 | 自动快照 + PITR |
| 网络 | localhost / 内网 | VPC 私有子网 + SG |
| 密码 | 面板改 | 创建时设定或 Secrets Manager |
实验拓扑:RDS 在 私有子网,EC2 上 backend 通过 内网 endpoint 连接,不对公网暴露 3306。
连接串
jdbc:mysql://coderoadmap.xxxxx.ap-southeast-1.rds.amazonaws.com:3306/coderoadmap
与 linux-essentials 本机 mysql -u root -p 不同:客户端在 EC2,非你的笔记本(除非 VPN/Bastion)。
Console
RDS → Create database → MySQL → Free tier / db.t3.micro → VPC 与私有子网 → 新建 SG 允许 EC2 SG 入站 3306 → 禁用 Public access。
CLI 示例
# 列出实例
aws rds describe-db-instances \
--query 'DBInstances[*].[DBInstanceIdentifier,Endpoint.Address,DBInstanceStatus]' \
--output table
# 查安全组规则(确认无 0.0.0.0/0:3306)
aws ec2 describe-security-groups --group-ids sg-xxxxxxxx
# 从 EC2 内测试(SSH 进 EC2 后)
mysql -h coderoadmap.xxxxx.rds.amazonaws.com -u admin -p
HCL 示例见 terraform-essentials。
练习
- 创建 MySQL RDS(私有、无公网),记录 endpoint
- 从 EC2 用
mysql客户端连通,从本机直连应失败 - 对比宝塔 MySQL 备份方式与 RDS 自动快照
小结
RDS = 省运维的托管数据库层。 下一课 Lambda:事件驱动的无服务器计算。
加载本节练习…