基于默认组在 AWS Elasticache 中创建自定义参数组
Creating custom parameter group in AWS Elasticache based on default groups
我正在尝试在 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
几乎相同。
我最终对两个参数组中的属性进行了 JSON 比较:default.redis5.0
和 default.redis5.0.cluster.on
,并且只有一个参数不同。
首先,获取参数组 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"
}
}
我正在尝试在 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
几乎相同。
我最终对两个参数组中的属性进行了 JSON 比较:default.redis5.0
和 default.redis5.0.cluster.on
,并且只有一个参数不同。
首先,获取参数组 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"
}
}