3

以下を使用してエラスティック キャッシュ ノード アドレスを取得しようとしています。

${aws_elasticache_cluster.xxx-xxxx-xxxxxx.0.cache_nodes.0.address}

このエラーの取得:

* Resource 'aws_elasticache_cluster.xxx-xxxx-xxxxxx.1' does not have attribute 'cache_nodes.0.address' for variable 'aws_elasticache_cluster.xxx-xxxx-xxxxxx.1.cache_nodes.0.address'

idの代わりに取得しようとするとcache_nodes.0.address、動作しますが、elasticache ノード アドレスが必要です。どうすればそれを手に入れることができるかについてのアイデア。

アップデート

さらに詳しい情報:

以下のスニペットは、3 つの ecc ノードを作成します

resource "aws_elasticache_cluster" "xxx-xxxxx-session" {
  count                = 3
  cluster_id           = "${var.pod_name}-xxx-xxxxx-${count.index}"
  engine               = "${var.ecc_engine}"
  engine_version       = "${var.ecc_engine_version}"
  node_type            = "cache.m3.xlarge"
  num_cache_nodes      = "${var.ecc_session_nodecount}"
  parameter_group_name = "${var.ecc_parameter_group_name}"
  subnet_group_name    = "${var.xxxxxxx}"
  port                 = "${var.ecc_port}"
  security_group_ids   = ["${aws_security_group.xxxxxx.id}"]
  depends_on           = ["aws_elasticache_subnet_group.xxxxxxxx"]
 }

ここで、以下を使用してこれらすべてのクラスターの route53 エントリを作成したいと思います。たとえば、最初のクラスターでは、以下のコードを使用していますが、機能します。count を使用していないときに作業しました。つまり、1 つのクラスターとそのためのルート 43 エンドポイントのみです。

resource "aws_route53_record" "redis-xxxxx-xxxxx-xxxxx-xxxxxx-A0" {
  zone_id = "${lookup(var.route_53_zone_id, var.env_type)}"
  name    = "redissession0.${var.xxxxxxx}.${lookup(var.zone_record_domain, var.env_type)}"
  type    = "CNAME"
  records = ["${aws_elasticache_cluster.xxx-xxxxx-   session.0.cache_nodes.0.address}"]
  ttl     = "60"
}
4

0 に答える 0