在 terraform 中获取 AWS ElastiCache Redis 集群的 IP 地址
Get IP address of AWS ElastiCache Redis cluster in terraform
我在 AWS ElastiCache 中有一个 Redis 集群
resource "aws_elasticache_replication_group" "custom-redis-cluster" {
...
}
我想访问它所有集群的IP。
我尝试使用 dns_a_record_set
从 DNS 名称手动获取 IP 地址
但效果不佳。
data "dns_a_record_set" "esg-redis-data" {
host = "custom-redis-cluster.abcd1e.clustercfg.use2.cache.amazonaws.com"
}
variable "custom-redis-cluster-addrs" {
type = list(string)
value = data.dns_a_record_set.custom-redis-cluster.addrs
}
错误
Error: Unsupported argument
on endpoint.services.tf line 37, in variable "custom-redis-cluster-addrs":
37: value = data.dns_a_record_set.custom-redis-cluster.addrs
如何从 Terraform 获取所有 Redis 集群的 IP 地址?
有没有办法动态获取 Redis 集群 DNS 名称而不是硬编码?
您不能使用变量来定义custom-redis-cluster-addrs
变量。
但是你可以创建一个 local
:
locals {
custom-redis-cluster-addrs = data.dns_a_record_set.custom-redis-cluster.addrs
}
并在需要时将其用作 local.custom-redis-cluster-addrs
。
我在 AWS ElastiCache 中有一个 Redis 集群
resource "aws_elasticache_replication_group" "custom-redis-cluster" {
...
}
我想访问它所有集群的IP。
我尝试使用 dns_a_record_set
从 DNS 名称手动获取 IP 地址
但效果不佳。
data "dns_a_record_set" "esg-redis-data" {
host = "custom-redis-cluster.abcd1e.clustercfg.use2.cache.amazonaws.com"
}
variable "custom-redis-cluster-addrs" {
type = list(string)
value = data.dns_a_record_set.custom-redis-cluster.addrs
}
错误
Error: Unsupported argument
on endpoint.services.tf line 37, in variable "custom-redis-cluster-addrs":
37: value = data.dns_a_record_set.custom-redis-cluster.addrs
如何从 Terraform 获取所有 Redis 集群的 IP 地址?
有没有办法动态获取 Redis 集群 DNS 名称而不是硬编码?
您不能使用变量来定义custom-redis-cluster-addrs
变量。
但是你可以创建一个 local
:
locals {
custom-redis-cluster-addrs = data.dns_a_record_set.custom-redis-cluster.addrs
}
并在需要时将其用作 local.custom-redis-cluster-addrs
。