為什麼 AWS 對其負載均衡器使用主機名而不是 IP 地址?
我開始了解負載均衡器如何在雲平台中工作。我在這裡專門談論用於將多個後端公開到公共網際網路的負載平衡器,而不是內部負載平衡器。
我從 GCP 開始,當您配置負載均衡器時,您會獲得一個公共 IP 地址。然後我了解了 AWS,當您配置負載均衡器(或至少是彈性負載均衡器)時,您會獲得一個主機名(如
my-loadbalancer-1234567890.us-west-2.elb.amazonaws.com
)。使用單個 IP,我可以設置任何我喜歡的 DNS 記錄。這意味著我可以將我的名稱伺服器保留在雲平台之外以設置域,並且我可以為 Lets Encrypt 進行 DNS 挑戰,因為我可以在為我的域設置 A 記錄後為其設置 TXT 記錄。使用主機名方法,我必須使用 ALIAS 記錄(AWS 必須在內部進行跟踪),所以我必須使用他們的 DNS 服務(Route 53)。這種 DNS 差異對我來說有點不便,因為這不是我習慣的,如果我想將我的域的主名稱伺服器保留在 AWS 之外,我可以。我只是將我的域的一個子域委託給 Route 53 的名稱伺服器。
到目前為止,這種 DNS 差異是我注意到的這種負載均衡器架構差異的唯一結果。也許還有更多。從架構的角度來看,GCP 和 AWS 是否有理由選擇他們所做的方法?優點和缺點?
在 AWS 中,負載均衡器 IP 可能會更改,並且更改會自動反映在 DNS 名稱中。因此,您引用 DNS 名稱(例如,作為 CNAME)並且一切正常。將 Route53 用於 DNS 時,您甚至可以創建 ALIAS-A 記錄,該記錄直接將目前 IP 地址從 LB DNS 傳播到您的自定義 DNS 名稱。
如果您想要與 GCP 中相同的行為,即具有兩個固定、不變 IP 地址的負載均衡器,請查找Amazon Global Accelerator。它與 AWS Application Load Balancer 無縫集成,並為您提供與 GCP 相同的體驗。
希望有幫助:)