本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將檢查點新增至執行個體重新整理
使用執行個體重新整理時,您可以選擇分階段取代執行個體,以便隨時對執行個體執行驗證。若要分階段執行取代,您可以新增檢查點,即執行個體重新整理暫停的時間點。使用檢查點可讓您更好地控制選擇更新 Auto Scaling 群組的方式。它可幫助您確認應用程式以可靠、可預測的方式運作。
運作方式
開始執行個體重新整理時,您會以 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%。為了維持狀態良好最低百分比,一次只會取代兩個執行個體。下圖概括了到達檢查點之前取代執行個體的程序。
在上述範例中,每個啟動的新執行個體都有執行個體暖機期。您也可能有一個 lifecycle hook,會使執行個體進入等待狀態,然後在啟動或終止時執行自訂動作。
Amazon EC2 Auto Scaling 會為每個檢查點發出事件,但 100% 完成檢查點除外。您可以新增 EventBridge 規則,將事件傳送至 Amazon SNS 等目標。如此一來,當您可以執行所需的驗證時,系統就會通知您。如需詳細資訊,請參閱為執行個體重新整理事件建 EventBridge 立。
考量事項
使用檢查點時,請謹記以下幾點考量:
-
檢查點是以百分比為基礎,因此要取代的執行個體數量會隨著群組的大小而變更。發生橫向擴展活動且群組大小增加時,進行中的操作可能會再次到達檢查點。如果發生這種情況,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%。
-