Amazon ECS 服務參數的最佳實務 - Amazon Elastic Container Service

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

Amazon ECS 服務參數的最佳實務

為了確保沒有應用程式停機時間,部署程序如下:

  1. 啟動新的應用程式容器,同時保持現有容器的執行狀態。

  2. 檢查新容器是否健康。

  3. 停止舊的容器。

根據您的部署配置以及叢集中未保留的可用空間量,可能需要多輪次才能完成以新任務取代所有舊任務。

您可以使用兩個 ECS 服務組態選項來修改編號:

  • minimumHealthyPercent:100% (預設值)

    部署期間必須保持在RUNNING狀態下的服務工作數目下限。這是desiredCount四捨五入到最接近整數的百分比。此參數可讓您在不使用額外叢集容量的情況下進行部署。

  • maximumPercent:百分之二十 (預設值)

    部署期間,RUNNINGPENDING狀態允許的服務工作數目上限。這是desiredCount四捨五入到最接近的整數的百分比。

請考慮下列有六個 tan 工作的服務,部署在叢集中,總共有八個工作的空間。預設的 Amazon ECS 服務組態選項不允許部署低於六個所需任務的 100%。

圖表顯示叢集中有八項工作空間的六項工作。

部署程序如下:

  1. 目標是用藍色任務替換棕褐色任務。

  2. 排程器會啟動兩個新的藍色工作,因為預設設定要求有六個執行中的工作。

  3. 排程器會停止其中兩個 tan 工作,因為總共會有六個工作 (四個 tan 和兩個藍色)。

  4. 排程器會啟動兩個額外的藍色工作。

  5. 排程器會關閉兩個 tan 工作。

  6. 排程器會啟動兩個額外的藍色工作。

  7. 排程器會關閉最後兩個 tan 工作。

在上述範例中,如果您使用選項的預設值,則每個啟動的新工作都需要等待 2.5 分鐘。此外,負載平衡器可能需要等待 5 分鐘才能停止舊工作。

您可以將minimumHealthyPercent值設定為 50% 來加速部署。

請考慮下列有六個 tan 工作的服務,部署在叢集中,總共有八個工作的空間。

圖表顯示叢集中的六項工作,其中有八項工作的空間,其minimumHealthyPercent值為 50%。

部署程序如下:

  1. 目標是用藍色任務替換棕褐色任務。

  2. 排程器會停止三個 TAN 工作。仍然有三個棕褐色任務正在運行,這些任務符合該minimumHealthyPercent值。

  3. 排程器會啟動五個藍色工作。

  4. 排程器會停止剩餘的三個 TAN 工作。

  5. 排程器會啟動最後的藍色工作。

您也可以新增額外的可用空間,以便執行其他工作。

圖表顯示叢集中有八項工作空間的六項工作。

部署程序如下:

  1. 目標是用藍色任務替換棕褐色任務。

  2. 排程器會停止三個棕褐色工作

  3. 調度程序啟動六個藍色任務

  4. 排程器會停止三個 TAN 工作。

當您的任務閒置一段時間且沒有高使用率時,請使用以下 Amazon ECS 服務組態選項的值。

  • minimumHealthyPercent:50%

  • maximumPercent: 二百分之二十