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

Terraform从1.3升级至1.4后AWS ElastiCache Redis engine_version验证报错求助

Terraform 1.4升级后AWS ElastiCache Redis engine_version校验报错的解决办法

问题描述

我在使用Terraform管理AWS ElastiCache Redis资源时遇到了版本兼容问题:

  • 原环境:Terraform 1.3,Redis版本6.0.5,var.engine_version设置为6.0.5,运行正常
  • 升级后:Terraform升级至1.4,出现错误提示:

    engine_version: Redis versions must match <major>.x when using version 6 or higher, or <major>.<minor>.<bug-fix>

我的ElastiCache配置代码如下:

resource "aws_elasticache_subnet_group" "main" {
  name       = "${var.identifier}-sng"
  subnet_ids = var.subnet_ids
}

resource "aws_elasticache_cluster" "main" {
  cluster_id           = var.identifier
  engine               = "redis"
  node_type            = var.node_type
  num_cache_nodes      = var.nodes_count
  parameter_group_name = var.parameter_group_name
  engine_version       = var.engine_version
  port                 = 6379
  security_group_ids   = var.security_group_ids
  subnet_group_name    = aws_elasticache_subnet_group.main.name
  tags = {
    "redis" = "Auto managed by TF"
  }
}

问题原因

很多用户在升级Terraform到1.4版本后都遇到过这个问题,核心原因是Terraform AWS Provider的版本同步更新后,对Redis 6.0+版本的格式校验逻辑变得更严格,完全对齐了AWS官方API的版本规范要求:

  • 对于Redis 6.x及以上版本,AWS允许两种版本号格式:
    1. 大版本通配格式:<major>.x(例如6.x),让AWS自动选择该大版本下的最新兼容补丁版本
    2. 完整三位版本号:<major>.<minor>.<bug-fix>(例如6.0.6),但必须是AWS当前区域明确支持的有效版本

你的6.0.5虽然是三位格式,但可能当前AWS区域已经不再提供该版本的支持,或者新版本的Provider校验逻辑对版本号的有效性检查更严格。

解决办法

方法1:使用大版本通配格式(推荐)

这是AWS官方推荐的做法,既可以避免具体版本下线导致的部署失败,也能自动获取该大版本下的安全补丁更新:

  • 将var.engine_version的值修改为6.x,或者直接在配置中写死:
engine_version = "6.x"

方法2:确认并使用AWS当前支持的完整版本号

  1. 登录AWS控制台,进入ElastiCache服务页面,查看当前区域支持的Redis 6.x系列完整版本号(比如可能已经更新到6.0.6或更高)
  2. 将var.engine_version的值替换为AWS支持的完整三位版本号,确保格式完全匹配

方法3:锁定AWS Provider版本(不推荐)

如果你暂时不想修改版本号格式,可以在Terraform的provider配置中锁定AWS Provider为之前兼容的版本(比如3.x系列,适配Terraform 1.3的版本):

provider "aws" {
  region  = "your-region"
  version = "~> 3.0"
}

不过这种方法会让你无法使用新版本Provider的特性和安全更新,仅作为临时过渡方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 10:43:11