我一直在尝试在路线53与 eu-west-1 中当前关联的 VPC 相关联,很快将添加更多。我已确认我的 VPC 已将 DNS 解析选项设置为是,并且还创建了必要的 DHCP 选项集。我在 domain.local 域下添加了 DNS 记录,它运行良好。但是,当我尝试创建子域 dev.domain.local 并尝试与同一 VPC 关联时,问题出现了。我看到以下错误“冲突的域已经与给定的 VPC 或委托集关联。”
我的意图是有一个父私有区域作为 zorotools.local 和几个子域,例如 dev.domain.local、staging.domain.local、prod.domain.local 等。
然后我会将 ec2 实例与这些 DNS 名称关联起来。
所以,请让我知道我犯了什么错误以及我应该如何处理。
答案1
在 Route 53 中创建私有托管区域本质上是在您的 VPC 的 DNS 解析器中应用一个“钩子”,以便对该域的查询直接路由到分配的 Route 53 名称服务器,而不是通过从全局根服务器开始向下遍历进行正常解析。
鉴于此,我认为系统将子域名视为冲突是有道理的,并且这是一个有记录的限制:
存在冲突域
您指定了一个已用于另一个托管区域的 Amazon VPC,并且您为其中一个托管区域指定的域是您为另一个托管区域指定的域的子域。例如,如果您为 example.com 和 test.example.com 创建托管区域,则不能使用同一个 Amazon VPC。
http://docs.aws.amazon.com/Route53/latest/APIReference/API-create-hosted-zone-private.html
但是,以下(未经测试的)解决方法应该允许您实现相同的功能...假设 domain.local 配置为私有托管区域:
创建
dev.domain.local
为民众53 号公路的区域。请注意 Route 53 分配给新区域的 4 条 NS 记录。
返回 domain.local 私有区域,为主机“dev”创建一条记录,输入“NS”,并将分配给 dev.domain.local 的 4 个名称服务器粘贴到框中。
此配置应该导致 VPC 解析器咨询私有父域,了解委托,递归到委托的名称服务器以获取正确的记录,并返回预期的响应。
答案2
- 首先从您的权威 DNS(zorotools.local)委派到 vpc 的 DNS 服务器。DNS 服务器以“.2”结尾。例如,如果您的 vpc 是 10.0.0.0/16,则 pvt 托管区域的 DNS 服务器将是 10.0.0.2
- 创建到子域的条件转发器,例如 dev.zorotools.local
- 对于故障转移,您可以在私有托管区域中关联多个 vpc。如果 vpc 子网不重叠并且启用了对等连接,跨区域也可以工作
- 这对我们来说是有效的,因为公司域名不同,并且我们在 vpc 中拥有不同的权威 dns 来委托给 route53