为什么我不能为 EC2 实例创建别名资源记录集

gro*_*pot 4 amazon-ec2 amazon-web-services amazon-route53 amazon-elb

我已经与 AWS 合作一年多了,设置了 EC2 实例、域、ELB 等。

当我想将子域分配给 EC2 实例时,我必须创建一个弹性 IP(我付费),然后将 CNAME 记录分配给该弹性 IP。

当我想将子域分配给 ELB(负载均衡器)实例时,我只需为 ELB 创建一个别名资源记录集。

我已经阅读了文档,但不明白为什么 AWS 不支持实例别名。我在这里错过了一个关键概念吗?为 EC2 实例设置别名并跳过整个弹性 IP 位不是更简单吗?

编辑:简单地说 - 为什么我的 EC2 实例不在此列表中: 在此处输入图片说明

Ost*_*our 5

简短的回答是:您可以为实例的外部 IP 地址或 DNS 名称创建 A 或 CNAME 记录,但您不想这样做

长答案:您实际上可以在没有弹性 IP 的情况下创建 CNAME(甚至 A)记录。但是每次您的 EC2 实例重新启动并因此移动到另一个主机系统时,您实例的 IP 地址(和您的外部主机名)都会改变。如果您可以接受并接受在 DNS 记录的 TTL 期间无法访问您的实例的事实,您可以使用外部 IP 并使用您的子域创建 A 记录。但是由于 DNS 在分配更改方面不是很快(即使 TTL 较低,您也无法确保每个解析器都正确处理 TTL),因此您在大多数情况下都不想做这样的事情。这就是 AWS 提供弹性 IP 的原因——因此您在 DNS 记录中的 IP 地址永远不会改变,但如果您将其重新分配给另一个实例(或重新启动主机),AWS 会更改此 IP 地址后面的路由。

希望这可以帮助!