我认为我是使用Redis的AWS ElastiCache的简单Terraform配置:
resource "aws_elasticache_replication_group" "my_replication_group" {
replication_group_id = "my-rep-group",
replication_group_description = "eln00b"
node_type = "cache.m4.large"
port = 6379
parameter_group_name = "default.redis5.0.cluster.on"
snapshot_retention_limit = 1
snapshot_window = "00:00-05:00"
subnet_group_name = "${aws_elasticache_subnet_group.my_subnet_group.name}"
automatic_failover_enabled = true
cluster_mode {
num_node_groups = 1
replicas_per_node_group = 1
}
}
我尝试使用以下方法定义端点输出:
output "my_cache" {
value = "${aws_elasticache_replication_group.my_replication_group.primary_endpoint_address}"
}
当我通过terragrunt运行申请时,我得到:
错误:错误的运行计划:发生了1个错误:
module.mod.output.my_cache:资源'aws_elasticache_replication_group.my_replication_group'没有变量'aws_elasticache_replication_group.my_replication_group.primary_endpoint_address'的属性'primary_endpoint_address'
我在这里做什么错了?
答案 0 :(得分:1)
primary_endpoint_address
属性仅适用于docs中提到的非群集模式Redis复制组:
primary_endpoint_address-(仅限Redis)如果禁用了群集模式,则复制组中主节点的端点地址。
在使用群集模式时,您应该使用configuration_endpoint_address
来连接到Redis群集。