您什么时候会选择 Route 53 Alias 而不是 CNAME?

When would you choose Route 53 Alias over CNAME?

我正在尝试确定是否应该对指向 aws 负载均衡器的域使用 Route 53 别名功能或 CNAME。

根据他们的文档,这样做的一个优点是您可以在 zone apex.

上使用 Alias

但是,我不打算在那个级别使用它。仅通过子域 (subdomain.example.com)。在此用例中,我是否只使用 CNAME?

我认为的一个缺点是 Route 53 DNS 别名条目的脆弱性。我正在通过 cloudformation 配置它,我意识到如果负载均衡器或 Alias Target 背后的任何 aws 资源不复存在,cloudformation 模板也将停止中断。

当您只想为其他内容添加新记录时,这会很痛苦,因为之前配置的别名不再存在。

我认为您已经知道 ALIAS 和 CNAME 之间的基本区别,因为您指出了 apex 域及其文档。为了完整起见,我还将在下面添加 link:

A​​LIAS 相对于 CNAME 的一大优势,您可能不知道(没有写在您的问题中)是 ALIAS 记录是免费的。对于非 ALIAS 记录,您必须 pay. ALIAS queries are free:

Queries for qualifying alias records are provided at no additional cost to Route 53 customers.

您描述的 CloudFormation 中断问题,适用于任何记录。别名也不例外。此外,这适用于在 CFN 中创建的任何资源。如果您在 CFN 中创建了一些资源,而 modify/delete 它们在您的 CFN 之外,那么您就会陷入 堆栈不一致 的麻烦之中。