我已经阅读了所有可以找到的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
答案 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解析:
注意:您不必复制所有公共区域记录。只需为您需要的私有区域创建记录。如果您没有私人记录,则从您的VPC中返回公共记录。
答案 2 :(得分:0)
适用于Google员工搜索“设置”公共托管区域,或将专用托管区域“回退”或“扩展”为公共区域。继续阅读。
首先,R53具有权威性,这意味着您必须提供准确的分辨率,因此使用不同的BIND视图的通用方法将行不通。同样,当主机区域名称重叠时,以专用区域为准。
第二,R53将基于“特异性”确定要使用的主机区域。因此,当用户要求www.example.com
时,则名为www.example.com
的主机区域优先于另一个名为example.com
的主机区域。这是我们可以利用的东西。
执行以下步骤:
example.com
)创建公共主机区域,或仅使用任何其他公共DNS记录并跳过此步骤www.example.com
)的子域名的创建一个私有主机区域通过这种方式,如果您的计算机要求输入www.example.com
,并且私有主机区域匹配,它将返回本地地址,否则,它将回退以使用公共主机区域。
此解决方案的陷阱是R53按主机区域的数量向您收费,因此您需要支付更多费用。而且这有点hacky。否则,它消除了创建和管理自己的BIND服务器,同步公共记录等的复杂性。