配置 Cloud SQL (PostgreSQL) 实例

借助应用设计中心,您可以为 Cloud SQL for PostgreSQL(一项用于运行 PostgreSQL 关系型数据库的全代管式服务)配置连接和实例设置。可配置参数基于 terraform-google-sql-db Terraform 模块。

组件连接

下表列出了您可以连接到 Cloud SQL (PostgreSQL) 实例的组件,以及对应用及其生成的 Terraform 代码进行的相应更新。

关联的组成部分

应用更新

背景信息

Compute Engine 实例模板

  • Compute Engine 实例可以连接到 Cloud SQL (PostgreSQL) 实例,并向其读取和写入数据。
  • Cloud SQL 连接元数据已添加到 Compute Engine 实例模板中。
  • roles/cloudsql.instanceUser 和 roles/cloudsql.client 角色已添加到 Compute Engine 实例模板服务账号。
  • Compute Engine 服务账号已作为 IAM 用户添加到 Cloud SQL 实例。
从 Compute Engine 连接
Secret Manager
  • Secret Manager 的 Secret 数据字段包含默认用户的密码。
使用 Secret Manager 处理 Cloud SQL 中的 Secret

服务账号

  • 服务账号可以连接到 Cloud SQL (PostgreSQL) 实例。
  • roles/cloudsql.instanceUser 和 roles/cloudsql.client 角色已添加到服务账号。
  • 服务账号 IAM 信息会添加到 Cloud SQL 实例中。
角色和权限

Cloud Run

  • Cloud Run 服务可以向 Cloud SQL (PostgreSQL) 实例读取和写入数据。
  • Cloud SQL 连接元数据会添加到 Cloud Run 服务中。
  • roles/cloudsql.instanceUser 和 roles/cloudsql.client 角色已添加到 Cloud Run 服务账号。
  • Cloud Run 服务账号已作为 IAM 用户添加到 Cloud SQL 实例。
从 Cloud Run 连接

必需的配置参数

如果您的模板包含 Cloud SQL (PostgreSQL) 组件,则必须在部署之前配置以下参数。

参数名称

说明和限制条件信息

背景信息

项目 ID

您要在其中部署 Cloud SQL 资源的项目。

配置组件

名称

name 创建 PostgreSQL 实例

数据库版本

databaseVersion 创建 PostgreSQL 实例

区域

区域 管理实例位置

可选配置参数

以下参数是可选的。如需显示高级参数,请在配置区域中选择显示高级字段。

功能

参数名称

说明和限制条件信息

背景信息

可用区

gceZone 管理实例位置

版本

edition edition

可用性类型

availabilityType Cloud SQL 中的可用性

启用默认数据库

如果选中,则创建默认数据库。在数据库名称字段中,输入默认数据库的名称。

在 Cloud SQL 实例上创建数据库

启用默认用户

如果选中,则创建默认用户。为默认用户输入用户名和用户密码。

默认 PostgreSQL 用户

root 密码

rootPassword

创建实例时的初始 root 密码。

数据库删除政策

如需允许放弃数据库而不是删除数据库,请输入 ABANDON。

如果除 cloudsqlsuperuser 以外的用户拥有访问权限,则无法删除 PostgreSQL 数据库。

已启用数据缓存

数据缓存 数据缓存概览

机器

为实例选择机器系列和类型。您选择的选项决定了可用的存储类型和配置选项。实例创建完成后,您便无法更改机器系列。

机器系列概览

磁盘自动调整大小

磁盘自动扩容

storageAutoResize 启用存储空间自动扩容功能

磁盘自动扩容上限

storageAutoResizeLimit 存储空间自动扩容上限

磁盘大小

dataDiskSizeGb 存储空间容量

磁盘类型

dataDiskType 存储类型

定价方案

pricingPlan SqlPricingPlan

备份配置

已启用

已启用 创建 PostgreSQL 实例

开始时间

BackupConfiguration

创建 PostgreSQL 实例

区域

location 自定义备份位置

可用区

location 自定义备份位置

已启用时间点恢复

pointInTimeRecoveryEnabled pointInTimeRecoveryEnabled

事务日志保留天数

BackupConfiguration 日志保留期限

保留的备份

retainedBackups 日志和磁盘使用量

保留单位

retentionUnit retentionUnit

IP 配置

授权网络密钥

authorizedNetworks[] 使用授权网络进行授权

已获授权的网络值

authorizedNetworks[] 使用授权网络进行授权

IPv4 已启用

ipv4Enabled 配置公共 IP

专用网络

privateNetwork 专用 IP 配置选项

SSL 模式

sslMode SSL 模式

分配 IP 范围

allocatedIpRange 为服务分配的 IP 地址范围

启用 Google Cloud 服务的专用路径

Google Cloud 服务的专用路径 创建支持专用服务访问通道和 Private Service Connect 的实例

已启用 PSC

psc_enabled Private Service Connect 概览

PSC 允许的使用方项目

allowedConsumerProjects[] 创建支持专用服务访问通道和 Private Service Connect 的实例

维护版本

maintenanceVersion 自助维护

防删除保护

如果选中此选项,则无法删除 Cloud SQL 实例。 防止删除实例

数据库标志

名称

databaseFlags 配置数据库标志

值

databaseFlags 配置数据库标志

用户删除政策

如需允许放弃用户而不是删除用户,请输入 ABANDON。

如果 PostgreSQL 用户已被授予 SQL 角色,则无法删除。

其他用户

名称

name PostgreSQL 用户和角色简介

密码

输入密码,或选择随机密码以生成密码。

PostgreSQL 用户和角色简介

其他数据库

名称

name 创建和管理数据库

排序规则

collation 创建和管理数据库

主实例名称

masterInstanceName 创建读取副本

实例类型

instanceType SqlInstanceType

随机实例名称

在实例名称末尾添加随机后缀。

random_instance_name

次要可用区

副本实例的首选可用区。

secondaryZone

关注 GAE 应用

要关注的 App Engine 应用。它必须与 Cloud SQL 实例位于同一区域。

followGaeApplication

激活政策

activationPolicy 激活政策

已启用防删除保护

deletionProtectionEnabled 防止删除实例

已启用读取副本防删除保护

如需阻止 Terraform 删除副本 SQL 实例,请选中该复选框。

为读取副本考虑防删除保护

维护窗口

维护窗口日期

day Cloud SQL 实例维护简介

维护窗口小时数

小时 Cloud SQL 实例维护简介

维护窗口更新轨道

updateTrack Cloud SQL 实例维护简介

用户标签

键

Cloud SQL 实例的密钥标签

userLabels

值

Cloud SQL 实例的值标签

userLabels

拒绝维护期

结束日期

endDate 配置拒绝维护期

开始日期

startDate 配置拒绝维护期

时间

time 配置拒绝维护期

Insights Config

每分钟查询计划数

queryPlansPerMinute 使用 Query Insights 提高查询性能

查询字符串长度

queryStringLength 使用 Query Insights 提高查询性能

记录应用标记

recordApplicationTags 启用 Query Insights

记录客户端地址

recordClientAddress 启用 Query Insights

密码验证政策配置

最小长度

minLength 设置密码政策

复杂性

复杂性 设置密码政策

重复使用间隔

reuseInterval 设置密码政策

不允许用户名子字符串

disallowUsernameSubstring 设置密码政策

密码更改间隔

passwordChangeInterval 设置密码政策

读取副本数

名称

read_replicas 只读副本

覆盖名称

用于替换默认读取副本名称的字符串。 read_replicas

读取副本名称后缀

要添加到读取实例名称中的可选后缀。

只读副本

数据库字符集

charset 在 Cloud SQL 实例上创建数据库

数据库排序规则

collation 在 Cloud SQL 实例上创建数据库

IAM 用户

ID

IAM 用户的 ID。

IAM 身份验证

电子邮件

IAM 用户的邮箱。

将单个 IAM 用户或服务账号添加到 Cloud SQL 实例

类型

type 将单个 IAM 用户或服务账号添加到 Cloud SQL 实例

创建超时

可选超时,用于限制长时间的数据库创建。

create_timeout

更新超时

可选超时,用于限制长时间的数据库更新。

update_timeout

删除超时

可选超时,用于限制长时间的数据库删除操作。

delete_timeout

加密密钥名称

encryption_key_name 客户端加密功能简介

读取副本防删除保护

如果选中,则会阻止 Terraform 删除副本 SQL 实例。

deletion_protection

启用随机密码特殊字符

如果选中,则在生成的随机密码中启用特殊字符。

enable_random_password_special

连接器强制执行

connectorEnforcement Cloud SQL 语言连接器概览

启用 Google 机器学习集成

enable_google_ml_integration 使用 Cloud SQL 构建生成式 AI 应用

数据库集成角色

默认数据库实例服务账号与 Google Cloud 服务集成所需的角色。

准备工作