修改AWS中ELB的監聽器是否可以正常耗盡ECS中的連接?

修改AWS中ELB的監聽器是否可以正常耗盡ECS中的連接?

我和我的團隊正在嘗試找出為 AWS ECS 實施藍/綠的最佳方法,但我們似乎無法明確回答有關應用程式負載平衡器的一個問題。

到目前為止,最能滿足我們目標的方法是將藍色服務和綠色服務部署到不同的目標群組中,並更新應用程式負載平衡器上的偵聽器。但是,我們有一些運行時間較長的事務,根據本文:

https://aws.amazon.com/blogs/compute/bluegreen-deployments-with-amazon-ecs/

這種藍/綠方法不能正常地耗盡連接。然而,我最近讀到另一位 AWS 工程師的帖子與此相矛盾,並聲稱修改偵聽器只會影響新的傳入連接,因此會正常耗盡。

任何人都可以闡明當我修改 ELB 的偵聽器時實際發生的情況嗎?

答案1

你應該將 ELB 作為堆疊的一部分,即一個 ELB 為藍色的堆疊和一個 ELB綠色的堆。

這樣您就可以針對新的 ELB 執行一套完整的驗收測試,並且一旦滿意取代 DNS 中的 ELB 名稱。這不會影響您長時間運行的會話,因為即使 DNS 發生變化,它們也會保留與舊 ELB 的連線。

希望有幫助:)

答案2

有關應用程式負載平衡器的 AWS 文檔指出當您取消註冊目標時,其連線將會耗盡。您可以做的是取消註冊目標群組中的目標,以便從容地耗盡連線。當然,這並不像在多個目標組之間進行選擇那麼理想。

請記住,您也不能在同一個 ELB 中使用相同的連接埠協定擁有多個偵聽器。

正如另一位用戶在他們的回答中所述,您的部署中應該有單獨的 ELB,並且只需在 Route53 中的它們之間翻轉即可。透過這種方式,您可以輕鬆地使用路由策略僅將一部分流量傳送到適當的 ELB/目標群組(例如 80% 傳送到藍色,20% 傳送到綠色)。

相關內容