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

Posted

技术标签:

【中文标题】AWS Route53:同一域下的私有和公共托管区域【英文标题】:AWS Route53: Private and public hosted zones under the same domain 【发布时间】:2016-10-31 06:12:33 【问题描述】:

我已经阅读了我能找到的所有 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

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

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

【问题讨论】:

你为什么要创建两个子域“private.example.com”和“cache.private.example.com” @error2007s 我试图将整个 private.example.com 子域用作私有托管区域。我现在只有一张唱片,但将来会有更多。 查看下面的答案 定义“它不会解决”。当你尝试时会发生什么?如果您在公共区域(例如 cache.private.example.com)中放置冲突记录会发生什么?如果公共记录在 VPC 内解析,则说明您的配置有误,我们需要查明这一点。 不,除非您准备从公共区域复制所有记录,否则不要创建私有 example.com 区域。私人口罩同级或以下公开。 【参考方案1】:

适用于尝试将公共主机区域“子集化”或将私有主机区域“回退”或“扩展”为公共的 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 服务器、同步公共记录等的复杂性。

【讨论】:

这是准确的。但是我要补充一点,例如,一旦您创建了“www.example.com”私有托管区域,那么其下的任何内容也将使用该私有托管区域。因此,尝试访问“server2.www.example.com”将导致在“www.example.com”私有托管区域而不是公共区域中查找其 IP。【参考方案2】:

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

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

【讨论】:

我发现这个简介让我相信示例 2 是可能的,但不确定它是否仅适用于“拆分视图”或可以按照我的布局工作。 docs.aws.amazon.com/Route53/latest/DeveloperGuide/…参见“拆分视图”部分 @MatthewMcCants,没有。 private.example.com 上的一个私有托管区域将与公共区域 example.com 共存,并具有完全所需的行为——私有记录仅在内部可见,public.example.com 外部的公共记录在内外可见。这种配置没有冲突也没有歧义。私有区域在私有区域的顶点及以下(而不是在其上方)掩盖了公众。

以上是关于AWS Route53:同一域下的私有和公共托管区域的主要内容,如果未能解决你的问题,请参考以下文章

无法从 ec2 实例访问我的路由 53 私有托管区域

Route53私有托管域——轻松管理你私有ip和域名

我可以在不使用 Route 53 的情况下将我的域和子域指向 AWS 托管吗?

Amazon AWS Route 53 托管区域不起作用

我可以在另一个 AWS 账户中使用 AWS Route53 注册域吗?

AWS Route 53 别名记录导致 301