本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon ECS 藍/綠部署
藍/綠部署是一種發行方法,可透過執行兩個稱為藍和綠的相同生產環境來減少停機時間和風險。透過 Amazon ECS 藍/綠部署,您可以在將生產流量導向新的服務修訂之前進行驗證。這種方法提供更安全的方式來部署變更,並能夠在需要時快速復原。
優勢
以下是使用藍/綠部署的優勢:
-
在切換生產之前,透過使用生產流量進行測試來降低風險。您可以在將生產流量導向新部署之前,使用測試流量驗證新部署。
-
零停機時間部署。在整個部署過程中,生產環境仍然可用,以確保持續的服務可用性。
-
如果偵測到問題,則可輕鬆轉返。如果綠色部署發生問題,您可以快速還原至藍色部署,而不會延長服務中斷。
-
受控測試環境。綠色環境提供隔離的空間,可在完全部署之前,使用真實的流量模式測試新功能。
-
可預測的部署程序。具有定義生命週期階段的結構化方法可讓部署更加一致且可靠。
-
透過生命週期掛鉤自動驗證。您可以在部署的各個階段實作自動化測試,以驗證功能。
術語
以下是 Amazon ECS 藍/綠部署術語:
-
製作時間 - 在生產流量轉移後,藍色和綠色服務修訂同時執行的持續時間。
-
藍色部署 - 您要取代的目前生產服務修訂版。
-
綠色部署 - 您要部署的新服務修訂版。
-
生命週期階段 - 部署操作中的一系列事件,例如「生產流量轉移後」。
-
生命週期掛鉤 - 在特定生命週期階段驗證部署的 Lambda 函數。
-
接聽程式 - Elastic Load Balancing 資源,可使用您設定的通訊協定和連接埠檢查連線請求。您為接聽程式定義的規則決定 Amazon ECS 如何將請求路由到其已註冊的目標。
-
規則 - 與接聽程式相關聯的 Elastic Load Balancing 資源。規則會定義請求的路由方式,並包含動作、條件和優先順序。
-
目標群組 - 用來將請求路由到一或多個已註冊目標的 Elastic Load Balancing 資源 (例如 EC2 執行個體)。當您建立接聽程式時,可以為其預設動作指定一個目標群組。流量會轉送至接聽程式規則中指定的目標群組。
-
流量轉移 - Amazon ECS 用來將流量從藍色部署轉移到綠色部署的程序。對於 Amazon ECS 藍色/綠色部署,所有流量都會一次從藍色服務轉移到綠色服務。
考量事項
選擇部署類型時,請考慮下列事項:
-
資源用量:藍/綠部署會同時暫時執行藍和綠服務修訂版,這可能會在部署期間將您的資源用量加倍。
-
部署監控:藍/綠部署提供更詳細的部署狀態資訊,可讓您監控部署程序的每個階段。
-
回復:藍/綠部署可讓您在偵測到問題時更輕鬆地回復到先前的版本,因為藍修訂會持續執行,直到製作時間過期為止。