Duoyun Cloud
返回博客
tutorials2026-04-18

GCP Cloud SQL数据库部署指南

GCPCloud SQL数据库部署

GCP Cloud SQL数据库部署指南

数据库是应用架构的核心组件,GCP Cloud SQL提供全托管的关系型数据库服务,支持MySQL、PostgreSQL和SQL Server。本文将详细讲解如何在GCP上部署生产级Cloud SQL实例。

一、Cloud SQL概述

1.1 引擎支持

| 数据库引擎 | 支持版本 | 适用场景 | |-----------|---------|---------| | MySQL | 5.7, 8.0, 8.4 | Web应用、电商、内容管理 | | PostgreSQL | 13, 14, 15, 16 | 地理信息、复杂查询、JSON处理 | | SQL Server | 2019, 2022 | 企业ERP、.NET应用迁移 |

1.2 与其他云厂商对比

| 特性 | GCP Cloud SQL | 阿里云 RDS | AWS RDS | |------|-------------|-----------|------| | MySQL版本 | 8.4 | 8.0 | 8.0 | | 最大存储 | 10TB | 6TB | 64TB | | 自动备份保留 | 365天 | 730天 | 35天 | | 私有服务连接 | 支持Private Service Connect | 支持VPC Endpoint | 支持PrivateLink | | 跨区域只读副本 | 支持 | 支持 | 支持 | | 免费层 | 有(有限额度) | 无 | 有(12个月) |

二、创建Cloud SQL实例

2.1 控制台创建

  1. 导航至 SQL → 创建实例
  2. 选择数据库引擎(以MySQL 8.0为例)
  3. 配置实例参数:

| 配置项 | 推荐设置(生产环境) | 说明 | |-------|-------------------|------| | 实例ID | prod-mysql-primary | 小写字母+连字符 | | 密码 | 强密码+自动轮转 | 启用密码策略 | | 数据库版本 | MySQL 8.0 | 最新稳定版 | | 区域 | asia-east1 (台湾) | 离用户最近 | | 机型 | db-custom-4-16384 | 4 vCPU, 16GB | | 存储 | 100GB SSD | 自动扩容开启 | | 高可用 | 区域级HA | 跨可用区故障切换 | | 自动备份 | 开启,02:00 UTC | 保留30天 | | 私有IP | 启用 | 通过VPC内网访问 |

2.2 gcloud CLI创建

gcloud sql instances create prod-mysql-primary \
  --database-version=MYSQL_8_0 \
  --tier=db-custom-4-16384 \
  --region=asia-east1 \
  --storage-type=SSD \
  --storage-size=100GB \
  --storage-auto-increase \
  --availability-type=REGIONAL \
  --backup-start-time=02:00 \
  --enable-point-in-time-recovery \
  --network=projects/my-project/global/networks/my-vpc \
  --no-assign-ip

三、机型与定价

3.1 共享核心机型

| 机型 | vCPU | 内存 | 月费(asia-east1) | 适用场景 | |------|------|------|------------------|---------| | db-f1-micro | 1 (共享) | 0.6GB | ~$7 | 开发测试 | | db-g1-small | 1 (共享) | 1.7GB | ~$18 | 轻量应用 |

3.2 自定义机型(推荐)

自定义机型允许独立选择vCPU和内存,实现精准的资源匹配:

| 配置 | vCPU | 内存 | 月费(单可用区) | 月费(高可用) | |------|------|------|----------------|--------------| | db-custom-2-8192 | 2 | 8GB | ~$110 | ~$220 | | db-custom-4-16384 | 4 | 16GB | ~$210 | ~$420 | | db-custom-8-32768 | 8 | 32GB | ~$420 | ~$840 | | db-custom-16-65536 | 16 | 64GB | ~$840 | ~$1,680 |

腾讯云 的TDSQL相比,Cloud SQL自定义机型在内存配比上更灵活(1:2到1:8均可选),适合工作负载多样化的场景。

3.3 存储定价

| 存储类型 | 价格(/GB/月) | 性能 | 适用 | |---------|-------------|------|------| | SSD | $0.17 | 高IOPS | OLTP生产库 | | HDD | $0.11 | 低IOPS | 日志、归档 |

四、高可用架构

4.1 区域级高可用

Cloud SQL HA采用跨可用区的主从热备架构:

可用区a: 主实例 ←同步复制→ 可用区b: 备实例
                ↑
            自动故障切换
  • RPO(恢复点目标)≈ 0(同步复制)
  • RTO(恢复时间目标)≈ 60-120秒
  • 额外费用:计算费用翻倍,存储不翻倍

4.2 跨区域灾备

通过跨区域只读副本实现灾备:

gcloud sql instances create prod-mysql-dr \
  --master-instance-name=prod-mysql-primary \
  --region=asia-northeast1 \
  --tier=db-custom-4-16384

跨区域复制为异步模式,延迟通常在1秒以内。费用包含跨区域网络流量($0.01/GB)。

4.3 只读副本

为读密集型应用添加只读副本:

gcloud sql instances create prod-mysql-replica1 \
  --master-instance-name=prod-mysql-primary \
  --region=asia-east1

| 指标 | 说明 | |------|------| | 最大副本数 | MySQL: 10个, PostgreSQL: 20个 | | 复制方式 | 异步 | | 可提升为主 | 是 | | 连接方式 | 需使用副本IP连接 |

五、网络与连接

5.1 私有IP连接(推荐)

通过VPC对等连接,Compute Engine和GKE可直接内网访问Cloud SQL,无需公网暴露:

  1. 在创建实例时指定VPC网络
  2. 为Cloud SQL分配私有IP段
  3. 使用Private Service Connect或VPC对等连接

5.2 Cloud SQL Auth Proxy

最安全的连接方式,无需管理SSL证书或IP白名单:

# 安装Auth Proxy
wget https://dl.google.com/cloudsql/linux/amd64/cloud_sql_proxy
chmod +x cloud_sql_proxy

# 启动代理
./cloud_sql_proxy -instances=my-project:asia-east1:prod-mysql-primary=tcp:3306

应用连接 localhost:3306 即可安全访问数据库。

5.3 连接池配置

| 参数 | 推荐值 | 说明 | |------|-------|------| | max_connections | 4000(4 vCPU实例) | 默认按vCPU1000 | | connect_timeout | 10秒 | 防止连接堆积 | | wait_timeout | 300秒 | 及时释放空闲连接 | | 连接池大小 | CPU核心数2+有效磁盘数 | HikariCP推荐公式 |

六、备份与恢复

6.1 自动备份

  • 时间点恢复(PITR):开启binlog保留,支持恢复到任意秒级时间点
  • 保留天数:7-365天可配
  • 费用:备份存储$0.08/GB/月

6.2 手动备份与导出

# 创建按需备份
gcloud sql backups create --instance=prod-mysql-primary

# 导出SQL到Cloud Storage
gcloud sql export sql prod-mysql-primary gs://my-bucket/backup.sql \
  --database=mydb

6.3 恢复操作

# 从备份恢复(创建新实例)
gcloud sql backups restore BACKUP_ID --restore-instance=prod-mysql-restored

# 时间点恢复
gcloud sql instances clone prod-mysql-primary prod-mysql-pitr \
  --binlog-file-position=mysql-bin.000123,45678

七、性能优化

7.1 关键参数调优

| 参数 | 默认值 | 推荐值 | 说明 | |------|-------|--------|------| | innodb_buffer_pool_size | 128MB | 物理内存的60-70% | 最关键参数 | | innodb_log_file_size | 48MB | 1-4GB | 减少checkpoint频率 | | innodb_flush_method | fdatasync | O_DIRECT | 避免双缓冲 | | max_connections | 4000 | 按需调整 | 配合连接池 |

7.2 监控指标

在Cloud Monitoring中关注以下核心指标:

  • database/cpu/utilization — CPU利用率
  • database/disk/utilization — 磁盘使用率
  • database/memory/utilization — 内存使用率
  • database/network/connections — 连接数
  • database/mysql/innodb_buffer_pool_hit_ratio — 缓冲池命中率

八、安全加固

  1. 仅使用私有IP:禁止公网访问数据库
  2. Cloud IAM认证:MySQL 8.0+支持IAM数据库认证
  3. SSL/TLS加密:强制所有连接使用SSL
  4. 数据加密:默认使用Google管理的加密密钥,也可使用CMEK
  5. 审计日志:启用Cloud SQL Admin API审计日志
  6. 维护窗口:设置在业务低峰期

总结

GCP Cloud SQL以全托管、高可用和深度VPC集成,为企业提供了可靠的关系型数据库方案。合理选择机型和存储类型,配合Auth Proxy和安全配置,可以构建生产级的数据库架构。

多云(Duoyun Cloud) 为GCP官方合作伙伴,提供Cloud SQL等资源的专属渠道折扣。通过多云采购GCP资源,可获得比官网更低的价格、中文技术顾问和多云统一管理平台。访问 duoyun.io 了解优惠详情。

需要专业云服务咨询?

我们的云架构师团队免费为你定制最优方案

免费咨询

相关文章

news

GCP Next 2026大会亮点回顾

2026-04-23
optimization

GCP承诺使用折扣CUD详解

2026-04-22
news

各大云厂商新一代GPU实例对比

2026-04-21