我可以更改生產 Web 伺服器的 IP 位址嗎?

我可以更改生產 Web 伺服器的 IP 位址嗎?

我需要更改生產 Web 伺服器的 IP 位址。我想知道是否可以在不停機的情況下做到這一點。我認為可行的步驟是:

  1. 保留新的靜態IP位址
  2. 將 IP 位址新增至我要切換的網域的 DNS
  3. 部署使用新靜態 IP 的 kubernetes 配置
  4. 刪除舊的 DNS 項目
  5. 取消保留舊的靜態 IP 位址

我應該期望這能起作用嗎?如果新 IP 位址的另一端沒有任何監聽,大多數情況是否會切換到另一個 IP 位址?還是他們失敗得很厲害?

答案1

您問題中的關鍵字是“沒有停機時間”,而您的明顯配置的答案是“否”。我們假設您的生產 Web 伺服器是production.example.com.

這是您原始帖子中的時間表:

  1. 將 IP 位址新增至我要切換的網域的 DNS

您此時要新增的 FQDN 是什麼?如果不是production.example.com位址,則這條新 A 記錄不會執行任何操作來促進將流量路由到您的新 IP。如果它然後您的 TTL 的A 記錄production.example.com將發揮作用。我通常將我的設定為300(5 分鐘),但這並不意味著您有5 分鐘來執行步驟3。 。

  1. 部署使用新靜態 IP 的 kubernetes 配置

一旦您執行此操作並重新啟動網路伺服器,任何當前的 TCP 會話都將中斷,這表示任何正在進行的 HTTP(s) 請求都將失敗。

至於你的問題“如果新IP位址的另一端沒有任何東西監聽,大多數事情都會切換到另一個IP位址嗎?”,是的,如果有的話HTTP 活動那就沒問題了。

根據我的經驗,「無停機」要求很難滿足,我所說的「困難」是指複雜且昂貴。人們應該努力爭取的是最短的停機時間,這可以透過制定可靠的網站遷移流程來實現,無論是更改 IP 位址還是將其移至另一台伺服器或升級底層資料庫。開發流程後,對其進行測試以查看流量​​的行為方式以及您的假設在何處得到證實或否定。完善流程以實現您所追求的停機時間指標,然後再次測試。清洗、沖洗,然後重複。

相關內容