如何使用兩個 ISP 為單一 Web 伺服器設定故障轉移?

如何使用兩個 ISP 為單一 Web 伺服器設定故障轉移?

我有一台 Web 伺服器和兩個 WAN 連線(1 條電纜,1 條 DSL)。 DNS 在異地運行,並指向由 ISP 之一分配的 IP 位址。當主連線失敗時,如何讓第二個連線接管?

我已經看到可以有兩個A記錄,每個記錄都指向不同的IP,但它有幾個問題。真正解決這個問題的方法是什麼?我想這是一個很普遍的問題。

附加資訊:

該伺服器實際上是一個電子病歷伺服器,並且必須位於辦公室現場。他們的網站和 DNS 託管在大型託管設施中。

我認為辦公室方面的計劃類似於前面提到的 Peplink Balance 或搖籃點MBR-1200

帶有切換 DNS 的 Peplink 聽起來像是解決方案,但我不確定在他們的辦公室而不是資料中心使用 DNS 是否舒適。我肯定會進一步研究這一點。

在與我們的託管設施交談後,他們建議我們研究第三方服務,例如動態 DNS。我相信它基本上是一種監控服務,當一個 IP 故障時就會切換。

速度確實不是問題;他們更關心高可用性。

答案1

我想這是一個很普遍的問題。

其實沒有。大多數甚至較小的網站都由負責處理該問題的託管商運行。主機擁有多個上行鏈路、自己的位址空間,並透過 BGP 向對等方宣布其路由。

這也提高了頻寬效率,因為基本上......典型最終用戶連接的上行鏈路速度非常糟糕。

我想說的是,大多數人“不專業”,足以嘗試從電纜/DSL 鏈接後面運行網站......也沒有兩個連接。

答案2

我認為最「真實」的方法是取得 IP 區塊,然後透過 BGP 自行向網路上的兩個 ISP 公佈它們。這將是一種比電纜和 DSL 更“真實”的連接。對於這些等級的連接,我認為使用 DNS 故障轉移可能與您的設定相當。

我通常的下一階段是轉向並置,並從並置設施或資料中心本身提供的 ISP 獲得穩定的連接。他們可以為您提供兩個可能使用 HSRP 的分站,並且可以直接連接到一個或多個交換器。這不是完美的完全冗餘,而是向前邁出了一大步。

答案3

更新 DNS 是這裡的關鍵。循環 DNS(多個 A 記錄)本身不會執行任何運行狀況檢查。您使用什麼類型的多 WAN 路由器?我知道PepLink 平衡系列在路由器上包含一個 DNS 伺服器,當其連結中斷時,該伺服器將變更記錄。如果您的路由器本身無法做到這一點,您可能需要編寫腳本或找到一個服務來外部運作狀況檢查/輪詢兩個連線並定期更新 DNS 伺服器。

另外,對於建議使用 coloc 的人來說,雖然這是生產伺服器的理想答案,但很可能這是一個登台/開發伺服器,可能會安裝或充當辦公室文件伺服器,其中 LAN 的存取速度更為重要比的是上行速度和穩定性。

答案4

有兩筆 A 記錄不是提供故障轉移 - 基本上一半的用戶將嘗試連接到一個 IP,另一半將連接到另一個,無論這些 IP 是否可用。

您可以使用動態 DNS 進行此類故障轉移。訂閱任何動態 DNS 服務並在您的伺服器電腦上設定動態 DNS 用戶端。它將定期檢查您的(可存取的)外部 IP,並在 IP 發生變化時更新 A 記錄。

如果您的DNS 提供者不支援動態DNS,您可以- 將您的DNS 移至另一個供應商,或使用某個三級網域訂閱動態DNS,並在您的主域上建立一條CNAME 記錄,該記錄將指向動態主機名稱。 (後者適用於 www.,但不適用於區域頂點)。

相關內容