使用aws_elasticache_replication_group获取Terraform的端点

时间:2019-01-28 22:43:42

标签: amazon-web-services terraform amazon-elasticache redis-cluster

我认为我是使用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'

我在这里做什么错了?

1 个答案:

答案 0 :(得分:1)

primary_endpoint_address属性仅适用于docs中提到的非群集模式Redis复制组:

  

primary_endpoint_address-(仅限Redis)如果禁用了群集模式,则复制组中主节点的端点地址。

在使用群集模式时,您应该使用configuration_endpoint_address来连接到Redis群集。