谷歌云 Cloud SQL 指南与说明:数据库引擎选型、实例配置、连接方式与计费构成

发布时间:2026/7/23 11:03:44
谷歌云 Cloud SQL 指南与说明:数据库引擎选型、实例配置、连接方式与计费构成 Google Cloud SQL 是 GCP 提供的全托管关系型数据库服务支持 MySQL、PostgreSQL 和 SQL Server 三种引擎。全托管的含义是操作系统补丁、数据库版本升级、自动备份、高可用切换和存储管理由 Google 负责用户只需要关注数据库的使用——建表、查询、调优和应用连接。选择 Cloud SQL 和选择在 Compute Engine 上自建数据库背后是运维成本和资源成本之间的权衡。Cloud SQL 的单位计算成本高于同配置的 Compute Engine VM但节省了 DBA 在主从复制、备份验证、故障切换测试上的工程时间。没有专职 DBA 的团队以及不希望让工程师花时间维护数据库基础设施的团队Cloud SQL 通常是更合适的起点。三种引擎的选型判断MySQLMySQL 是 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 之前应确认业务是否依赖这些操作。PostgreSQLPostgreSQL 是 Cloud SQL 第二常用的引擎当前支持版本 14 至 17最新稳定版为 17。PostgreSQL 17 于 2026 年初可在 Cloud SQL 上使用在并行查询、逻辑复制和 JSON 支持上相比 16 有所改进。对于有复杂查询需求、地理信息处理PostGIS 扩展、JSON 文档存储或时序数据分析场景的团队PostgreSQL 是 MySQL 的更好替代。两者在 Cloud SQL 上的基础计费相同选型依据主要是业务数据模型和已有技术栈。SQL ServerCloud 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 即可。Cloud SQL Auth ProxyCloud SQL Auth Proxy 是 Google 提供的连接代理工具在应用和 Cloud SQL 之间建立加密隧道自动处理 SSL/TLS 证书并支持使用 IAM 服务账号进行身份验证不需要管理数据库用户密码。Auth Proxy 以独立进程或 Sidecar 容器的形式运行在应用旁边应用通过本地端口默认 localhost:5432 或 localhost:3306连接 ProxyProxy 再转发到 Cloud SQL。Auth Proxy 支持连接到私有 IP 和公网 IP 的实例同时处理 SSL 握手和 IAM 认证推荐作为外部连接的标准方式。在 Compute Engine 上运行 Auth Proxy# 下载 Cloud SQL Auth Proxycurl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.15.0/cloud-sql-proxy.linux.amd64chmod x cloud-sql-proxy# 启动代理监听本地 5432 端口./cloud-sql-proxy project-id:region:instance-name –port 5432应用连接本地 5432 端口即可不需要配置 SSL 证书认证通过实例所关联的服务账号自动完成。在 GKE 上Auth Proxy 以 Sidecar 容器的形式和应用容器部署在同一 Pod 中spec:containers:– name: appimage: your-app-imageenv:– name: DB_HOSTvalue: “127.0.0.1”– name: DB_PORTvalue: “5432”– name: cloud-sql-proxyimage: gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.15.0args:– “–structured-logs”– “–port5432”– “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 或应用框架内置的连接池可以处理这个问题数据库连接直接写在代码里而没有重连机制的应用在故障转移发生时需要等待应用重启才能恢复。账号开通与代理充值使用 Cloud SQL 需要有效的谷歌云账号。Cloud SQL 没有永久免费层新账号的 $300 赠金可以用于 Cloud SQL 评估但用完后即开始正式计费。对于月均 Cloud SQL 消耗在 $200 以上的团队通过谷歌云代理商渠道充值享受赠金返点$100 到账 $110$500 到账 $600$1000 到账 $1250支持 多货币 等灵活付款方式免绑卡叠加 CUD 折扣后年度数据库实际成本明显低于官网直充。