

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

# 設定 Auto Scaling 群組的預設執行個體暖機期
<a name="ec2-auto-scaling-default-instance-warmup"></a>

CloudWatch 在您的 Auto Scaling 執行個體中收集和彙總使用資料，例如 CPU 和網路輸入/輸出。您可以使用這些指標來建立擴展政策，而這些政策會根據所選指標值的增加和減少來調整 Auto Scaling 群組中的執行個體數量。

您可以指定執行個體達到`InService`狀態後等待多久，再將用量資料提供給彙總指標。此指定時間稱為*預設執行個體暖機期*。這可避免動態擴展受到個別執行個體尚未處理應用程式流量的指標影響，且運算資源的使用量可能暫時很高。

為了最佳化目標追蹤和步進擴展政策的效能，強烈建議您啟用和設定預設執行個體暖機期。預設不會啟用或設定。

當您啟用預設執行個體暖機期時，請記住，如果您的 Auto Scaling 群組設定為使用執行個體維護政策，或者您使用執行個體重新整理來取代執行個體，您可以防止執行個體在完成初始化之前計入運作狀態最低百分比。

**Topics**
+ [擴展效能考量](#scaling-performance-considerations)
+ [選擇預設執行個體暖機時間](#choose-the-default-instance-warmup)
+ [為群組啟用預設執行個體暖機期](enable-default-instance-warmup.md)
+ [驗證群組的預設執行個體暖機期](verify-default-instance-warmup.md)
+ [尋找具有先前設定之執行個體暖機時間的擴展政策](find-policies-with-a-previously-set-instance-warmup.md)
+ [清除先前為擴展政策設定的執行個體暖機期](clearing-the-previously-set-instance-warmup.md)

## 擴展效能考量
<a name="scaling-performance-considerations"></a>

對於大多數應用程式來說，有一個預設執行個體暖機時間適用於所有功能，而不是不同功能的不同暖機時間是有用的。例如，如果您未設定預設執行個體暖機期，執行個體重新整理功能會使用運作狀態檢查寬限期做為預設暖機期。如果您有任何目標追蹤和步進擴展政策，它們會使用為預設冷卻時間設定的值作為預設暖機時間。如果您有任何預測擴展政策，則沒有預設的暖機時間。

當執行個體暖機時，只有在未暖機的執行個體指標值大於政策的警示高閾值 （或目標追蹤擴展政策的目標使用率） 時，動態擴展政策才會向外擴展。如果需求減少，動態擴展會變得更保守，以保護應用程式的可用性。這會封鎖動態擴展的縮減活動，直到新的執行個體完成暖機。

向外擴展時，Amazon EC2 Auto Scaling 會在決定要新增至群組的執行個體數量時，將暖機的執行個體視為群組容量的一部分。因此，需要新增類似容量的多個警示違規會導致單一擴展活動。目的是持續向外擴展，而不會過度擴展。

如果未啟用預設執行個體暖機期，則執行個體在將指標傳送至 CloudWatch 並將其計入目前容量之前等待的時間會因執行個體而異。因此，與實際發生的工作負載相比，擴展政策有可能無法預測地執行。

例如，可以假設一個具有重複間歇工作負載模式的應用程式。預測擴展政策可用於針對是否增加執行個體數量做出週期性決策。由於預測擴展政策沒有預設暖機時間，執行個體會立即開始對彙總指標做出貢獻。如果這些執行個體在啟動時有較高的資源使用量，則新增執行個體可能會導致彙總指標激增。這可能會影響使用這些指標的任何動態擴展政策，視使用量穩定下來所需的時間而定。如果違反動態擴展政策的高警示閾值，則群組的大小會再次增加。當新的執行個體暖機時，縮減活動將會遭到封鎖。

## 選擇預設執行個體暖機時間
<a name="choose-the-default-instance-warmup"></a>

設定預設執行個體暖機期的關鍵在於確定執行個體完成初始化所需的時間，以及在執行個體達到 `InService` 狀態後資源消耗穩定下來所需的時間。選擇執行個體暖機時間時，請嘗試在收集合法流量的用量資料，以及將與啟動時臨時用量尖峰相關聯的資料收集降到最低之間保持最佳平衡。

假設您有一個 Auto Scaling 群組連接到 Elastic Load Balancing 負載平衡器。新的執行個體完成啟動後，它們會註冊到負載平衡器，然後再進入 `InService` 狀態。在執行個體進入 `InService` 狀態後，資源耗用仍然會遇到暫時峰值，並需要時間來穩定。例如，相較於無需下載大型資產的輕量型 Web 伺服器，必須下載和快取大型資產的應用程式伺服器的資源耗用需要更長的穩定時間。執行個體暖機期提供了穩定資源耗用所需的時間延遲。

**重要**  
如果您不確定需要多少時間進行暖機，可以從 300 秒開始。然後逐漸減少或增加，直到您取得應用程式的最佳擴展效能為止。您可能需要這樣做幾次才能正確完成。或者，如果您有任何具有自己的暖機時間 (`EstimatedInstanceWarmup`) 的擴展政策，您可以使用此值開始。如需詳細資訊，請參閱[尋找具有先前設定之執行個體暖機時間的擴展政策](find-policies-with-a-previously-set-instance-warmup.md)。

可以考慮將生命週期關聯用於在啟動時要執行組態任務或指令碼的使用案例。生命週期關聯可以延遲新的執行個體投入使用，直到其完成初始化。它們特別適用於您的自舉指令碼需要一段時間才能完成的情況。如果您新增 lifecycle hook，則可以減少預設執行個體暖機期的值。如需有關 lifecycle hook 的詳細資訊，請參閱 [Amazon EC2 Auto Scaling lifecycle hook](lifecycle-hooks.md)。