【问题标题】:Route 53 Configuration - Which is better ALIAS A or ALIAS CNAME RRSRoute 53 配置 - ALIAS A 或 ALIAS CNAME RRS 哪个更好
【发布时间】:2017-11-10 21:30:53
【问题描述】:

问题:

在使用 CloudFront 或 ELB 等 AWS 服务配置 Route 53 时,使用哪个更好:ALIAS A 记录还是 ALIAS CNAME 记录?

背景:

在这个问题上开发了一个关于 ALIAS 记录的好处的有趣线程。

Thread Link

我的目的是创建这个问题,以便可以在一个地方收集知情的答案和知识。

【问题讨论】:

  • 如果d1.example.comCNAMEd2.example.com,解析d1.example.com 可能会导致旧的(缓存的)d2.example.com 结果吗?还是在解析CNAME 目标时忽略了 DNS 缓存?如果是这样,那么如果d1.example.comd2.example.comALIAS,则不会出现问题。

标签: amazon-web-services amazon-cloudfront amazon-elb amazon-route53


【解决方案1】:

没有“更好”,只有一个正确答案:Alias RR 类型必须与目标 RR 相同。对于 CloudFront、S3、ELB 等,CNAME 类型的别名是不明智的,因为目标不是 CNAME,而是 A。

但如果问题是在 A alias=yes 和 CNAME alias=no 之间进行选择,那么 A alias=yes 仍然是更好的解决方案。

另一个问题的断言是别名记录等同于 CNAME,但仅用于区域顶点,在这两个方面都是不正确的。

别名 A 记录会导致类似于 CNAME 行为的最终行为,但它们是首选,因为它们只需要一个解析器操作而不是两个解析器操作,从而将 DNS 解析时间减少了大约一半,并且因为它们将每次查询的成本降低到 0别名目标是 AWS 服务。

【讨论】:

  • 我的理解是,如果你将记录标记为“别名”(AWS创建的非标准事物),不管是A还是CNAME,因为AWS会忽略该条目value - 您填写 Alias Target。 AWS 创建的“别名”是他们的表达方式,例如“既然您表明您将其指向另一个 AWS 服务,那么让我们为您改进对该记录的 DNS 查找”。
  • @jweyrich 别名是托管区域中的一个条目,它创建一个 internal(到 Route 53)指针,指向同一托管区域或特殊区域之一中的另一个条目与 AWS 服务相关的区域(例如 CloudFront)。 Alias 记录具有类型,就像任何 RR 一样,并且仅针对该类型的请求;它按名称和类型链接到别名目标记录。 dxxxexample.cloudfront.net 是 A 记录。它的值是动态的,不是静态的,为了把你路由到离你最近的边缘,会返回多个IP,但肯定是A记录,所以你用A别名指向它。
  • ...事实上,如果您希望使用自定义域名为您的 CloudFront 分配进行 IPv6 解析,您需要一个 second 类型为 AAAA 的别名记录,因为A 记录别名仅返回 A 记录 (IPv4)。 "If IPv6 is enabled for the distribution and you're creating a second resource record set, choose AAAA – IPv6 address"
【解决方案2】:

两者都可以,但是您将要使用 ALIAS。由于成本,ALIAS 更好。

查询映射到 Elastic Load Balancer、Amazon CloudFront 分配、AWS Elastic Beanstalk 环境的别名记录, 和 Amazon S3 网站存储桶是免费的。

CNAME 查找有与之相关的成本。(每百万次查询 0.400 美元)。

ALIAS 背后也有自动化,AWS 对 ELB 所做的任何更改都会将它们传播到您的 DNS。

【讨论】:

    猜你喜欢
    • 2020-09-29
    • 1970-01-01
    • 2015-04-16
    • 2011-11-22
    • 2016-05-30
    • 2018-05-30
    • 1970-01-01
    • 2012-10-01
    • 1970-01-01
    相关资源
    最近更新 更多