You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Terraform中为CloudSQL主从实例设置指定instance_type?

解决方案

首先要明确:instance_type 是Terraform创建CloudSQL实例后生成的计算属性,并非可手动配置的参数,直接设置它会触发报错,必须通过其他配置项间接控制实例类型。

1. 主实例(ON_PREMISES_INSTANCE)配置

正常创建独立的CloudSQL主实例即可,无需额外设置特殊参数,实例创建后instance_type会自动变为ON_PREMISES_INSTANCE:

resource "google_sql_database_instance" "primary" {
  name             = "primary-master"
  database_version = "POSTGRES_14" # 替换为你需要的版本
  settings {
    tier = "db-f1-micro" # 替换为合适的实例规格
    # 可添加其他配置,如磁盘大小、网络设置等
  }
}

2. 只读副本(READ_REPLICA_INSTANCE)配置

通过设置master_instance_name关联主实例,CloudSQL会自动将该实例标记为只读副本,instance_type会自动变为READ_REPLICA_INSTANCE:

resource "google_sql_database_instance" "read_replica" {
  name                 = "read-replica"
  database_version     = "POSTGRES_14" # 需与主实例版本一致
  master_instance_name = google_sql_database_instance.primary.name
  settings {
    tier = "db-f1-micro" # 可根据需求调整规格
    # 可添加副本专属配置,如区域、备份设置等
  }
}

关键说明

  • 不要在配置中手动指定instance_type字段,它是Terraform自动生成的输出值,仅用于标识实例类型。
  • 只读副本的database_version必须与主实例保持一致,否则会创建失败。

内容的提问来源于stack exchange,提问作者AzyCrw4282

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 02:06:27