如何使用 Terraform 的 azurerm 提供程序在 Azure 上设置域 MX 记录?
设置 MX 记录时,将名称设为 FQDN“example.com”是正常的(至少在 BIND 中如此)。但是 Terraform/Azure 不允许这种命名。示例文档位于https://www.terraform.io/docs/providers/azurerm/r/dns_mx_record.html 建议使用名称“test”。这显然很愚蠢,因为它会为子域 test.example.com 创建 MX 记录 - 这根本不是您想要的。
例如:
resource "azurerm_dns_mx_record" "example-com-mx" {
name = "mx"
resource_group_name = data.azurerm_resource_group.prod-rg.name
zone_name = azurerm_dns_zone.example-com.name
ttl = 300
record {
exchange = "ALT1.ASPMX.L.GOOGLE.COM."
preference = "5"
}
record {
exchange = "ALT2.ASPMX.L.GOOGLE.COM."
preference = "5"
}
record {
exchange = "ALT3.ASPMX.L.GOOGLE.COM."
preference = "10"
}
record {
exchange = "ALT4.ASPMX.L.GOOGLE.COM."
preference = "10"
}
record {
exchange = "verificationcodehere.mx-verification.google.com."
preference = "15"
}
}
如果您需要 mx.example.com 的邮件交换器,它就很棒!但如果您想要域名邮件交换器,它就不行。
答案1
事实证明这是 Azure 插件中缺少的一个功能,他们已经打了一个补丁,看起来它将出现在 1.40.0 中