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

使用Terraform GCP Memorystore模块启用Redis只读副本遇参数错误求助

问题解决:Terraform Google Memorystore模块启用只读副本报错

报错原因

你使用的terraform-google-memorystore 4.0.0版本未将replica_count和read_replicas_mode作为模块输入变量暴露,所以直接在模块调用中传入这两个参数会触发"Unsupported argument"错误。虽然底层google_redis_instance资源本身支持这两个参数,但该版本模块没有提供对应的变量配置入口。

解决方案

方案1:升级模块到支持只读副本的版本

后续版本的terraform-google-memorystore模块已添加了只读副本相关的输入变量,建议升级到最新稳定版(比如>=5.0.0)。升级后,模块配置可保留原有逻辑,仅更新版本号:

module "memorystore_replica" {
  source  = "terraform-google-modules/memorystore/google"
  version = "~> 6.0" # 使用最新稳定版,可按需调整

  redis_version           = "REDIS_6_X"
  name                    = "${module.project.project_name}-redisreadreplica-${module.locations.region_codes[var.region]}-instance"
  project                 = module.project.project_id
  region                  = var.region
  authorized_network      = local.vpc
  connect_mode            = var.redis_connection_type
  memory_size_gb          = var.redis_memory_size_gb
  transit_encryption_mode = "DISABLED"
  labels                  = var.labels
  replica_count           = 2
  read_replicas_mode      = "READ_REPLICAS_ENABLED"
}

方案2:直接使用底层google_redis_instance资源(无需依赖模块)

如果不想升级模块,可以绕过封装的模块,直接调用Terraform GCP Provider的原生资源,手动配置只读副本参数:

resource "google_redis_instance" "replica" {
  depends_on = [module.enable_apis]

  project                 = module.project.project_id
  name                    = "${module.project.project_name}-redisreadreplica-${module.locations.region_codes[var.region]}-instance"
  tier                    = "STANDARD_HA" # 只读副本要求实例层级为STANDARD_HA
  memory_size_gb          = var.redis_memory_size_gb
  connect_mode            = var.redis_connection_type
  region                  = var.region
  authorized_network      = local.vpc
  redis_version           = "REDIS_6_X"
  transit_encryption_mode = "DISABLED"
  labels                  = var.labels
  replica_count           = 2
  read_replicas_mode      = "READ_REPLICAS_ENABLED"
}

注意:启用只读副本必须将实例层级设置为STANDARD_HA,若之前使用BASIC层级,需先完成层级调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 11:30:46