SuperAPI AI 工具集

gcp-cloud-sql

部署与运维

查看项目

更新于 10-15 10:42

技能介绍

用途

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 IAM 角色以进行完整管理。启用命令为:

gcloud services enable sqladmin.googleapis.com servicenetworking.googleapis.com

主要能力

实例层级

技能提供实例层级参考,包括 db-f1-micro(共享 vCPU、0.6 GB 内存,仅用于开发/测试)、db-g1-small(共享 vCPU、1.7 GB,低流量预发布)、db-custom-2-8192(2 vCPU、8 GB,小型生产)、db-custom-4-16384(4 vCPU、16 GB,中型生产)、db-custom-8-32768(8 vCPU、32 GB,高流量生产)。

创建 PostgreSQL 实例

可通过 gcloud 命令创建 PostgreSQL 实例,指定数据库版本、层级、区域、可用性类型、存储类型与大小、自动扩容、备份时间、时间点恢复、备份保留数量、维护窗口、数据库标志、root 密码和标签。随后可创建数据库和用户。

创建 MySQL 实例

类似地可创建 MySQL 实例,支持 bin log、慢查询日志等数据库标志配置。

私有 IP 配置

技能说明如何分配 IP 范围并创建私有连接,然后创建仅使用私有 IP 的实例(--no-assign-ip)。

只读副本

支持创建同区域副本和跨区域副本用于灾难恢复,并可将副本提升为独立实例。

备份与恢复

支持创建备份、列出备份、时间点恢复(通过克隆)、导出和导入 SQL 文件到 Cloud Storage。

Cloud SQL Auth Proxy

提供下载和运行 Cloud SQL Auth Proxy 的命令,支持 TCP 端口和 Unix socket(用于 Kubernetes sidecar 模式),并支持自动 IAM 认证。

连接方式

技能总结四种连接方式:公共 IP + SSL(开发/测试,需配置授权网络)、Cloud SQL Auth Proxy(GCE/GKE 生产,需 roles/cloudsql.client 的服务账号)、私有 IP(VPC 原生应用,需配置 VPC 对等互连)、Cloud SQL Connector 库(应用层集成,需服务账号凭据)。

Terraform 配置

提供 Terraform 资源示例,包括数据库实例、数据库、用户、只读副本、私有 IP 地址和 VPC 对等连接,涵盖备份配置、IP 配置、维护窗口、数据库标志和删除保护。

常用操作

包括列出实例、描述实例、修改存储大小、修改数据库标志、重启实例等。

使用方式

通过 gcloud 命令行或 Terraform 进行实例的创建、配置和管理。创建实例时需指定数据库版本、层级、区域、可用性类型、存储、备份、维护窗口等参数。连接时根据场景选择公共 IP、Auth Proxy、私有 IP 或 Connector 库。

适用场景

生产关系型数据库托管、本地数据库迁移、需要 ACID 事务和 SQL 查询的应用、需要区域故障转移的高可用工作负载。

限制与故障排查

技能提供常见问题排查表,包括:公共 IP 连接被拒(IP 不在授权网络)、SSL 必需错误(客户端未使用 SSL)、复制延迟高(副本层级过小或主库写入过重)、实例运行但缓慢(CPU/内存不足)、代理返回 ECONNREFUSED(连接名称错误或缺少 IAM 角色)、无法创建私有 IP 实例(VPC 对等未建立)、备份恢复失败(版本不兼容)。

相关技能

包括 gcp-networking(VPC 和私有服务连接)、terraform-gcp(基础设施即代码)、gcp-gke(通过 sidecar 代理连接 Kubernetes 工作负载)、gcp-compute(在 Compute Engine 上运行连接 Cloud SQL 的应用)。