
Google Cloud SQL 是 GCP 提供的全托管关系型数据库服务,支持 MySQL、PostgreSQL 和 SQL Server 三种引擎。全托管的含义是:操作系统补丁、数据库版本升级、自动备份、高可用切换和存储管理由 Google 负责,用户只需要关注数据库的使用——建表、查询、调优和应用连接。
选择 Cloud SQL 和选择在 Compute Engine 上自建数据库,背后是运维成本和资源成本之间的权衡。Cloud SQL 的单位计算成本高于同配置的 Compute Engine VM,但节省了 DBA 在主从复制、备份验证、故障切换测试上的工程时间。没有专职 DBA 的团队,以及不希望让工程师花时间维护数据库基础设施的团队,Cloud SQL 通常是更合适的起点。
三种引擎的选型判断
MySQL
MySQL 是 Cloud SQL 上使用最广泛的引擎,也是文档和社区资源最完整的选项。当前支持的版本为 5.7、8.0 和 8.4,新建实例推荐选择 8.0 或 8.4。MySQL 5.7 已进入 EOL 支持周期,继续使用会产生额外的 Extended Support 费用。
Cloud SQL for MySQL 和标准 MySQL 在使用上有一个值得提前了解的限制:Cloud SQL 不提供 SUPER 权限,部分需要高级权限的操作(如修改全局系统变量、执行某些复制命令)无法在 Cloud SQL 上执行。从自建 MySQL 迁移到 Cloud SQL 之前,应确认业务是否依赖这些操作。
PostgreSQL
PostgreSQL 是 Cloud SQL 第二常用的引擎,当前支持版本 14 至 17,最新稳定版为 17。PostgreSQL 17 于 2026 年初可在 Cloud SQL 上使用,在并行查询、逻辑复制和 JSON 支持上相比 16 有所改进。
对于有复杂查询需求、地理信息处理(PostGIS 扩展)、JSON 文档存储或时序数据分析场景的团队,PostgreSQL 是 MySQL 的更好替代。两者在 Cloud SQL 上的基础计费相同,选型依据主要是业务数据模型和已有技术栈。
SQL Server
Cloud SQL for SQL Server 的许可证费用已包含在实例费用中,不需要单独购买微软授权,也不支持自带许可证(BYOL)。SQL Server 有一个特殊限制:每个实例最少需要 4 个 vCPU,低于 4 vCPU 的实例按 4 vCPU 计费,入门成本明显高于 MySQL 和 PostgreSQL。适合现有系统依赖 SQL Server 特有功能、或企业内部有 SQL Server 使用规范的团队,不建议仅因为”会用 SQL”而选择 SQL Server。
Enterprise 与 Enterprise Plus:版本选择
Cloud SQL 提供 Enterprise 和 Enterprise Plus 两个版本,核心差别在于高可用架构和数据保护能力。
Enterprise 版本的高可用实现是异步复制:主实例写入数据后,数据异步同步到同区域另一可用区的备实例。主实例发生故障时,备实例自动提升为新主实例,故障转移通常在 60 秒内完成。极少数情况下,异步复制可能导致切换时丢失最近几秒内的写入数据(RPO > 0)。
Enterprise Plus 版本采用同步复制:每次写入必须在主备两个实例都确认后才返回给客户端,RPO = 0,主实例故障不会丢失已确认的数据。Enterprise Plus 还提供更低的维护停机时间(Data Cache 功能)和更高的 SLA。代价是 Enterprise Plus 的单价高于 Enterprise,适合对数据丢失零容忍的核心业务系统,如金融交易、核心订单数据库。
大多数 Web 应用和后台服务选 Enterprise 版本即可,其 99.95% 的 SLA 和 60 秒内的故障转移,在成本和可用性之间取得了合理的平衡。
创建实例的关键配置
区域与可用区选择
区域选择对 Cloud SQL 的实际成本影响很大,不同区域的价格差距在 20–40% 之间。us-central1(爱荷华州)是定价参考基准,亚太节点(新加坡 asia-southeast1、香港 asia-east2、东京 asia-northeast1)的费用比 us-central1 高 20–40%。
区域选择的核心原则和 Compute Engine 一致:数据库实例应和连接它的应用服务器在同一区域,避免跨区域流量产生额外的出站费用,同时减少网络延迟。实例所在区域创建后无法修改,选定前需确认。
vCPU 和内存配置
Cloud SQL 的计算资源按 vCPU 数量和内存大小分别计费,两者独立配置。数据库的配置选型依据是实际的工作负载特性:OLTP 事务型业务对 CPU 要求较高,内存需要能容纳工作集(频繁访问的数据页);只读分析查询对内存需求更大,CPU 次之。
生产环境建议从 2 vCPU、7.5GB 或 4 vCPU、15GB 开始,观察几周的实际 CPU 使用率和内存利用率,再决定是否需要调整规格。共享 CPU 实例(db-f1-micro、db-g1-small)不在 Cloud SQL SLA 覆盖范围内,不应用于生产业务。
存储类型与自动扩容
Cloud SQL 提供 SSD 和 HDD 两种存储类型。SSD 的 IOPS 上限明显高于 HDD,读写延迟更低,适合 OLTP 和任何对查询响应时间有要求的场景。HDD 价格约为 SSD 的一半($0.118/GB/月 vs $0.222/GB/月),适合归档数据或读写频率极低的冷数据库。生产数据库应选 SSD。
自动扩容功能允许 Cloud SQL 在存储使用率接近上限时自动增加容量,避免存储打满导致数据库停止接受写入。启用自动扩容有一个重要限制:存储容量只能增大,不能缩小。 如果业务数据因为批量删除操作减少,存储空间不会自动释放,账单上的存储费用不会随数据量减少而降低。建议设置自动扩容的上限(最大存储容量),防止存储无限制增长。
创建实例时的初始存储配置,应按照预估 1 年内的数据增长量设定,不要设太小导致频繁触发自动扩容,也不要一开始就配置远超实际需要的容量。
备份配置
Cloud SQL 默认启用每日自动备份,保留 7 天。备份窗口应设置在业务流量最低的时段,备份期间实例性能会有轻微下降。备份存储按实际备份数据量计费(约 $0.08/GB/月),7 天保留期对一个 1TB 数据库大约每月产生 $80 的额外备份费用,这部分成本在初始估算时容易被遗漏。
对于需要长期保存备份(超过 30 天)用于合规审计的场景,定期将数据库导出到 Cloud Storage 的 Coldline 存储层($0.004/GB/月)比使用 Cloud SQL 自身的备份功能便宜约 20 倍,适合长期归档。
三种连接方式
私有 IP(推荐的生产环境连接方式)
私有 IP 连接要求 Cloud SQL 实例和应用服务器在同一 VPC 网络内,通过 VPC 对等连接(Private Service Access)实现。Cloud SQL 实例分配一个 VPC 内部 IP,应用使用这个 IP 直接连接,流量不经过公网,延迟最低,同一区域内 VPC 内部流量免费。
配置私有 IP 时需要先为项目启用 Service Networking API,并在 VPC 网络中预留一个 IP 地址范围用于 Cloud SQL。预留范围必须是 /16 或更大的网段,且不能和 VPC 现有子网重叠。预留完成后,创建实例时选择私有 IP 并指定对应 VPC 即可。
关于 VPC 网络配置和私有服务访问的具体步骤,可以参考谷歌云 VPC 网络配置教程。
Cloud SQL Auth Proxy
Cloud SQL Auth Proxy 是 Google 提供的连接代理工具,在应用和 Cloud SQL 之间建立加密隧道,自动处理 SSL/TLS 证书,并支持使用 IAM 服务账号进行身份验证,不需要管理数据库用户密码。
Auth Proxy 以独立进程或 Sidecar 容器的形式运行在应用旁边,应用通过本地端口(默认 localhost:5432 或 localhost:3306)连接 Proxy,Proxy 再转发到 Cloud SQL。Auth Proxy 支持连接到私有 IP 和公网 IP 的实例,同时处理 SSL 握手和 IAM 认证,推荐作为外部连接的标准方式。
在 Compute Engine 上运行 Auth Proxy:
# 下载 Cloud SQL Auth Proxy
curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.15.0/cloud-sql-proxy.linux.amd64
chmod +x cloud-sql-proxy
# 启动代理,监听本地 5432 端口
./cloud-sql-proxy project-id:region:instance-name –port 5432
应用连接本地 5432 端口即可,不需要配置 SSL 证书,认证通过实例所关联的服务账号自动完成。关于 IAM 服务账号和权限配置,可以参考谷歌云 IAM 权限管理教程。
在 GKE 上,Auth Proxy 以 Sidecar 容器的形式和应用容器部署在同一 Pod 中:
spec:
containers:
– name: app
image: your-app-image
env:
– name: DB_HOST
value: “127.0.0.1”
– name: DB_PORT
value: “5432”
– name: cloud-sql-proxy
image: gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.15.0
args:
– “–structured-logs”
– “–port=5432”
– “project-id:region:instance-name”
securityContext:
runAsNonRoot: true
公网 IP + SSL
公网 IP 连接让 Cloud SQL 实例拥有一个可从互联网访问的 IP 地址,通过授权网络(Authorized Networks)白名单限制允许连接的 IP 地址范围,并强制要求 SSL 加密连接。这是三种方式中安全性最低的,公网暴露面更大,不推荐在生产环境使用,偶尔用于开发机器直连数据库调试时可以临时开启。
每个拥有公网 IP 的 Cloud SQL 实例,无论是否有流量,都会产生闲置 IP 费用($0.0131/小时,约 $9.57/月)。如果只是为了偶尔的管理操作,应使用 Auth Proxy 而不是开启公网 IP。
计费构成与常见成本陷阱
Cloud SQL 的月度账单由五个部分叠加,官方定价计算器的默认输入通常只显示计算部分,实际账单往往是计算器估算值的 2 倍或更多。
计算费用(vCPU + 内存) 是账单主体。以 us-central1 的 4 vCPU、15GB 内存实例为例,按需价格约 $282/月。CUD 承诺折扣可以降低这部分费用:1 年期节省 25%(约 $211/月),3 年期节省 52%(约 $135/月)。
存储费用 按实际配置的存储容量计费,不是按使用量。SSD 存储 $0.222/GB/月,100GB 存储每月 $22.2,且因自动扩容不可逆,容量只会增加不会减少。
以下五个成本项是最容易被低估的部分:
开启高可用(HA)会在同区域不同可用区运行一个备实例,备实例的计算和存储费用和主实例相同,HA 让计算成本翻倍。一个原本 $282/月的实例开启 HA 后变为约 $564/月,这是最常见的账单超预期原因。
只读副本(Read Replica)的计费方式和独立实例完全相同。一个主实例加两个只读副本的生产架构,计算费用是单实例的三倍,存储费用也是三份独立计费。
自动扩容是不可逆操作。存储从 100GB 自动扩容到 200GB 后,即使删除了一半的数据,存储费用仍按 200GB 计算。设置自动扩容上限可以控制这个风险,但不能解决已扩容的存储无法缩减的问题。
备份存储独立计费。7 天的备份保留期,意味着存储了 7 天的备份副本。1TB 数据库的备份存储每月约 $80,这部分费用在初始规划时经常被忽略。
CUD 折扣只覆盖计算(CPU + 内存),不覆盖存储、备份、网络和许可证费用。 如果实例的存储费用和备份费用加起来已经超过计算费用,CUD 能节省的实际比例远低于标称的 25% 或 52%。
| 费用项 | us-central1 参考价格 | 常见陷阱 |
| 计算(4vCPU/15GB) | ~$282/月 | HA 翻倍 |
| SSD 存储 | $0.222/GB/月 | 自动扩容不可逆 |
| 备份存储 | ~$0.08/GB/月 | 容量 × 保留天数 |
| 公网 IPv4 | $9.57/月(闲置也收) | 不用时关闭 |
| 只读副本 | 同主实例定价 | 每个副本单独计费 |
以上为 us-central1 参考价格,亚太区域价格高 20–40%,以 GCP 控制台当期报价为准。
高可用配置与故障转移
Cloud SQL HA 实例(区域实例)在同一区域内两个不同可用区各运行一个数据库实例。主实例处理所有读写请求,备实例持续接收复制数据,不处理任何用户请求。
主实例或所在可用区出现故障时,Cloud SQL 自动将备实例提升为新主实例,整个切换过程通常在 60 秒以内完成,IP 地址保持不变,应用连接串不需要修改。
故障转移会断开所有现有连接。 应用在接到连接断开错误后需要能够自动重新建立连接,才能在 60 秒故障转移窗口后恢复正常服务。使用连接池(如 PgBouncer 或应用框架内置的连接池)可以处理这个问题,数据库连接直接写在代码里而没有重连机制的应用,在故障转移发生时需要等待应用重启才能恢复。关于 Compute Engine 上的应用如何配置连接池和 Cloud SQL 的稳定连接,可以参考 Cloud Compute Engine 使用教程。
账号开通与代理充值
使用 Cloud SQL 需要有效的谷歌云账号。Cloud SQL 没有永久免费层,新账号的 $300 赠金可以用于 Cloud SQL 评估,但用完后即开始正式计费。对于月均 Cloud SQL 消耗在 $200 以上的团队,通过 谷歌云代理商 渠道充值,享受赠金返点($100 到账 $110,$500 到账 $600,$1000 到账 $1250),支持 USDT 等灵活付款方式,免绑卡,叠加 CUD 折扣后年度数据库实际成本明显低于官网直充。



