本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將部署策略從滾動更新更新更新為 Amazon ECS 藍/綠
當您想要在生產環境中實作服務變更之前,可以從滾動更新部署遷移到 Amazon ECS 藍/綠部署。
先決條件
在將服務從滾動遷移至藍/綠部署之前,請確定您有下列項目:
-
等待任何目前的部署完成。
-
使用滾動部署策略的現有 Amazon ECS 服務。
-
如果您有多個服務修訂服務流量,Amazon ECS 會嘗試在遷移期間將流量合併為單一修訂。如果失敗,您可能需要手動更新您的服務,以在遷移之前使用單一修訂。
-
設定適當的許可。
-
如需 Elastic Load Balancing 許可的詳細資訊,請參閱 適用於負載平衡器的 Amazon ECS 基礎設施 IAM 角色。
-
如需 Lambda 許可的詳細資訊,請參閱 Amazon ECS 藍/綠部署中 Lambda 函數所需的許可。
-
-
視組態而定,您需要執行下列其中一項:
-
如果您的服務使用 Elastic Load Balancing,請使用新的 `advancedConfiguration` 更新您的服務,並啟動滾動部署。
-
如果您的服務使用 Service Connect,請更新您的服務並啟動滾動部署。
-
如果您的服務同時使用 Elastic Load Balancing 和 Service Connect,請執行上述兩個步驟 (您可以使用單一 UpdateService 請求)。
-
如果您的服務不使用上述任何項目,則不需要額外的操作。
-
-
Amazon ECS 藍/綠部署要求您的服務使用下列其中一項功能。設定適當的資源。
-
Application Load Balancer - 如需詳細資訊,請參閱 藍/綠部署的 Application Load Balancer 資源。
-
Network Load Balancer - 如需詳細資訊,請參閱Amazon ECS 藍/綠部署的 Network Load Balancer 資源。
-
Service Connect - 如需詳細資訊,請參閱 Amazon ECS 藍/綠部署的 Service Connect 資源。
-
程序
-
在 開啟 Amazon ECS 主控台https://console.aws.amazon.com/ecs/v2
。 -
在導覽窗格中,選擇叢集。
-
在叢集頁面上,選擇包含您要遷移之服務的叢集。
隨即顯示叢集詳細資訊頁面。
-
在叢集詳細資訊頁面上,選擇服務索引標籤。
-
選擇服務,然後選擇更新。
隨即顯示更新服務頁面
-
展開部署選項,然後執行下列動作:
-
針對部署策略,選擇藍/綠。
-
設定藍/綠部署設定:
-
針對製作時間,輸入藍色和綠色服務修訂在終止藍色修訂之前將同時執行的分鐘數。
這可讓 有時間進行驗證和測試。
-
(選用) 將 Lambda 函數設定為在部署的特定階段執行。在部署生命週期掛鉤下,為下列階段設定 Lambda 函數:
-
預先擴展:在擴展綠色服務修訂之前執行
-
擴展後:擴展綠色服務修訂版後執行
-
測試流量轉移:在測試流量路由至綠色服務修訂期間執行
-
測試後流量轉移:在測試流量路由至綠色服務修訂版後執行
-
生產流量轉移:在生產流量路由至綠色服務修訂期間執行
-
生產後流量轉移:生產流量路由至綠色服務修訂版後執行
若要新增生命週期掛鉤:
-
選擇新增。
-
針對 Lambda 函數,輸入函數名稱或 ARN。
-
針對角色,選擇具有叫用 Lambda 函數許可的 IAM 角色。
-
針對生命週期階段,選取 Lambda 函數應執行的階段。
-
選用:對於勾點詳細資訊,輸入鍵/值對,為勾點提供其他資訊。
-
-
-
設定負載平衡器設定:
-
在負載平衡下,確認您的服務已設定為使用負載平衡器。
-
針對目標群組,選擇生產 (藍色) 環境的主要目標群組。
-
針對替代目標群組,選擇測試 (綠色) 環境的目標群組。
-
針對生產接聽程式規則,選擇用於路由生產流量的接聽程式規則。
-
選用:針對測試接聽程式規則,選擇將測試流量路由到您的綠色環境的接聽程式規則。
-
針對角色,選擇允許 Amazon ECS 管理負載平衡器的 IAM 角色。
-
-
檢閱您的組態變更,然後選擇更新。
後續步驟
更新 服務以開始部署。如需詳細資訊,請參閱更新 Amazon ECS 服務。
-
監控部署程序,以確保其遵循藍/綠模式:
-
綠色服務修訂已建立並向上擴展
-
測試流量會路由至綠色修訂版 (如果已設定)
-
生產流量會轉移到綠色修訂版
-
在製作時間之後,藍色修訂會終止
-