基于默认组在AWS Elasticache中创建自定义参数组



我正在尝试在AWS Elasticache中创建自定义参数组。

我想使用一个默认参数组作为基础(名为default.redis5.0.cluster.on的组,因为除了一个我想更改的属性外,我还需要其他所有内容(,请参阅https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html有关默认参数组的更多详细信息

我的基本假设是,我需要将默认参数组值复制到Terraform资源中,然后只修改我需要更改的唯一参数。然而,这会产生大量的参数列表,而且似乎不是最简单的方法。

如果我需要在default.redis5.0.cluster.on参数组中复制参数,那么我需要在Terraform中复制这些参数。有没有办法将默认资源组导入Terraform配置?

可以使用family = redis5.0创建参数组,该参数组的参数与默认参数组default.redis5.0.cluster.on几乎相同。

我最终对两个参数组(default.redis5.0default.redis5.0.cluster.on(中的属性进行了JSON diff,只有一个参数不同。首先,将参数组获取为JSON:

aws elasticache describe-cache-parameters --cache-parameter-group-name default.redis5.0.cluster.on > default.redis5.0.cluster.on.json
aws elasticache describe-cache-parameters --cache-parameter-group-name default.redis5.0 > default.redis5.0.json

然后对这两个文件进行JSON diff,以获得不同的参数。只有一个cluster-enabled,所以在那之后,以这种方式创建一个与default.redis5.0.cluster.on具有相同参数值的自定义资源组是很简单的:

resource "aws_elasticache_parameter_group" "aws_elasticache_parameter_group" {
name        = "cache-params"
family      = "redis5.0"
description = "The parameter group has same values as default parameter group default.redis5.0.cluster.on"
parameter {
name  = "cluster-enabled"
value = "yes"
}
}

相关内容

  • 没有找到相关文章

最新更新