將部署策略從滾動更新更新更新為 Amazon ECS 藍/綠 - Amazon Elastic Container Service

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

將部署策略從滾動更新更新更新為 Amazon ECS 藍/綠

當您想要在生產環境中實作服務變更之前,可以從滾動更新部署遷移到 Amazon ECS 藍/綠部署。

先決條件

在將服務從滾動遷移至藍/綠部署之前,請確定您有下列項目:

  • 等待任何目前的部署完成。

  • 使用滾動部署策略的現有 Amazon ECS 服務。

  • 如果您有多個服務修訂服務流量,Amazon ECS 會嘗試在遷移期間將流量合併為單一修訂。如果失敗,您可能需要手動更新您的服務,以在遷移之前使用單一修訂。

  • 設定適當的許可。

  • 視組態而定,您需要執行下列其中一項:

    • 如果您的服務使用 Elastic Load Balancing,請使用新的 `advancedConfiguration` 更新您的服務,並啟動滾動部署。

    • 如果您的服務使用 Service Connect,請更新您的服務並啟動滾動部署。

    • 如果您的服務同時使用 Elastic Load Balancing 和 Service Connect,請執行上述兩個步驟 (您可以使用單一 UpdateService 請求)。

    • 如果您的服務不使用上述任何項目,則不需要額外的操作。

  • Amazon ECS 藍/綠部署要求您的服務使用下列其中一項功能。設定適當的資源。

程序

  1. 在 開啟 Amazon ECS 主控台https://console.aws.amazon.com/ecs/v2

  2. 在導覽窗格中,選擇叢集

  3. 叢集頁面上,選擇包含您要遷移之服務的叢集。

    隨即顯示叢集詳細資訊頁面。

  4. 叢集詳細資訊頁面上,選擇服務索引標籤。

  5. 選擇服務,然後選擇更新

    隨即顯示更新服務頁面

  6. 展開部署選項,然後執行下列動作:

  7. 針對部署策略,選擇藍/綠

  8. 設定藍/綠部署設定:

    1. 針對製作時間,輸入藍色和綠色服務修訂在終止藍色修訂之前將同時執行的分鐘數。

      這可讓 有時間進行驗證和測試。

    2. (選用) 將 Lambda 函數設定為在部署的特定階段執行。在部署生命週期掛鉤下,為下列階段設定 Lambda 函數:

      • 預先擴展:在擴展綠色服務修訂之前執行

      • 擴展後:擴展綠色服務修訂版後執行

      • 測試流量轉移:在測試流量路由至綠色服務修訂期間執行

      • 測試後流量轉移:在測試流量路由至綠色服務修訂版後執行

      • 生產流量轉移:在生產流量路由至綠色服務修訂期間執行

      • 生產後流量轉移:生產流量路由至綠色服務修訂版後執行

      若要新增生命週期掛鉤:

      1. 選擇新增

      2. 針對 Lambda 函數,輸入函數名稱或 ARN。

      3. 針對角色,選擇具有叫用 Lambda 函數許可的 IAM 角色。

      4. 針對生命週期階段,選取 Lambda 函數應執行的階段。

      5. 選用:對於勾點詳細資訊,輸入鍵/值對,為勾點提供其他資訊。

  9. 設定負載平衡器設定:

    1. 負載平衡下,確認您的服務已設定為使用負載平衡器。

    2. 針對目標群組,選擇生產 (藍色) 環境的主要目標群組。

    3. 針對替代目標群組,選擇測試 (綠色) 環境的目標群組。

    4. 針對生產接聽程式規則,選擇用於路由生產流量的接聽程式規則。

    5. 選用:針對測試接聽程式規則,選擇將測試流量路由到您的綠色環境的接聽程式規則。

    6. 針對角色,選擇允許 Amazon ECS 管理負載平衡器的 IAM 角色。

  10. 檢閱您的組態變更,然後選擇更新

後續步驟

  • 更新 服務以開始部署。如需詳細資訊,請參閱更新 Amazon ECS 服務

  • 監控部署程序,以確保其遵循藍/綠模式:

    • 綠色服務修訂已建立並向上擴展

    • 測試流量會路由至綠色修訂版 (如果已設定)

    • 生產流量會轉移到綠色修訂版

    • 在製作時間之後,藍色修訂會終止