当terraform运行以下,这显然是采随机NS服务器:如何指定的DNS服务器时terrafrorm使用aws_route53_zone
resource "aws_route53_zone" "example.com" {
name = "example.com"
}
这样做的问题是,我在AWS注册的域名已有指定的NS服务器。有没有办法指定这个资源使用的NS服务器 - 或者可以将托管域的NS服务器更改为在创建区域时选择的内容?
当terraform运行以下,这显然是采随机NS服务器:如何指定的DNS服务器时terrafrorm使用aws_route53_zone
resource "aws_route53_zone" "example.com" {
name = "example.com"
}
这样做的问题是,我在AWS注册的域名已有指定的NS服务器。有没有办法指定这个资源使用的NS服务器 - 或者可以将托管域的NS服务器更改为在创建区域时选择的内容?
当您创建新区域时,AWS会为您生成名称服务器列表。使用Terraform中的这个例子。
resource "aws_route53_zone" "dev" {
name = "dev.example.com"
tags {
Environment = "dev"
}
}
resource "aws_route53_record" "dev-ns" {
zone_id = "${aws_route53_zone.main.zone_id}"
name = "dev.example.com"
type = "NS"
ttl = "30"
records = [
"${aws_route53_zone.dev.name_servers.0}",
"${aws_route53_zone.dev.name_servers.1}",
"${aws_route53_zone.dev.name_servers.2}",
"${aws_route53_zone.dev.name_servers.3}",
]
}
https://www.terraform.io/docs/providers/aws/r/route53_zone.html
API调用创建区域后返回一个代表团集。
我已经能够指定DNS服务器,但我会想象AWS是基于可用性分配服务器,负载等等,所以你可能要认真思考在烘烤这些CONFIGS。
resource "aws_route53_record" "primary-ns" {
zone_id = "${aws_route53_zone.primary.zone_id}"
name = "www.bacon.rocks"
type = "NS"
ttl = "172800"
records = ["ns-869.awsdns-44.net","ns-1237.awsdns-26.org","ns-1846.awsdns-38.co.uk","ns-325.awsdns-40.com"]
}
或类似的规定
你是说你已经为你的域Route53区?如果是这种情况,只需使用'terraform import'将区域置于您的状态,以便Terraform可以管理它。 – ydaetskcoR
不,我说我有一个AWS注册域名,我正在使用terraform来创建一个区域。 – TyMac
域名没有名称服务器。如果您通过AWS购买域名,他们通常会提示您是否想同时创建一个区域。 – ydaetskcoR