Domain-Name-System

AWS 彈性負載均衡器 DNS 問題

  • September 6, 2017

我們想看看使用 Route 53 是否允許我們將流量路由到我們的機器而不是 AWS ELB,只是為了進行實驗,我們注意到以下情況。

我們有一些 Nginx 機器在 AWS ELB 下執行。我們還更新了 Route 53 中這些機器的公共 IP,並立即刪除了不健康的機器。然後我們添加了加權路由,這樣一半的流量通過 ELB,另一半通過 Route 53 直接到達這些機器。我們在所有機器上都啟用了 Grafana 監控,這意味著我們應該看到 Grafana 中的流量幾乎是 AWS ELB 中的兩倍。事實並非如此。我們仍然看到 ELB 中幾乎 80% 的流量。我們在 24 小時前啟用了此功能。當我們沒有這種流量拆分,並且只向 ELB 發送流量時,Grafana 儀表板和 AWS ELB 顯示的流量完全相同,這讓我們相信我們的監控管道很好。

我們做這個練習是因為我們最終想要移除 AWS ELB 來代替我們自己的,並且我們想知道我們的機器是否可以在沒有 ELB 的情況下處理事情,因為現在它們將直接連接到客戶端。我現在的問題是:我們是否正在失去流量,我們如何發現?為什麼一天后ELB仍然顯示50%以上的流量?

現在 ELB 顯示 680 萬,但 Grafana 顯示 9M。Grafana 不應該至少是 ELB 的兩倍,至少在理論上是這樣嗎?我知道 IP 必須由 ISP 或客戶端記憶體,但在這種情況下,如果 ELB 機器出現故障,到這些 IP 的流量一定會失去嗎?我有點迷茫,也很苦惱。

Route53 是一項 DNS 服務,它不控制多少流量以及流量流向何處。

這樣想,您有 2 個客戶端 - Client1 和 Client2。Client1 查詢 yourdomain.com 並接收 IP 地址 10.100.10.20,然後 Client1 通過 30 個連續連接下載 100 MB。

現在,Client2 查詢 yourdomain.com 並接收 IP 地址 10.100.10.30,然後 Client2 在 50 個連續連接中下載 25 MB。

在這種情況下,Route53 在兩台伺服器上平均“負載平衡”DNS 請求。但是,每個客戶端都提取了不同數量的數據並建立了不同數量的連接。所以現在你的負載均衡器顯示了 100MB 的流量和 30 個連接,而 Grafana 顯示了 125Mb 的流量和 80 個連接。

如果您想真正對流量進行負載平衡,那麼您需要一個負載平衡器。這就是 ELB 所做的。Route53 不這樣做,它只對 DNS 請求進行負載平衡。

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