Amazon-Ec2
將請求路由到 EC2 上正確的應用程序伺服器版本的最佳實踐
我正在按照此過程將新的應用程序版本部署到 EC2。當新版本證明穩定時,我會更新 DNS 條目的 A 記錄,以將流量路由到新伺服器的 IP 地址。
我想這不是最佳做法,尤其是因為您無法確定所有訪問者的 DNS 現金何時都更新了條目,以便您可以將舊版本離線。
有沒有這方面的最佳實踐?我是否必須使用自己的 IP 地址創建自己的伺服器來配置路由(昂貴)?或者我可以利用我的託管服務提供商的服務來做到這一點嗎?或者是否有特定於 AWS 的解決方案?
有很多不同的方法可以無縫部署應用程序的新版本。
要使用現有方法,您只需確保在進行轉換之前降低 DNS 記錄的 TTL。
- 將 TTL 更改為 5 分鐘
- 等待原始TTL值的總週期
- 進行 DNS 更改
- 5 分鐘 TTL 到期後,應更新大多數解析器的更改
不是完全無縫的,但很常見。
好的,這是一個很老的問題,我現在第一次看到……
我更新了 DNS 條目的 A 記錄,以將流量路由到新伺服器的 IP 地址。
您是對的,由於 DNS 記憶體,這將導致未知百分比的使用者仍使用舊應用程序版本。如果您遵循phoebus 的可靠建議,那麼使用者可能會很少——但在 AWS 上仍有更好的方法。
或者是否有特定於 AWS 的解決方案?
是的,我在您連結到的原始答案中提到了它。如果您對每個服務僅使用一個IP 地址,則亞馬遜的彈性 IP 地址;如果您使用的是一組伺服器,則為Elastic Load Balancing 。
彈性 IP 通常在幾秒鐘內切換,以我的經驗不到 10 秒。