Engine_version:使用版本 6 或更高版本时,Redis 版本必须匹配 <major>.x,或者 <major>.<minor>.<bug-fix>

问题描述 投票:0回答:7

我有以下弹性疼痛资源:

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"
  }
}

我使用 aws elasticache Redis 6.0.5 运行,我的 var.engine_version 也设置为 6.0.5。它运行得很好,直到我从 terraform 1.3 升级到 1.4 为止,我收到了以下错误:

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

有人升级后遇到这个问题吗?解决这个问题的解决方案是什么?

redis terraform terraform-provider-aws
7个回答
1
投票

刚刚遇到这个问题,我可以通过将

parameter_group_name
系列设置为
6.x
engine_version
到 6.0 来解决。当我将引擎版本设置为 6.0.5 时,它引发了上面列出的错误。 6.0引擎版本默认为6.0.5


1
投票

只需写版本号.x(例如 - 7.x)


1
投票

根据当前文档,

engine_version
的格式因版本而异。

  • 版本 7:主要和次要应该设置。
  • 版本 6:可以设置主要和次要。未成年人可以留下 未指定(这里没有补丁)
  • 版本 5 或更低:指定所需的完整版本,例如 5.0.6
这对我们有用:

engine_version = "6.2", parameter_group_name = "default.redis6.x"

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticache_cluster#engine_version


0
投票
我在 2 个不同的项目中使用了 elasticache redis 6.2.6 和 7.0.4。 为了使其工作,我必须分别设置 engine_versions 6.2 和 7.0。


0
投票
将“null”值传递给engine_version参数后,Terraform默认为最新的引擎版本,即7.0.5。由于此更改,Terraform 成功执行。


0
投票
从版本 5 升级到主要版本以上的 6 或 7 时,遇到了与上述类似的版本问题。 我将以下参数设置为 6.x 以解决此问题。

    parameter_group_name = "default.redis6.x"
  • engine_version =“6.x”
[![输出][1]][1] [1]:https://i.sstatic.net/4vGaK.png

注意:它不适用于 7.x,出现 400 错误代码。


0
投票
解决问题。我刚刚评论了引擎版本,它是用最新版本创建的

© www.soinside.com 2019 - 2024. All rights reserved.