Amazon web services 路由53中A Rec和CNAME之间的差异

Amazon web services 路由53中A Rec和CNAME之间的差异,amazon-web-services,dns,nameservers,Amazon Web Services,Dns,Nameservers,由于Amazon Route 53允许您使用Alias将A记录或CNAME设置为不同的子域名,我想知道现在记录和CNAME之间的区别是什么 为了澄清我的问题,CNAME和传统名称服务器中的记录之间的区别在于,只有CNAME可以用于指向不同的子域,并且记录必须指向有效的IP地址。因为AWS Route53允许您使用带有Rec或CNAME的子域。。这并没有模糊两者之间的区别。我认为你的信息是错误的。Amazon Route53不允许带有子域的A记录。当我试图将其设置为域名时,我遇到一个错误: The

由于Amazon Route 53允许您使用Alias将A记录或CNAME设置为不同的子域名,我想知道现在记录和CNAME之间的区别是什么


为了澄清我的问题,CNAME和传统名称服务器中的记录之间的区别在于,只有CNAME可以用于指向不同的子域,并且记录必须指向有效的IP地址。因为AWS Route53允许您使用带有Rec或CNAME的子域。。这并没有模糊两者之间的区别。

我认为你的信息是错误的。Amazon Route53不允许带有子域的
A
记录。当我试图将其设置为域名时,我遇到一个错误:

The record set could not be saved because:
- The Value field contains invalid characters or is in an invalid format.

A
记录仅用于IP地址。

您的问题很有道理,但您使用“子域”一词的方式不太准确

实际上,您要问的是,路由53,
A
记录可以给出引用来自另一个域的完全限定主机名或来自其自己域的主机名或子域的外观,而在正确的DNS中,引用另一个主机名的唯一方法是使用
CNAME
,然而,这些不能在指向子域(“www.example.com”)的域(“example.com”)的顶点进行配置

你是说,一个别名似乎在功能上是等价的,但比
CNAME
更灵活,那么有什么区别吗

CNAME
和别名之间的区别在于
CNAME
仍然是一个适当的、标准的、普通的DNS
CNAME
,它返回一个DNS查询响应“嗨,你需要知道你要找的服务器的真实(“规范”)名称是“x”,并且根据具体情况,还可能包括目标主机的
记录,也可能不包括,这需要客户端进行第二次查找

另一方面,别名是由Amazon创建的一种聪明的黑客,它不破坏协议,但允许路由53在请求资源“Y”的
a
记录时直接从资源“X”发出
a
记录。别名也可以引用其他记录类型,但它们引用的记录类型必须相同。在本讨论中,我谈论的是
A
记录别名

这里重要的一点是,别名实际上返回一个
A
记录,而不是像
CNAME
那样对目标的引用

问题是,如果使用别名,则不能将任何主机名放在该框中。它必须是路由53具有神奇挂钩的域中的主机名,以便它可以检索适当的
a
记录来提供服务——或者是区域中的另一个条目,或者是来自S3、ELB或Cloudfront的条目。这是一个与
CNAME
记录工作方式截然不同的实现,尽管净效果似乎是相同的

将其他内容放入其中,记录集无法保存,因为:-别名目标包含无效值。
请尝试。:)

当然,
CNAME
记录没有这样的限制。。。它们在区域顶部的使用受到设计的限制

因此,事实上,别名和
CNAME
记录没有您最初想象的那么多重叠。在某些情况下,只有一个是可用的,在任何一个都可以工作的情况下,差异可能是微不足道的


Alias的一个优点是,正如我前面提到的,在任何一个都可以使用的情况下,Alias都不需要2个DNS查询。它总是由路由53直接应答,并带有相应的
A
记录,其中
CNAME
至少在它引用不同顶级域中的主机名的情况下,可能需要两次连续的DNS查找,在这种情况下,给Alias一个理论上的性能优势。

感谢yegor256的回复-但是您应该尝试这样做:设置Alias:Yes,这将在标记为“Alias Target”的下面启用一个文本框。。您可以在其中放置子域。。我通常在那里放一个负载平衡器fqdn。所以我认为我的问题很有道理。别名仍然是适当的
A
CNAME
记录。他们所做的只是将DNS解析映射到其他服务。哇-谢谢你这么详细的回答。我的理解提高了很多倍。太好了。请考虑接受我的回答,除非你想让我澄清任何其他的观点。只要增加一点混乱,你就可以有“别名CcNess”。如果您希望cdn1.website.com、cdn2.website.com和cdn3.website.com都指向同一个第三方域,您可以将它们别名为cname to cdn.website.com,这将是对website.bestcdn.com的cname。这里的优点是,如果cdn发生变化,则只有一条记录需要更新,而不是2次cname查找(内容加载延迟数毫秒)。如果你想问为什么要对同一个plce使用多个cdn URL?这是一个有时用来增加并发资产下载的技巧。@KHobbits同意。如果您使用的是第三方,例如出于某种原因lobs.domain.ext位于google云存储上,那么CNAME条目非常重要,这些提供商可能更喜欢/要求使用CNAME。@mckenzm true。这个答案实际上关注的是
A
记录别名,这是使用别名记录的典型方式,但是如果引用自己托管区域内的另一条记录,您可以创建
AAAA
CNAME
别名,或者——显然是--
NS
SOA
以外的别名。