AWS Route53:同一域下的私有和公共托管区域

问题描述 投票:0回答:2

我已阅读了我能找到的所有 AWS 文档。谷歌也没有取得任何成果。

我的情况是 - 我们有一个域名“example.com”,到目前为止仅用于公共记录。有一个托管区域设置为公共。现在,我想为私有记录创建一个子域,以便在我们的应用程序的 VPC 组内部使用(例如指向 ElastiCache 实例)。

我尝试创建“private.example.com”作为指向我们的 VPC 的私有托管区域。然后在其下创建“cache.private.example.com”作为记录。但并没有解决。

我很好奇是否可以以某种方式配置主域的子域?

example.com - Public
** app.example.com 
private.example.com - Private
** cache.private.example.com - VPC

我还可以创建具有相同顶级域 example.com 的私有托管区域吗?我很紧张尝试这个,因为我不想影响申请。

example.com - Public
** app.example.com
example.com - Private
** cache.example.com - VPC'
amazon-web-services dns amazon-route53
2个回答
11
投票

对于尝试“子集化”公共主机区域,或将私有主机区域“回退”或“扩展”到公共区域的 Google 员工。继续阅读。

首先,R53是权威的,意味着你必须提供精确的分辨率,因此使用不同BIND视图的常见方法将不起作用。此外,当主机区域名称重叠时,以私有区域为准。

其次,R53会根据“特异性”来决定使用哪个主机区域。因此,当用户请求

www.example.com
时,名为
www.example.com
的主机区域优先于另一个名为
example.com
的主机区域。这是我们可以利用的。

遵循以下程序:

  • 为您的公共 DNS 记录创建公共主机区域(例如
    example.com
    ),或者仅使用任何其他公共 DNS 记录并跳过此步骤
  • 为每个拥有本地/私有镜像/缓存的子域名创建一个私有主机区域(例如
    www.example.com
  • 为每个私有主机区域创建默认记录集(将“名称”字段留空)并将它们指向本地地址
  • 将私有主机区域附加到您选择的 VPC

这样,如果您的机器请求

www.example.com
,并且私有主机区域匹配,它将返回本地地址,否则,它将回退到使用公共主机区域。

此解决方案的陷阱是 R53 按主机区域的数量向您收费,因此您将需要支付更多费用。这也有点hacky。否则,它消除了创建和管理自己的 BIND 服务器、同步公共记录等的复杂性。


8
投票

您需要为私有区域拥有不同的域。像“example.internal”这样的东西然后你可以有“cache.example.internal”

cache.private.example.com 在您当前的设置中不会解析,因为它将寻找 example.com 来解析该 dns。另请注意,它只会在 VPC 内部解析。

© www.soinside.com 2019 - 2024. All rights reserved.