实例设置简介

本页面介绍了可供 Cloud SQL 实例使用的设置。

Cloud SQL for PostgreSQL 的设置

设置 创建后能否修改? 可能的值
实例 ID 由小写字母、数字和连字符组成;必须以字母开头。 总长度不得超过 98 个字符。
区域 对于 Cloud SQL 企业 Plus 版
asia-east1 - 台湾
asia-northeast1 - 东京
asia-northeast2 - 大阪
asia-northeast3 - 首尔
asia-south1 - 孟买
asia-south2 - 德里
asia-southeast1 - 新加坡
asia-southeast2 - 雅加达
australia-southeast1 - 悉尼
australia-southeast2 - 墨尔本
europe-central2 - 华沙
europe-north1 - 芬兰
europe-southwest1 - 马德里
europe-west1 - 比利时
europe-west2 - 伦敦
europe-west3 - 法兰克福
europe-west4 - 荷兰
europe-west6 - 苏黎世
europe-west8 - 米兰
europe-west9 - 米兰
europe-west12 - 都灵
me-central1 - 多哈
me-central2 - 达曼
me-west1 - 特拉维夫
northamerica-northeast1 - 蒙特利尔
northamerica-northeast2 - 多伦多
southamerica-east1 - 圣保罗
us-central1 - 爱荷华
us-east1 - 南卡罗来纳
us-east4 - 北弗吉尼亚
us-east5 - 哥伦布
us-south1 - 达拉斯
us-west1 - 俄勒冈
us-west2 - 洛杉矶
us-west3 - 盐湖城
us-west4 - 拉斯维加斯

对于 Cloud SQL 企业版
africa-south1 - 约翰内斯堡
asia-east1 - 台湾
asia-east2 - 香港
asia-northeast1 - 东京
asia-northeast2 - 大阪
asia-northeast3 - 首尔
asia-south1 - 孟买
asia-south2 - 德里
asia-southeast1 - 新加坡
asia-southeast2 - 雅加达
australia-southeast1 - 悉尼
australia-southeast2 - 墨尔本
europe-central2 - 华沙
europe-north1 - 芬兰
europe-southwest1 - 马德里
europe-west1 - 比利时
europe-west2 - 伦敦
europe-west3 - 法兰克福
europe-west4 - 荷兰
europe-west6 - 苏黎世
europe-west9 - 巴黎
europe-west10 - 柏林
europe-west12 - 都灵
me-central1 - 多哈
me-central2 - 达曼
me-west1 - 特拉维夫
northamerica-northeast1 - 蒙特利尔
northamerica-northeast2 - 多伦多
southamerica-east1 - 圣保罗
southamerica-west1 - 圣地亚哥
us-central1 - 爱荷华
us-east1 - 南卡罗来纳
us-east4 - 北弗吉尼亚
us-east5 - 哥伦布
us-south1 - 达拉斯
us-west1 - 俄勒冈
us-west2 - 洛杉矶
us-west3 - 盐湖城
us-west4 - 拉斯维加斯
可用区 可能的值取决于区域。
数据库版本 对于 Cloud SQL 企业 Plus 版:

Console string           API enum string
PostgreSQL 15 (default)  POSTGRES_15
PostgreSQL 14            POSTGRES_14
PostgreSQL 13            POSTGRES_13
PostgreSQL 12            POSTGRES_12
对于 Cloud SQL 企业版:

Console string          API enum string
PostgreSQL 15 (default) POSTGRES_15
PostgreSQL 14           POSTGRES_14
PostgreSQL 13           POSTGRES_13
PostgreSQL 12           POSTGRES_12
PostgreSQL 11           POSTGRES_11
PostgreSQL 10           POSTGRES_10
PostgreSQL 9.6          POSTGRES_9_6
SSL 模式 按如下方式强制执行/启用 SSL:
  • ALLOW_UNENCRYPTED_AND_ENCRYPTED:允许非 SSL/非 TLS 和 SSL/TLS 连接。 对于 SSL 连接,不验证客户端证书。 此设置为默认值。
  • ENCRYPTED_ONLY:仅允许使用 SSL/TLS 加密的连接。
  • TRUSTED_CLIENT_CERTIFICATE_REQUIRED:仅允许使用 SSL/TLS 加密并具有有效客户端证书的连接。
设置版本 ENTERPRISEENTERPRISE PLUS
设置密码政策 是否配置。
专用 IP 一旦启用,就无法停用。 已激活或已停用。
公共 IP 已激活或已停用。
已获授权的网络 如果启用了公共 IP,则为有权连接到实例的 IP 地址。您还可以使用 CIDR 表示法将此值指定为 IP 地址范围。
Google Cloud 服务的专用路径 已激活或已停用。
数据缓存 已激活或已停用。
机器类型

从共享核心或专用核心中进行选择。对于共享核心,每种机器类型都按实例的 CPU(核心)数量和内存量进行分类。

对于专用核心,请选择自定义单选按钮以创建自定义机器配置,而不是选择预定义的配置。 了解详情

核心数 对于 Cloud SQL 企业 Plus 版:
2 到 128(仅限预定义机器类型

对于 Cloud SQL 企业版:
1 到 96(必须为 1 或偶数)
部分用于共享 vCPU
内存 对于 Cloud SQL 企业 Plus 版:每个 vCPU 16 到 864 GB
预定义机器类型
对于 Cloud SQL 企业版:每个 vCPU 0.9 到 6.5 GB(必须是 256 MB 的倍数且不小于 3.75 GB)
存储类型 SSD(默认值)
HDD(仅限 Cloud SQL 企业版)
存储空间容量
(仅限扩容)
至少包含一个非共享 vCPU 的实例最多可具有 64 TB。
包含一个共享 vCPU 的实例最多可具有 3054 GB 存储空间。

请注意,创建或增加存储空间容量达到 64 TB 时,常见操作(例如备份)的延迟时间可能会增加,具体取决于您的工作负载。
启用存储空间自动扩容功能 开启(默认值)
关闭
存储空间自动扩容上限 以 GB 为单位。默认值 0 表示无限制。
备份
开启(默认值)
关闭
位置选项 多区域(默认值)
区域

此外,还有一个下拉菜单,其中包含多区域列表(当您选择多区域时)或单区域列表(当您选择单区域时)。

实例删除保护 已激活或已停用。
启用时间点恢复
(请参阅备注
开启(默认值)
关闭
可用性:单可用区
开启(默认值)
关闭
高可用性(区域级)
开启
关闭(默认值)
维护:首选时段 任意(默认值)
星期几
维护:更新顺序 任意(默认值)
较晚
较早
数据库标志 请参阅配置数据库标志
实例 ID

实例 ID 是实例的名称,它用于唯一地标识项目中的实例。如有可能,请选择与实例目的一致的实例名称。

project-ID:instance-ID 的总长度不得超过 98 个字符。

无需在实例名称中包含项目 ID。此操作将在适当的位置(例如在日志文件中)自动完成。
区域
实例所在的 Google Cloud 区域。您只能在创建实例期间设置区域。为了提升性能,请将您的数据存储在需要这些数据的服务附近。如需了解详情,请参阅实例位置
可用区
实例所在的 Google Cloud 可用区。如果您要从 Compute Engine 实例进行连接,请选择 Compute Engine 实例所在的可用区。否则,接受默认可用区。如果需要,您可以稍后修改实例以更改可用区。如需了解详情,请参阅实例位置
机器类型

确定可供 Cloud SQL 实例使用的内存和虚拟核心。 机器类型可用性由您的 Cloud SQL 版本决定。

对于需要实时处理的工作负载(例如在线事务处理 [OLTP]),请确保实例具有足够的内存,能够容纳整个工作集。但是,还存在其他影响内存要求的因素,例如活跃连接数和内部开销进程。您应该执行负载测试,避免在生产环境中出现性能问题。

配置实例时,请选择足够的内存和 vCPU 来处理您的工作负载,并随着工作负载的增加进行升级。机器 vCPU 不足的机器配置可能会导致不再纳入服务等级协议 (SLA) 的覆盖范围。如需了解详情,请参阅运维指南

Cloud SQL Enterprise Plus 版实例的机器类型 对于 Cloud SQL Enterprise Plus 版实例,机器类型预定义如下:

企业 Plus 版机器类型 vCPU 数量 内存 (GB) 本地 SSD
db-perf-optimized-N-2 2 16 375
db-perf-optimized-N-4 4 32 375
db-perf-optimized-N-8 8 64 375
db-perf-optimized-N-16 16 128 750
db-perf-optimized-N-32 32 256 1500
db-perf-optimized-N-48 48 384 3000
db-perf-optimized-N-64 64 512 6000
db-perf-optimized-N-80 80 640 6000
db-perf-optimized-N-96 96 768 6000
db-perf-optimized-N-128 128 864 9000
Cloud SQL Enterprise 版实例的机器类型 对于 Cloud SQL Enterprise 版实例,您还可以使用 gcloud sql instances create 命令创建自定义实例配置。 自定义实例配置允许您选择实例需要的内存大小和 CPU。这种灵活性可让您选择适合您的工作负载的虚拟机类型。

机器类型名称使用以下格式:db-custom-#-#

将第一个 # 占位符替换为机器中的 CPU 数量,将第二个 # 占位符替换为机器中的内存量。

例如,如果您的机器名称为 db-custom,并且您的机器具有 1 个 CPU 和 3840 MB RAM,则机器格式为 db-custom-1-3840

选择 CPU 数量和内存量时,您选择的配置有一些限制:

  • vCPU 的数量必须为 1 或介于 2 至 96 之间的偶数。
  • 内存必须符合以下条件:
    • 每个 vCPU 的内存量介于 0.9 至 6.5 GB 之间
    • 内存量是 256 MB 的倍数
    • 内存量至少为 3.75 GB (3840 MB)

下表列出了每种旧版机器类型的名称、每种机器类型的 CPU 数和 RAM 以及每种机器类型生成的字符串。

您可以通过在 Google Cloud 控制台中指定等效的 CPU 和 RAM、使用 gcloud CLI 或在 API 中指定 db-custom-#-# 来创建等效的机器类型。

旧版机器类型 vCPU 数量 内存 (MB) db-custom-CPU-RAM 字符串(API 层字符串)
db-n1-standard-1 1 3840 db-custom-1-3840
db-n1-standard-2 2 7680 db-custom-2-7680
db-n1-standard-4 4 15360 db-custom-4-15360
db-n1-standard-8 8 30720 db-custom-8-30720
db-n1-standard-16 16 61440 db-custom-16-61440
db-n1-standard-32 32 122880 db-custom-32-122880
db-n1-standard-64 64 245760 db-custom-64-245760
db-n1-standard-96 96 368640 db-custom-96-368640
db-n1-highmem-2 2 13312 db-custom-2-13312
db-n1-highmem-4 4 26624 db-custom-4-26624
db-n1-highmem-8 8 53248 db-custom-8-53248
db-n1-highmem-16 16 106496 db-custom-16-106496
db-n1-highmem-32 32 212992 db-custom-32-212992
db-n1-highmem-64 64 425984 db-custom-64-425984
db-n1-highmem-96 96 638976 db-custom-96-638976

您的机器类型会影响实例的费用。如需了解详情,请参阅实例价格。您还可以通过价格计算器查看适用于不同场景的价格。

设置密码政策

实例的密码政策。它包括以下选项:

  • 最短长度:指定密码必须包含的字符数下限。
  • 密码复杂度:检查密码是否为小写字母、大写字母、数字和非字母数字字符的组合。
  • 限制密码重复使用:指定您无法重复使用的先前密码数量。
  • 禁止使用用户名:禁止在密码中使用用户名。
  • 设置密码更改间隔:指定可以更改密码之前的最短时长。
核心

实例的 CPU 数。您也可选择创建 CPU 数少于 1 个的实例(共享代码实例或共享 vCPU)。

内存

可供实例使用的内存量。对于具有较高性能要求的工作负载(例如在线事务处理 (OLTP)),请确保实例具有足够的内存,能够容纳整个工作集。但是,还存在其他影响内存要求的因素,例如活动连接数。执行负载测试,避免在生产环境中出现性能问题。

数据库版本
除非您仅需要由特定版本提供的功能,否则请接受默认数据库版本 (PostgreSQL 15)。如需了解 gcloud 命令和 REST API 的用法,请参阅参考文档
存储类型
选择 SSD(默认值)可以为实例提供 SSD 存储空间。SSD 提供更低的延迟和更高的数据吞吐量。 如果无需对数据进行高性能访问(例如针对长期存储或很少访问的数据),可选择 HDD 来降低成本。
SSL 模式

(可选)用于数据库连接的 SSL/TLS 选项。 Cloud SQL 使用 SSL/TLS 建立与实例的安全、经过身份验证的加密连接。您可以使用 SSL 模式设置 sslMode 来强制建立与实例的所有数据库连接,以使用 SSL/TLS 加密。 您还可以使用此设置来强制执行客户端证书验证。与 requireSsl 相比,此设置可让您更精细地控制 SSL 连接。我们建议您使用 sslMode。如需了解详情,请参阅 IpConfiguration。 您可以在创建实例时强制执行 SSL,也可以针对任何现有实例更新 SSL。

存储空间容量

选择适合数据库大小的容量。创建实例后,您可以通过修改实例配置来手动增加存储空间容量,但不能减少容量。增加存储空间容量不会导致停机。

为实例分配的存储空间容量的大小会影响实例的费用。如需了解详情,请参阅存储和网络价格

对于只读副本,存储空间容量必须始终至少与主实例的存储空间容量一样大。调整主实例的大小后,系统会根据需要调整所有只读副本的大小,使其至少具有与更新后的主实例一样大的存储空间容量。

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

如果启用此设置,Cloud SQL 会每隔 30 秒检查一次您的可用存储空间。如果可用存储空间低于阈值大小,则 Cloud SQL 会自动添加额外的存储空间容量。如果可用存储空间反复低于阈值大小,则 Cloud SQL 会继续添加存储空间,直到达到 64 TB 的上限。

主实例的存储空间自动扩容设置会自动应用于该实例的所有只读副本。您无法为只读副本单独设定存储空间自动扩容设置。

阈值

阈值大小取决于当前为您的实例预配的存储量;此值不能大于 25 GB。

对于预配了 500 GB 或更多存储空间的实例,阈值始终为 25 GB。

对于所预配的存储空间小于 500 GB 的实例,请使用以下公式计算阈值:

  5 + (provisioned storage)/25

除法所得结果向下舍入到最接近的整数。

对于具有 66 GB 存储空间容量的实例,其阈值计算如下:

5 + (1/25th of 66 GB) = 5 + (66/25) = 5 + 2.6 -> 5 + 2 = 7 GB
对于具有 1000 GB 存储空间容量的实例,其阈值计算如下:
5 + (1/25th of 1000 GB) = 5 + (1000/25) = 5 + 40 = 45 -> rounded down to the
maximum value of 25 GB

添加的存储空间量

向实例添加的存储空间量等于阈值大小(不能大于 25 GB)。

大型磁盘的注意事项

对于预配了 500 GB 或更多存储空间的实例,阈值大小始终为 25 GB,添加的存储空间始终为 25 GB。因此,最大可能空白空间为 50 GB。如果您未手动调整磁盘大小超过 5 TB 的实例的大小,即使实例有空白空间,磁盘也会始终保持 99% 的容量。

在快速增加磁盘可用空间使用量的操作(例如大型导入或需要大型临时表的查询)之前,请手动调整磁盘大小,而不是依赖于自动增长功能。

存储空间自动扩容上限

如果启用存储空间自动扩容设置,您可以对实例存储空间自动扩容的程度进行具体限制。 请记住,实例的大小越大,操作延迟时间就越长。

您无法缩减存储空间,因此该限制可以阻止您的实例(因流量暂时增加而)扩容太大。请记住,当实例不再能够添加所需的存储空间时,该实例可能停止接受传入的连接,并可能转为离线状态。

将此上限设置为默认值 0 表示未设限(实例层的最大可用存储空间除外)。

如需在创建实例时设置限制,请按照创建实例页面上的说明使用 --storage-auto-increase-limit=INTEGER_VALUE_OF_GB 参数。如需为现有实例设置限制,请对 gcloud beta sql instances patch 命令使用同一参数。

主实例的存储空间自动扩容上限设置会自动应用于该实例的所有只读副本。您无法为只读副本单独设定存储空间自动扩容上限设置。

自动备份和时间点恢复

这些选项决定了是否执行自动备份,以及是否启用预写式日志记录。这两个选项都会略微增加性能成本并使用额外的存储空间,但是对于创建副本和克隆以及进行时间点恢复都是必不可少的。选择此选项时,您还可以选择自动备份的时间范围。

系统每天都会在您选择的时间范围内进行一次自动备份。七天后,系统会删除最早的备份。

如需了解时间点恢复,请参阅时间点恢复概览

如需了解复制,请参阅复制选项。如需了解如何克隆实例,请参阅克隆实例

自动备份的保留设置

保留备份数量的默认值为 7,但您可以将其更改为 1 到 365 之间的任何值。

如需了解详情,请参阅 自动备份和事务日志保留

位置选项

您可以选择将备份存储在多个或单个区域中。多区域是默认值,也是推荐的选择,因为它在某个区域不可用时可以防止停机。备份会存储在距离实例最近的区域中。

您还可以选择为备份选择自定义位置。 请仅在法规要求或组织政策要求备份位于特定的多区域或单区域时使用此选项。如需了解详情,请参阅自定义位置

实例删除保护

保护实例免遭意外删除。如果此设置已启用,您必须先将其停用,然后才能删除实例。请参阅防止删除实例

启用时间点恢复

借助时间点恢复,您可以从备份中的特定时间点开始恢复。

如需了解时间点恢复,请参阅时间点恢复概览

可用性:可用区级

将您的实例和备份放置在单个可用区中。选择此选项时,系统不会在服务中断时进行故障切换。 建议仅用于测试和开发目的。

高可用性(区域级)

选择高可用性(区域级)时,如果发生服务中断,您的实例就会故障切换到其所属区域中的其他可用区(只要故障切换可用区没有发生服务中断)。建议您为生产环境中的实例选择高可用性(区域级)

请参阅高可用性配置概览

维护窗口

安排 Cloud SQL 实例的维护事件的日期和时间。对于具有高可用性 (HA) 和专用 IP 连接的 Cloud SQL Enterprise Plus 版主实例,维护停机时间通常少于 10 秒。对于所有其他实例,维护停机时间通常不超过 60 秒。

读取副本目前不支持维护期设置。

如需详细了解维护,请参阅 Cloud SQL 实例维护简介

维护时间

您对维护更新的相对顺序和时间的偏好设置。通过更早接收更新,您可以在生产实例获得更新之前先在测试环境中测试维护更新。维护时间设置不会影响 Cloud SQL 应用于实例的维护版本。

如果未设定维护时间设置,则由 Cloud SQL 选择实例更新时间(如适用,会选在维护期内)。

如需详细了解维护,请参阅 Cloud SQL 实例维护简介

专用 IP
将您的实例配置为使用专用 IP。了解详情
公共 IP
如果启用此设置,系统会为您的实例分配一个公共 IPv4 地址。 当您停用公共 IP 地址后,该地址会被释放;之后您可以重新启用公共 IP 地址,但会收到不同的 IPv4 地址。默认情况下,系统会针对所有地址屏蔽公共 IP 地址。您可以使用已获授权的网络启用访问权限。
已获授权的网络
您可添加特定的 IP 地址或地址范围,从而向这些地址开放实例。

如需了解如何配置 IP 地址,请参阅配置 IP 连接

Google Cloud 服务的专用路径

选中此复选框即表示您允许其他 Google Cloud 服务(例如 BigQuery)访问 Cloud SQL 中的数据,并通过专用连接对此数据进行查询。

仅当您选中专用 IP 复选框并添加或选择已获授权的网络来创建专用连接时,才会启用此复选框。

数据缓存

数据缓存是一项可选功能,适用于 Cloud SQL for PostgreSQL 企业 Plus 版实例。数据缓存利用本地 SSD 将操作系统页面缓存从内存扩展到 SSD 层级。Cloud SQL 会管理此设置。使用数据缓存时,缓存整个工作集可实现最高性能。 您可以使用 Google Cloud 控制台、gcloud CLI 或 Cloud SQL Admin API 为 Cloud SQL for PostgreSQL 企业 Plus 版实例启用或停用此设置。

激活政策
您可以通过启动和停止实例来更改激活政策。停止实例可免除进一步的实例费用。
数据库标志

您可在 Cloud SQL 实例上设置特定的数据库标志。

如需查看可设置的数据库标志的完整列表,请参阅配置数据库标志

更改实例设置带来的影响

对于大多数实例设置,Cloud SQL 会立即应用更改,且实例的连接不受任何影响。

更改 CPU 数量或内存大小会导致实例短暂离线(不超过 60 秒)。更改完全生效则可能需要几分钟时间。

更改实例的可用区、配置专用 IP、更改实例的网络以及启用高可用性则会导致实例离线几分钟。

Cloud SQL 会根据实例的内存量自动管理 max_connections 标志的值(如需了解详情,请参阅支持的标志)。PostgreSQL 要求 max_connections 的值在读取副本上始终至少与其在主实例上一样大。因此,如果读取副本的内存少于主实例,则更改主实例的内存量可能会导致其读取副本发生不超过 60 秒的离线。这是因为读取副本可能需要接收新值 max_connections

为了与主实例上的更改保持一致,更新 max_connections 的值需要重启 PostgreSQL。为避免发生这种情况,请将主实例上的 max_connections 标志设置为您选择的值。

请将这些类型的更改规划在服务可以处理相应时长的服务中断时进行。

后续步骤