Amazon ECS 藍/綠部署 - Amazon Elastic Container Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon ECS 藍/綠部署

藍/綠部署是一種發行方法,可透過執行兩個稱為藍和綠的相同生產環境來減少停機時間和風險。透過 Amazon ECS 藍/綠部署,您可以在將生產流量導向新的服務修訂之前進行驗證。這種方法提供更安全的方式來部署變更,並能夠在需要時快速復原。

優勢

以下是使用藍/綠部署的優勢:

  • 在切換生產之前,透過使用生產流量進行測試來降低風險。您可以在將生產流量導向新部署之前,使用測試流量驗證新部署。

  • 零停機時間部署。在整個部署過程中,生產環境仍然可用,以確保持續的服務可用性。

  • 如果偵測到問題,則可輕鬆轉返。如果綠色部署發生問題,您可以快速還原至藍色部署,而不會延長服務中斷。

  • 受控測試環境。綠色環境提供隔離的空間,可在完全部署之前,使用真實的流量模式測試新功能。

  • 可預測的部署程序。具有定義生命週期階段的結構化方法可讓部署更加一致且可靠。

  • 透過生命週期掛鉤自動驗證。您可以在部署的各個階段實作自動化測試,以驗證功能。

術語

以下是 Amazon ECS 藍/綠部署術語:

  • 製作時間 - 在生產流量轉移後,藍色和綠色服務修訂同時執行的持續時間。

  • 藍色部署 - 您要取代的目前生產服務修訂版。

  • 綠色部署 - 您要部署的新服務修訂版。

  • 生命週期階段 - 部署操作中的一系列事件,例如「生產流量轉移後」。

  • 生命週期掛鉤 - 在特定生命週期階段驗證部署的 Lambda 函數。

  • 接聽程式 - Elastic Load Balancing 資源,可使用您設定的通訊協定和連接埠檢查連線請求。您為接聽程式定義的規則決定 Amazon ECS 如何將請求路由到其已註冊的目標。

  • 規則 - 與接聽程式相關聯的 Elastic Load Balancing 資源。規則會定義請求的路由方式,並包含動作、條件和優先順序。

  • 目標群組 - 用來將請求路由到一或多個已註冊目標的 Elastic Load Balancing 資源 (例如 EC2 執行個體)。當您建立接聽程式時,可以為其預設動作指定一個目標群組。流量會轉送至接聽程式規則中指定的目標群組。

  • 流量轉移 - Amazon ECS 用來將流量從藍色部署轉移到綠色部署的程序。對於 Amazon ECS 藍色/綠色部署,所有流量都會一次從藍色服務轉移到綠色服務。

考量事項

選擇部署類型時,請考慮下列事項:

  • 資源用量:藍/綠部署會同時暫時執行藍和綠服務修訂版,這可能會在部署期間將您的資源用量加倍。

  • 部署監控:藍/綠部署提供更詳細的部署狀態資訊,可讓您監控部署程序的每個階段。

  • 回復:藍/綠部署可讓您在偵測到問題時更輕鬆地回復到先前的版本,因為藍修訂會持續執行,直到製作時間過期為止。