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

Terraform部署ElastiCache集群遇一元操作数错误求解决方案

问题解决方案

1. 修复transit_encryption_enabled赋值错误

你遇到的错误是因为代码里对布尔类型变量使用了一元负号运算符(-),这个运算符仅支持数字类型,而var.transit_encryption_enabled是布尔值true,导致类型不匹配。

直接修改main.tf对应行,去掉多余的负号:

transit_encryption_enabled = var.transit_encryption_enabled

2. 启用传输加密并配置认证令牌

要同时实现传输加密+带令牌启动,需注意仅Redis引擎支持认证令牌,Memcached不支持,以下是完整配置要点:

2.1 定义必要变量(若未定义)

在variables.tf中添加变量声明:

variable "transit_encryption_enabled" {
  type        = bool
  description = "是否启用ElastiCache集群传输加密"
  default     = false
}

variable "auth_token" {
  type        = string
  description = "Redis集群认证令牌,启用传输加密时必填"
  sensitive   = true # 标记为敏感数据,避免日志泄露
}

2.2 在xxx.tfvars传入参数

transit_encryption_enabled = true
auth_token = "your-strong-complex-token" # 使用符合要求的强令牌

2.3 完善集群模块配置

确保引擎版本满足要求(Redis 3.2.6及以上支持传输加密和认证令牌),并传入对应参数:

module "elastic_cache_cluster" {
  source = "path/to/your/elasticache-module"

  # 基础配置
  engine                      = "redis"
  engine_version              = "6.2" # 选择兼容的版本
  # 加密与认证配置
  transit_encryption_enabled  = var.transit_encryption_enabled
  auth_token                  = var.auth_token
  # 其他必填参数(如节点数、实例类型等)
}

3. 验证配置

修改完成后重新执行命令确认:

terraform init
terraform plan

检查计划输出中transit_encryption_enabled为true,auth_token以掩码形式显示(敏感数据保护),无报错即可执行部署。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 23:22:06