Amazon EC2 Auto Scaling 的擴展冷卻時間 - Amazon EC2 Auto Scaling

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

Amazon EC2 Auto Scaling 的擴展冷卻時間

重要

依最佳實務,建議您不要使用簡易擴展政策和擴展冷卻時間。目標追蹤擴展政策或步進擴展政策的擴展效能更佳。針對隨擴展指標減少或增加而依比例變更您 Auto Scaling 群組大小的擴展政策,我們建議使用目標追蹤而非簡易擴展或步進擴展。

當您為 Auto Scaling 群組建立簡易擴展政策時,我們建議您同時設定擴展冷卻時間。

在 Auto Scaling 群組啟動或終止執行個體後,其會先等待冷卻時間結束,然後才能啟動簡易擴展政策啟動的任何進一步擴展活動。冷卻時間的目的是讓您的 Auto Scaling 群組穩定,並防止它在先前擴展活動的效果顯示之前啟動或終止其他執行個體。

例如,假設 CPU 使用率的簡單擴展政策建議啟動兩個執行個體。Amazon EC2 Auto Scaling 會啟動兩個執行個體,然後暫停擴展活動,直到冷卻期結束。在冷卻時間結束後,任何簡易擴展政策啟動的擴展活動都可以繼續。如果 CPU 使用率再次違反警示高閾值,Auto Scaling 群組會再次橫向擴展,而冷卻期間會再次生效。但是,如果兩個執行個體已足夠降低指標值,群組便會維持目前的大小。

考量事項

下列考量適用於使用簡易擴展政策和擴展冷卻:

  • 目標追蹤和步進擴展政策可以立即啟動水平擴展活動,而無需等待冷卻時間結束。相反地,每當 Auto Scaling 群組啟動執行個體時,個別執行個體都會有暖機期。如需詳細資訊,請參閱設定 Auto Scaling 群組的預設執行個體暖機期

  • 當已排定的動作在已排定的時間開始時,它還會立即啟動擴展活動,而無須等候冷卻時間結束。

  • 如果執行個體變得運作狀態不佳,Amazon EC2 Auto Scaling 不會等待冷卻期結束,再取代運作狀態不佳的執行個體。

  • 當啟動或終止多個執行個體時,冷卻時間 (預設冷卻時間或擴展政策特定冷卻時間) 會在最後一個執行個體完成啟動或終止時,開始生效。

  • 在手動擴展 Auto Scaling 群組時,預設並不會等待冷卻時間完成。不過,當您使用 AWS CLI 或 SDK 手動擴展時,您可以覆寫此行為並尊重預設冷卻時間。

  • 依預設,Elastic Load Balancing 會等待 300 秒以完成取消註冊 (連接耗盡) 程序。如果該群組在 Elastic Load Balancing 負載平衡器之後,其會等待終止執行個體取消註冊,再開始冷卻時間。

生命週期關聯可能會導致額外延遲

如果叫用 lifecycle hook,冷卻時間會在您完成生命週期動作後或逾時期間結束後開始。例如,假設有一個 Auto Scaling 群組,其具備可用於執行個體啟動的 lifecycle hook 的。當應用程式提高需求,群組啟動執行個體以增加容量。由於具備一個 lifecycle hook,執行個體進入等待狀態,且擴展活動會由於簡易擴展政策而暫停。當執行個體進入 InService 狀態時,冷卻時間開始。在冷卻時間結束後,會繼續簡易擴展政策活動。

啟用 Elastic Load Balancing 時,為了縮減規模,當為終止選取的執行個體開始連線耗盡 (取消註冊延遲) 時,冷卻期就會開始。冷卻期間不會等待連線耗盡完成,也不會等待生命週期掛鉤完成其動作。這表示,只要規模的結果反映在群組的容量中,任何因簡單擴展政策而產生的擴展活動都可以繼續。否則,等待完成所有三個活動 (連接耗盡、lifecycle hook 和冷卻時間) 會大幅增加 Auto Scaling 群組暫停擴展所需的時間。

變更預設冷卻時間

當您最初在 Amazon EC2 Auto Scaling 主控台中建立 Auto Auto Scaling 群組時,您無法設定預設冷卻時間。依預設,此冷卻時間期間設為 300 秒 (5 分鐘)。如有需要,您可以在建立群組後進行更新。

變更預設冷卻時間 (主控台)

建立 Auto Scaling 群組後,在 Details (詳細資訊) 索引標籤上,依次選取 Advanced configurations (進階組態)、Edit (編輯)。對於 Default cooldown (預設冷卻時間),根據您的執行個體啟動時間或其他應用程式需求來選擇時間量。

變更預設冷卻時間 (AWS CLI)

使用以下命令變更新的或現有 Auto Scaling 群組的預設冷卻時間。如果未定義預設冷卻時間,則使用預設值 300 秒。

若要確認預設冷卻時間的值,請使用 describe-auto-scaling-groups 命令。

為特定的簡單擴展政策設定冷卻時間

依預設,所有簡易擴展政策都會使用為 Auto Scaling 群組定義的預設冷卻時間。如要設定特定簡易擴展政策的冷卻時間,請在建立或更新政策時使用選用的冷卻參數。在為政策指定冷卻時間時,它會覆寫預設冷卻時間。

擴展政策特定的冷卻期的常見用途是政策中的規模。由於此政策終止執行個體,Amazon EC2 Auto Scaling 需要較少的時間來決定是否終止其他執行個體。終止執行個體的操作應會比啟動執行個體更快。因此,預設的 300 秒冷卻時間過長。在這種情況下,擴展政策特定的冷卻期,在政策中擴展值較低,可以透過允許群組更快地擴展,協助您降低成本。

要在主控台中建立或更新簡易擴展政策,請在建立群組後選擇 Automatic scaling (自動擴展) 索引標籤。若要使用 建立或更新簡單的擴展政策 AWS CLI,請使用 put-scaling-policy 命令。如需詳細資訊,請參閱步進和簡易擴展政策