如何解决 Route 53 中的托管区域在不同 AWS 账户中具有相同域名的问题?

上次更新日期:2021 年 5 月 20 日

如何解决 Amazon Route 53 中的托管区域在不同 AWS 账户中具有相同域名的问题?

解决方法

在两个账户中具有相同名称的公有托管区域

您可以创建多个具有相同名称的托管区域,并向每个托管区域添加不同的记录。Route 53 向每个托管区域分配四个名称服务器,每个托管区域的名称服务器都不同。在更新注册商的名称服务器记录时,请务必将 Route 53 名称服务器用于相应的托管区域。您必须使用包含 Route 53 在响应域查询时应使用的记录的托管区域。Route 53 不会返回具有相同名称的其他托管区域中的记录的值。

例如:

账户 A 中,有一个域名为“101.example.com”的托管区域。Route 53 自动将四个名称服务器分配给托管区域:

  • ns-1701.awsdns-20.co.uk。
  • ns-487.awsdns-60.com。
  • ns-1410.awsdns-48.org。
  • ns-867.awsdns-44.net。

账户 A 中还有一条简单的类型 A 记录,其中包含以下详细信息:

记录名称 类型 路由策略 区分因素 值/路由流量流向
test1.101.example.com A 简单 - 8.8.8.8

账户 B 中,有一个具有相同域名(“101.example.com”)的托管区域。Route 53 自动将四个名称服务器分配给托管区域:

  • ns-869.awsdns-44.net。
  • ns-1332.awsdns-38.org。
  • ns-61.awsdns-07.com。
  • ns-1707.awsdns-21.co.uk。

此托管区域还包含一条简单的类型 A 记录,其中包含以下详细信息:

记录名称 类型 路由策略 区分因素 值/路由流量流向
test2.101.example.com A 简单 - 8.8.8.8

如果账户 A 中存在的域名 (101.example.com) 的名称服务器在注册商中更新,而账户 B 中存在的同一域名 (101.example.com) 的名称服务器没有添加到注册商,则会得到以下 dig 输出内容:

  • 账户 A 的 dig 输出内容:NOERROR
# dig test1.101.example.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.amzn2.0.4 <<>> test1.101.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38973
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;test1.101.example.com.    IN   A

;; ANSWER SECTION:
test1.101.example.com. 300    IN   A      8.8.8.8
  • 账户 B 的 dig 输出内容:NXDOMAIN
dig test2.101.example.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.amzn2.0.4 <<>> test2.101.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 34489

在两个账户中具有相同名称的私有托管区域

账户 A 中,考虑这样一个场景:账户 A 中存在一个与 VPC-A 关联的私有托管区域(“example.com”)。该私有托管区域包含一条简单的类型 A 记录。在此场景中,账户 A 的 VPC-A 中的实例的资源记录的 dig 输出内容为 NOERROR

记录名称 类型 路由策略 区分因素 值/路由流量流向
example.com NS 简单 -

ns-1536.awsdns-00.co.uk。

ns-0.awsdns-00.com。

ns-1024.awsdns-00.org。

ns-512.awsdns-00.net

example.com SOA 简单 -

ns-1536.awsdns-00.co.uk。awsdns-hostmaster.amazon.com。1 7200 900 1209600 86400

test1.example.com A 简单 - 1.1.1.1
  • 账户 A 的 dig 输出内容:NOERROR
# dig test1.example.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.amzn2.0.4 <<>> test1.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45251
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;test1.example.com.    IN   A

;; ANSWER SECTION:
test1.example.com.    60   IN   A   1.1.1.1

账户 B 中,还有另一个具有相同名称(“example.com”)的私有托管区域与账户 B 的 VPC-B 关联。此私有托管区域包含一条简单的类型 A 记录。账户 B 的 VPC-B 中的实例的资源记录的 dig 输出内容为 NOERROR

记录名称 类型 路由策略 区分因素 值/路由流量流向
example.com NS 简单 -

ns-1536.awsdns-00.co.uk。

ns-0.awsdns-00.com。

ns-1024.awsdns-00.org。

ns-512.awsdns-00.net。

example.com SOA 简单 - ns-1536.awsdns-00.co.uk。awsdns-hostmaster.amazon.com。1 7200 900 1209600 86400
test2.example.com A 简单 - 2.2.2.2
  • 账户 B 的 dig 输出内容:NOERROR
# dig test2.example.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.amzn2.0.4 <<>> test2.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5377
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;test2.example.com.    IN   A

;; ANSWER SECTION:
test2.example.com.    60   IN   A   2.2.2.2

注意:Route 53 中的私有托管区域的名称服务器是相同的四个名称服务器。请记住,您不能将同一个 VPC 关联到两个具有相同名称的私有托管区域。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?