使用 Route53 的多域 DNS 配置

使用 Route53 的多域 DNS 配置

我正在 Route53 中配置一些域名,正在寻找一些有关设置最佳实践的建议。以下是场景:

假设 domain1.com 是我的主公司域名,并且我还有 domain2.com 和 domain3.com。

假设我有两个 Amazon EC2 实例,定义为 Web 和数据库服务器,弹性 IP 分别为 11.11.11.11 和 22.22.22.22,并且我想在外部这样寻址它们:

 prod-web01.domain1.com
 prod-db01.domain1.com

让我们进一步假设 domain1.com 的网站托管在上述实例之一上,这意味着我必须将 domain1.com 的 A 记录(对吗?)设置为 Web 实例的弹性 IP。因此,我在 Route53 中创建记录集,如下所示:

 domain1.com.                A         11.11.11.11
 prod-web01.domain1.com.     A         11.11.11.11
 prod-db02.domain1.com.      A         22.22.22.22
 www.domain1.com.            CNAME     prod-web01.domain1.com

现在,domain2.com 和 domain3.com 也都托管在上面的 web01 实例上,因此我为它们创建了记录集,如下所示:

 domain2.com.                A         11.11.11.11
 www.domain2.com.            CNAME     prod-web01.domain1.com.

 domain3.com.                A         11.11.11.11
 www.domain3.com.            CNAME     prod-web01.domain1.com.

这一切都运行良好,但并不像我希望的那样优雅。我想知道是否有某种方法可以设置这种类型的配置,其中指向直接 IP 地址的记录较少。

我的理解是,我不能将 CNAME 记录用于域的根(对吗?),那么是否有其他方法可以设置,以便我的 DNS 基础架构中每个 IP 只有一个“硬”引用?

如果不是,这看起来像是一个聪明的设置吗?还是一个愚蠢的设置?请随意告诉我我很笨。:)

答案1

首先,如果您只有两个实例(一个 Web 实例和一个 DB 实例),那么您的做法就错了。您应该设置一个弹性负载均衡器,并在其后至少设置两个应用服务器实例。实例可能会(并且确实)不时出现故障。而且您确实应该使用 RDS 作为持久数据存储。

我的理解是,我不能将 CNAME 记录用于域的根(对吗?)

你可以,但是它经常会以意想不到的方式破坏某些东西(尤其是电子邮件),所以不应该这样做。我会这样做:

 domain1.com.                A         11.11.11.11
 prod-web01.domain1.com.     A         11.11.11.11
 prod-db02.domain1.com.      A         22.22.22.22
 www.domain1.com.            CNAME     prod-web01.domain1.com

 domain2.com.                A         11.11.11.11
 www.domain2.com.            CNAME     domain2.com.

 domain3.com.                A         11.11.11.11
 www.domain3.com.            CNAME     domain3.com.

相关内容