amazon-web-services - 如何在 AWS Route53 服务中使用 terraform 创建多值 SRV DNS 记录?
问题描述
我正在尝试通过 terraform 在 AWS route53 服务中创建多值 SRV DNS 条目。值应取自实例标签。由于这只是一个记录,因此方法count
不适用。
诀窍是,我有 10 个实例,但需要先通过查找特定标签来过滤它们。根据结果列表,应使用Name
分配给每个实例的标签创建 SRV 记录。
知道如何解决这个问题吗?
提前感谢任何提示。
解决方案
我是这样做的:
resource "aws_instance" "myservers" {
count = 3
#.... other configuration....
}
resource "aws_route53_record" "srv" {
zone_id = aws_route53_zone.myzone.zone_id
name = "_service"
type = "SRV"
records = [for server in data.aws_instance.myservers : "0 10 5000 ${server.private_ip}."]
}
Terraform 的for 表达是解决方案的关键。
关于 AWS Route 53 中的 SRV 记录,每个服务器应该有一行,每一行的格式如下:优先权重端口目标(空格是分隔符)。对于上面的例子:0是优先级,10是权重,5000是端口,最后一个是服务器IP(或名称)
推荐阅读
- c# - 如何将 unicode 字符串从 c# 传输到 c/c++ dll
- azure - 获取无效参数:为与代理关联的证书指定的 *** 不正确。Azure 开发运维
- python - 正则表达式始终返回为 NoneType 或根本找不到任何模式
- php - 如何获取控制器模型中的变量?
- delphi - 从汇编例程访问 Delphi 记录、类等之后的第一个字节
- c# - C# 在异步应用程序中按键访问 ConcurrentDictionary 值
- reactjs - 如何在 redux-saga 中等待调度操作的结果?
- javascript - NodeJS:命令行重定向到日志文件不起作用
- java - 如何使用 Selenium 和 Java 构造 xpath 或 css 定位器来识别元素
- javascript - 如何在 JavaScript 异步获取调用中使用返回的 JSON 错误