将 apex 域指向 aws 负载均衡器

将 apex 域指向 aws 负载均衡器

我有一个 AWS 负载均衡器,它可以为多个 EC2 实例提供流量,为具有不同域名的多个网站提供服务。

我正在尝试寻找一个简单的解决方案,任何域名所有者都可以将他们的域名(例如 mydomain.com)转发流量到我的负载均衡器,该负载均衡器将为他们的网站提供服务。

有一个这里有类似的问题关于无法为域名的顶点设置别名,这是有道理的。但是,由于这个限制,像我这样的情况(我不一定想托管域名所有者的整个记录​​(通过委托)而只想服务于他们的根域的网络流量)变得很棘手。

虽然可以设置 A 记录而不是别名来将流量直接转发到负载均衡器的 IP 地址,但 AWS 不能保证 IP 地址保持静态,而且如果重新创建负载均衡器,IP 地址也会发生变化,这使得它成为一个不太理想的解决方案。

关于如何通过负载均衡器为根域的网站提供服务的任何想法都很好。

此外,域名所有者不一定在 Route53 中托管他们的域名。

答案1

这取决于 DNS 提供商是否能提供解决此问题的方法。例如,Cloudflare 提供CNAME 扁平化,其中 Cloudflare 在内部将顶点 CNAME 条目解析为 IP 地址。

没有适用于所有 DNS 提供商的通用解决方案。

答案2

回答我自己的问题,因为它解决了我的问题并且将来可能会对其他人有所帮助。

事实证明,您可以使用预分配的 IP 地址创建 AWS 负载均衡器。

以下是高级流程:

  1. 从 EC2 控制台分配一个弹性 IP 地址。

分配EIP

  1. 当您创建新的网络负载均衡器时,您可以选择此 IP 作为子网的 LB 公共 IP。您可以分配多个 EIP 并将它们分配给每个子网。

创建新的 NLB

这为我解决了这个问题,因为我不再需要联系域名所有者来不断更新他们的 DNS 记录(我没有托管他们的整个域名),并且还可以继续重新创建 NLB 并为其重新分配同一组公共 IP。

相关内容