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

3 分钟阅读
0

在 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 型记录,其中包含以下细节:

记录名称类型路由策略差异化器值/将流量路由到
test1.101.example.comA简单-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.comA简单-8.8.8.8

您可以更新注册商平台上的一个或两个账户的名称服务器。如果您更新账户 A 中的域名服务器,但未更新账户 B 中的域名服务器,则会得到以下 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 中有一个与虚拟私有云 (VPC) 关联的私有托管区域 (example.com)。私有托管区域包含一条简单的 A 类记录:

记录名称类型路由策略差异化器值/将流量路由到
example.comNS简单-ns-1536.awsdns-00.co.uk. / ns-0.awsdns-00.com. / ns-1024.awsdns-00.org. / ns-512.awsdns-00.net. /
example.comSOA简单-ns-1536.awsdns-00.co.uk. awsdns-hostmaster.amazon.com.1 7200 900 1209600 86400
test1.example.comA简单-1.1.1.1

在此示例中,来自 VPC 中实例的资源记录的 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 中,还有另一个与其他 VPC 关联的同名私有托管区域 (example.com)。此私有托管区域包含一条简单的 A 类记录:

记录名称类型路由策略差异化器值/将流量路由到
example.comNS简单-ns-1536.awsdns-00.co.uk. / ns-0.awsdns-00.com. / ns-1024.awsdns-00.org. / ns-512.awsdns-00.net. /
example.comSOA简单-ns-1536.awsdns-00.co.uk. awsdns-hostmaster.amazon.com.1 7200 900 1209600 86400
test2.example.comA简单-2.2.2.2

账户 B 的VPC 中,某个实例的资源记录 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 关联到两个同名的私有托管区域。

AWS 官方
AWS 官方已更新 9 个月前
没有评论