DBAtlas · 数据库运维图谱

云托管数据库(RDS/Aurora/Cloud SQL/Atlas/Azure SQL)

症状

目标:了解云托管数据库与自行管理安装之间的关键差异;理解备份、参数、故障转移、监控、升级和连接在云中如何运作。

1. 思维转变:你访问的是服务,而不是服务器

使用托管数据库时,你无法通过 shell 访问操作系统、文件系统或数据库进程;不能 SSH 登录、手动编辑配置文件或成为超级用户。你只能使用提供商的管理 API/控制台和普通的 SQL 连接。AWS RDS/Aurora:管理在资源(实例/集群)级别进行,服务器是隐藏的。GCP Cloud SQL:只有实例 API,没有操作系统。MongoDB Atlas:完全托管的集群,无法访问 mongod。Azure SQL Database:PaaS,底层的服务器和操作系统都不可见(Managed Instance 提供稍多的控制)。因此,大多数自行管理时的习惯做法,如“查看文件”、“终止进程”或“运行操作系统工具”,都不再适用。

2. 备份:自动快照 + 时间点恢复(PITR)

你无需安排备份;提供商会自动执行。恢复通常是“还原到特定时间点”(PITR)或从快照创建新实例;现有实例不会被覆盖。AWS RDS/Aurora:自动备份 + 保留窗口;精确到秒的 PITR 还原会以新实例/集群的形式打开;也可以手动创建快照。GCP Cloud SQL:自动备份 + 基于 binary log 的 PITR;还原到新实例。MongoDB Atlas:持续云备份 + PITR(M10+);可从快照还原。Azure SQL:内置自动备份,保留 1-35 天,可 PITR 到任意时间点并还原已删除的数据库。通用规则:核实备份配置(窗口、保留期),并定期进行还原测试。

3. 参数:参数组 / 标志,而不是配置文件

你不再手动编辑 postgresql.conf 或 my.cnf,而是使用提供商的参数抽象;有些参数被锁定,有些需要重启(静态参数)。AWS RDS/Aurora:通过 DB parameter group(以及 cluster parameter group)设置;动态参数立即生效,静态参数在重启后生效。GCP Cloud SQL:通过控制台/gcloud 设置 'database flags'。MongoDB Atlas:有限的 'Additional Settings' + oplog 大小等;大多数内部参数由平台管理。Azure SQL:大多数服务器级设置由平台管理;通过 SCOPED CONFIGURATION 和服务层级的选择来改变行为。应用之前,先确认参数是动态的还是静态的。

4. 高可用 / 故障转移:托管的 Multi-AZ 和副本

你无需自己构建故障转移;只需勾选一个选项,交给提供商即可。备库和自动故障转移由平台管理,连接通过稳定的端点重定向到新的主库。AWS RDS:Multi-AZ(同步备库,自动故障转移);Aurora:多副本存储 + 自动故障转移,cluster endpoint 指向写入节点。GCP Cloud SQL:一键配置 HA(区域级,备库位于另一个可用区);只读副本需单独添加。MongoDB Atlas:内置副本集,支持多区域/多云部署,自动故障转移。Azure SQL:内置 HA(Business Critical 中的本地副本)、区域冗余选项以及跨区域的活动异地复制 / 故障转移组。应用必须始终连接到端点,而不是固定 IP。

5. 监控:提供商的指标和日志服务

由于无法运行操作系统工具(top、iostat),你需要通过提供商的指标平台进行监控;CPU、连接数、IOPS、复制延迟和存储指标都在那里。AWS:CloudWatch 指标 + Enhanced Monitoring + Performance Insights(查询级分析)。GCP Cloud SQL:Cloud Monitoring(原 Stackdriver)+ Query Insights。MongoDB Atlas:内置的 Atlas 指标/图表 + Performance Advisor + 实时面板。Azure SQL:Azure Monitor + SQL Analytics + Query Performance Insight。务必设置阈值告警(存储使用率、CPU、连接数上限、副本延迟)。

6. 版本升级与维护:通过控制台,在维护窗口内进行

你无需手动更新二进制文件,而是选择目标版本;小版本补丁大多是自动的,而大版本升级需要规划,通常伴随停机/HA 故障转移。AWS RDS/Aurora:引擎版本选择 + 自动小版本升级选项 + 借助 Blue/Green Deployments 进行低风险的大版本升级。GCP Cloud SQL:维护窗口 + 自助式大版本升级。MongoDB Atlas:一键版本升级,以滚动方式实现近乎零停机。Azure SQL:由平台自动打补丁(版本的概念在很大程度上被抽象掉了);通过兼容级别控制行为。务必先在测试/预发布副本上尝试,并将维护窗口安排在业务时间之外。

7. 连接与安全:端点 + IAM/TLS

连接始终通过提供商提供的 DNS 端点进行,并且是加密的(TLS);网络访问和身份可以与云身份系统关联。AWS RDS/Aurora:实例/集群端点 + 用于网络的 Security Group + 可选的 IAM 数据库认证 + TLS(rds-ca 证书)。GCP Cloud SQL:公有 IP + Authorized Networks 或私有 IP/VPC、Cloud SQL Auth Proxy、IAM 数据库认证、TLS。MongoDB Atlas:SRV 连接字符串(mongodb+srv://)、IP 访问列表 + private endpoint/peering、SCRAM 或 IAM/X.509、强制 TLS。Azure SQL:服务器 FQDN 端点 + 防火墙/Private Link + Microsoft Entra ID(原 Azure AD)认证 + 强制 TLS。规则:在连接字符串中使用端点而不是固定 IP,强制使用 TLS,并尽可能使用云 IAM 身份连接。

在 DBAtlas 中打开 →