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

时间:2016-06-28 19:03:43

标签: amazon-web-services dns amazon-route53

我已经阅读了所有可以找到的AWS文档,GoogleFoo没有任何结果。

我的情况是,我们有一个域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

OR

还可以使用相同的顶级域example.com创建私有托管区域吗?我很紧张,因为我不想影响应用程序。

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

3 个答案:

答案 0 :(得分:8)

您需要为私有区域设置不同的域。像" example.internal"然后你可以拥有" cache.example.internal"

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

答案 1 :(得分:3)

您可以拥有同名的私人和公共DNS名称。对于来自公共Internet的DNS查询,只有公共名称才能解析。对于来自VPC的查询(在将VPC DHCP选项集设置为指向Route 53之后),私有名称将解析。我们一直在EC2实例上使用它,以便它们可以使用私有IP地址相互通信。

在Route 53中设置专用区域后,请查看此文档以在您的VPC中设置DNS解析:

DHCP Options Sets

注意:您不必复制所有公共区域记录。只需为您需要的私有区域创建记录。如果您没有私人记录,则从您的VPC中返回公共记录。

答案 2 :(得分:0)

适用于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服务器,同步公共记录等的复杂性。