什么是 Amazon Route53“别名”DNS 记录?

Ada*_*tan 15 domain-name-system alias amazon-cloudfront amazon-web-services amazon-route53

AWS Route53 别名值

考虑在 AWS Route53 上注册的域。对此域的 HTTP 请求应由 AWS CloudFront CDN 分配提供。为了实现这一点,A定义了一个别名记录:

在此处输入图片说明

dig 结果

但是,dig结果显示的是实际 IP 地址。事实上,这些 IP 地址并不是固定不变的,并且会随着时间而变化:

# dig @1.1.1.1 serverlessdaystlv.io

...

;; ANSWER SECTION:
serverlessdaystlv.io.   60      IN      A       13.32.67.21
serverlessdaystlv.io.   60      IN      A       13.32.67.27
serverlessdaystlv.io.   60      IN      A       13.32.67.97
serverlessdaystlv.io.   60      IN      A       13.32.67.122
serverlessdaystlv.io.   60      IN      A       13.32.67.141
serverlessdaystlv.io.   60      IN      A       13.32.67.159
serverlessdaystlv.io.   60      IN      A       13.32.67.201
serverlessdaystlv.io.   60      IN      A       13.32.67.216

# dig @1.1.1.1 serverlessdaystlv.io

...
;; ANSWER SECTION:
serverlessdaystlv.io.   60      IN      A       52.222.232.13
serverlessdaystlv.io.   60      IN      A       52.222.232.24
serverlessdaystlv.io.   60      IN      A       52.222.232.43
serverlessdaystlv.io.   60      IN      A       52.222.232.55
serverlessdaystlv.io.   60      IN      A       52.222.232.63
serverlessdaystlv.io.   60      IN      A       52.222.232.104
serverlessdaystlv.io.   60      IN      A       52.222.232.136
serverlessdaystlv.io.   60      IN      A       52.222.232.224
Run Code Online (Sandbox Code Playgroud)

我的问题

什么是 Route53 别名记录?它是内置类型的 DNS 记录,还是只是 CloudFront 分配的实际 IP 的内部 AWS 别名,永远不会对外公开?

Esa*_*nen 19

Route53别名记录是一个独立于 DNS 协议记录类型的自己的概念:例如,A地址记录,CNAME规范名称记录。CNAME是一个充当指向规范名称的别名,而A与别名无关的别名。(参见RFC 1035。)

一个别名记录是一个内部亚马逊特定指针在更高层次上工作; 在技​​术 DNS 级别,它可能会导致ACNAME,具体取决于情况。DNS 不需要知道这个内部指针类型或目标,因为 Route53 只回答结果记录。

亚马逊文章在别名和非别名记录之间进行选择详细解释了这一点:

别名记录为 DNS 功能提供了特定于 Route 53 的扩展。别名记录包含指向 CloudFront 分配、Elastic Beanstalk 环境、ELB Classic、应用程序或网络负载均衡器、配置为静态网站的 Amazon S3 存储桶或同一托管区域中的另一个 Route 53 记录。当 Route 53 收到与别名记录中的名称和类型匹配的 DNS 查询时,Route 53 会跟随指针并使用适用的值进行响应:

  • CloudFront 分配的备用域名– Route 53 的响应就像查询已使用 CloudFront 域名请求 CloudFront 分配一样,例如 d111111abcdef8.cloudfront.net.

  • Elastic Beanstalk 环境– Route 53 使用环境的一个或多个 IP 地址响应每个请求。

  • ELB 负载均衡器– Route 53 使用负载均衡器的一个或多个 IP 地址响应每个请求。

  • 配置为静态网站的 Amazon S3 存储桶– Route 53 使用 Amazon S3 存储桶的一个 IP 地址响应每个请求。

  • 同一托管区域中的另一个 Route 53 记录– Route 53 的响应就像查询请求指针引用的记录一样。

这种混淆是可以理解的,因为您似乎添加了A类型 IPv4地址记录,目标是主机名而不是 IP 地址;你更愿意用CNAME!