以下を使用してエラスティック キャッシュ ノード アドレスを取得しようとしています。
${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"
}