Domain-Name-System

將頂點域指向 aws 負載均衡器

  • February 14, 2022

我有一個 AWS 負載均衡器,它為多個 EC2 實例提供流量,為具有不同域名的多個網站提供服務。

我試圖找到一個簡單的解決方案,任何域所有者都可以將他們的域(例如 mydomain.com)轉發​​到我的負載均衡器,該負載均衡器將為他們的網站提供服務。

這裡有一個類似的問題,關於不能為域的頂點取別名,這是有道理的。然而,由於這個限制,像我這樣的場景,我不一定想託管域所有者的整個記錄(通過委託),但只想為他們的根域的網路流量提供服務變得很棘手。

雖然可以設置 A 記錄而不是別名來將流量直接轉發到負載均衡器的 IP 地址,但 AWS 不保證 IP 地址將保持靜態,並且如果重新創建負載均衡器,IP 地址將發生變化一個不太理想的解決方案。

關於如何通過負載均衡器為根域的網站提供服務的任何想法都會很棒。

此外,域所有者不一定在 Route53 中託管他們的域。

回答我自己的問題,因為它解決了我的問題,並且將來可能對其他人有所幫助。

事實證明,您可以使用預先分配的 IP 地址創建 AWS 負載均衡器。

這是高級流程:

  1. 從 EC2 控制台,分配一個彈性 IP 地址。

分配 EIP

  1. 當您創建一個新的網路負載均衡器時,您將能夠選擇此 IP 作為您的 LB 的子網公共 IP。您可以分配多個 EIP 並將它們分配給每個子網。

創建一個新的 NLB

這解決了我的問題,因為我不再需要聯繫域所有者來不斷更新他們的 DNS 記錄(我不託管他們的整個域),並且還可以繼續重新創建 NLB 並為其重新分配相同的公共 IP 集。

這取決於 DNS 提供商是否可以為此問題提供解決方法。例如,Cloudflare 提供CNAME flattening,其中 Cloudflare 在內部將頂級 CNAME 條目解析為 IP 地址。

沒有適用於所有 DNS 提供商的通用解決方案。

引用自:https://serverfault.com/questions/1093446