

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

# 將檢查點新增至執行個體重新整理
<a name="asg-adding-checkpoints-instance-refresh"></a>

使用執行個體重新整理時，您可以選擇分階段取代執行個體，以便隨時對執行個體執行驗證。若要分階段執行取代，您可以新增檢查點，即執行個體重新整理暫停的時間點。使用檢查點可讓您更好地控制選擇更新 Auto Scaling 群組的方式。它可幫助您確認應用程式以可靠、可預測的方式運作。

**Topics**
+ [運作方式](#instance-refresh-checkpoints-how-it-works)
+ [考量事項](#instance-refresh-checkpoints-considerations)
+ [啟用檢查點](enable-checkpoints-console-cli.md)

## 運作方式
<a name="instance-refresh-checkpoints-how-it-works"></a>

開始執行個體重新整理時，請以 Auto Scaling 群組中執行個體總數的百分比來指定檢查點。這些檢查點指出 Auto Scaling 群組中執行個體的最小百分比，在檢查點被視為達到之前必須是新的執行個體。例如，如果您的檢查點是 `[20, 50, 100]`，當 20% 的執行個體是新的、50% 是新的，以及所有執行個體都是新的最終檢查點時，第一個檢查點就會到達。

Amazon EC2 Auto Scaling 會逐步取代執行個體，以符合指定的檢查點百分比，同時維持群組的運作狀態百分比下限。為了達到檢查點百分比，Amazon EC2 Auto Scaling 有時會取代較少的執行個體，但絕不會超過狀態良好最低百分比允許的比例。

請考慮下列具有 10 個執行個體的 Auto Scaling 群組。檢查點百分比為 `[20,50,100]`，狀態良好最低百分比為 80%，狀態良好最高百分比為 100%。為了維持狀態良好最低百分比，一次只會取代兩個執行個體。下圖概括了到達檢查點之前取代執行個體的程序。

![\[此圖表顯示檢查點如何影響執行個體重新整理的流程。\]](http://docs.aws.amazon.com/zh_tw/autoscaling/ec2/userguide/images/checkpoints-instance-refresh.png)


在上述範例中，每個啟動的新執行個體都有一個執行個體暖機期。您也可能有一個 lifecycle hook，會使執行個體進入等待狀態，然後在啟動或終止時執行自訂動作。

Amazon EC2 Auto Scaling 會為每個檢查點發出事件，但 100% 完成檢查點除外。您可以新增 EventBridge 規則，將事件傳送到 Amazon SNS 等目標。如此一來，當您可以執行所需的驗證時，系統就會通知您。如需詳細資訊，請參閱[針對執行個體重新整理事件建立 EventBridge 規則](monitor-events-eventbridge-sns.md)。

## 考量事項
<a name="instance-refresh-checkpoints-considerations"></a>

使用檢查點時，請謹記以下幾點考量：
+ 檢查點是以百分比為基礎，因此要取代的執行個體數量會隨著群組的大小而變更。當橫向擴展活動發生且群組的大小增加時，進行中的操作可能會再次到達檢查點。如果發生這種情況，Amazon EC2 Auto Scaling 會傳送另一個通知，並在繼續之前重複檢查點之間的等待時間。
+ 在某些情況下，可以略過檢查點。例如，假設 Auto Scaling 群組有兩個執行個體，且檢查點百分比為 `[10,40,100]`。第一個執行個體遭取代後，Amazon EC2 Auto Scaling 會計算 50% 的群組已遭取代。因為 50% 高於前兩個檢查點，其會略過第一個檢查點 (`10`)，並傳送第二個檢查點 (`40`) 的通知。
+ 取消操作會停止進行任何進一步的取代。如果取消操作或在到達最後一個檢查點前失敗，任何已遭取代的執行個體都不會回復至先前的組態。
+ 在部分重新整理的情況下，當您重新執行操作時，Amazon EC2 Auto Scaling 不會從最後一個檢查點重新啟動，也不會僅在較舊執行個體遭取代時停止。但是，在將目標鎖定於新的執行個體之前，其會先針對較舊執行個體進行取代。
+ 當檢查點的百分比相對於群組中的執行個體數量太低時，完成的實際百分比可能高於該檢查點的百分比。例如，假設檢查點的百分比為 20%，而群組有四個執行個體。如果 Amazon EC2 Auto Scaling 取代了四個執行個體中的其中一個，則取代的實際百分比 (25%) 將高於檢查點的百分比 (20%)。
+ 到達檢查點後，顯示的整體百分比在執行個體完成暖機後才會更新。例如，您的檢查點百分比`[20,50]`的檢查點延遲為 15 分鐘，運作狀態最低為 80%。您的 Auto Scaling 群組有 10 個執行個體，並進行下列取代：
  + 0:00：用兩個新執行個體取代兩個較舊執行個體。
  + 0:10：兩個新執行個體完成暖機。
  + 0:25：用兩個新執行個體取代兩個較舊執行個體。(為了維持狀態良好最低百分比，只會取代兩個執行個體。)
  + 0:35：兩個新執行個體完成暖機。
  + 0:35：用一個新執行個體取代一個較舊執行個體。
  + 0:45：一個新執行個體完成暖機。

  0:35 時，操作停止啟動新執行個體。由於新執行個體沒有完成暖機，完成百分比未準確反映已完成取代的數量 (50%)。新執行個體在 0：45 完成暖機期後，完成百分比會顯示 50%。
+ 如果啟用多個檢查點，執行個體重新整理檢查點必須設定為 100%，以確保完全取代所有執行個體。如果您將最終檢查點設定為低於 100% 的百分比 （例如 50%)，執行個體重新整理會在達到該檢查點百分比後停止取代執行個體，而且不會自動繼續 100% 完成。