GCP Cloud SQL 技能用于在 Google Cloud 上部署和管理全托管关系型数据库,支持 PostgreSQL、MySQL 和 SQL Server。
【用途】 适用于无需自行管理复制、补丁和备份的生产关系型数据库;将本地 PostgreSQL 或 MySQL 工作负载迁移到托管服务;需要 ACID 事务、关系型模式和 SQL 查询支持的应用;以及需要区域故障切换自动化高可用能力的工作负载。
【前置条件】 配置前需确认项目/区域、数据库版本与成本。需安装并认证 Google Cloud SDK(gcloud),启用 Cloud SQL Admin API 与 Service Networking API,并具备 roles/cloudsql.admin 角色。命令示例:gcloud services enable sqladmin.googleapis.com servicenetworking.googleapis.com。 资料提示:IAM 数据库认证除 cloudsql.client 外,还需数据库标志、IAM 数据库用户与登录权限;内置 appuser 不会自动启用 IAM。需显式授予应用数据库权限。Auth Proxy 不创建私有网络连通性,纯私有实例应使用 --private-ip 并已有路由。代理二进制需从官方发布固定版本并校验。备份/HA 不等同于经过测试的灾难恢复计划。Terraform 会将密码存入 state,需加以保护。修补配置时应保留已有的授权网络和标志设置。
【主要能力】
- 实例规格参考:从 db-f1-micro(共享 CPU、0.6 GB,仅开发测试)到 db-custom-8-32768(8 vCPU、32 GB)等档位。
- 创建 PostgreSQL/MySQL 实例,可配置区域高可用(REGIONAL)、SSD 存储与自动扩容、备份时间窗、时间点恢复、保留备份数、维护窗口、数据库标志和标签。
- 私有 IP:分配 VPC_PEERING 地址范围并建立 VPC 对等连接,创建 --no-assign-ip 的纯私有实例。
- 只读副本:支持同区域与跨区域副本创建,以及将副本提升为独立实例用于灾难恢复。
- 备份与恢复:手动备份、备份列表、按时间点克隆、SQL 导出与导入。
- Cloud SQL Auth Proxy:下载并运行代理,支持端口映射、--auto-iam-authn,以及供 Kubernetes sidecar 使用的 Unix socket 方式。
- 连接方式:公网 IP + SSL、Auth Proxy、私有 IP、Cloud SQL Connector 库。
- Terraform 配置示例:定义实例、数据库、用户、只读副本、私有 IP 地址与 VPC 对等连接资源。
- 常用运维命令与故障排查表(连接被拒、SSL 错误、复制延迟、性能不足、代理 ECONNREFUSED、私有 IP 创建失败、备份恢复版本不兼容等)。
【使用方式】 通过 gcloud 命令行创建实例,例如创建 PostgreSQL 实例时指定 --database-version=POSTGRES_16、--tier、--region、--availability-type=REGIONAL、存储、备份与维护窗口参数;创建 MySQL 实例时启用 bin log。也可用 Terraform 资源定义实现基础设施即代码。应用连接可通过 Auth Proxy 或私有 IP。
【适用场景】 生产关系型数据库托管、本地数据库迁移、需要高可用与自动备份的应用、VPC 内网访问数据库的应用、GKE/GCE 工作负载连接数据库。
【限制】 基础设施命令可能中断服务,变更前需确认目标并准备备份。资料仅为文档导入,未附带上游脚本与模板。