將檢查點新增至執行個體重新整理 - Amazon EC2 Auto Scaling

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

將檢查點新增至執行個體重新整理

使用執行個體重新整理時,您可以選擇分階段取代執行個體,以便隨時對執行個體執行驗證。若要分階段執行取代,您可以新增檢查點,即執行個體重新整理暫停的時間點。使用檢查點可讓您更好地控制選擇更新 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%。