使用執行個體擴充保護來控制執行個體終止 - Amazon EC2 Auto Scaling

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

使用執行個體擴充保護來控制執行個體終止

執行個體擴展保護可讓您控制 Amazon EC2 Auto Scaling 可以終止哪些執行個體。此功能的常見使用案例是擴充容器型工作負載。如需詳細資訊,請參閱設計您的應用程式以妥善處理執行個體終止

根據預設,當您建立「自動調整」群組時,執行個體 Auto Scaling 保護會停用。這表示 Amazon EC2 Auto Scaling 可以終止群組中的任何執行個體。

您可以在 Auto Scaling 群組上啟用執行個體縮減保護設定,一旦執行個體啟動,即可對其進行保護。當執行個體縮減保護啟動時,執行個體的狀態為 InService。然後,若要控制哪些執行個體可以終止,請停用 Auto Scaling 群組中個別執行個體的縮減保護設定。這樣,您可以繼續保護某些執行個體免受不必要的終止。

考量事項

以下是使用執行個體擴充保護時的考量事項:

  • 如果 Auto Scaling 群組中的所有執行個體都受到保護,而且發生了擴展,則其所需容量會減少。但是,在保護設定中停用執行個體規模之前,Auto Scaling 群組無法終止所需數量的執行個體。在中 AWS Management Console,如果 Auto Scaling 群組中的所有執行個體在發生縮放時都受到保護,則 Auto Scaling 群組的活動歷程記錄會包含下列訊息:Could not scale to desired capacity because all remaining instances are protected from scale in.

  • 如果您卸離受到擴充保護的執行個體,則其執行個體在保護中擴展設定將會遺失。當您再次將執行個體連結至群組時,它會繼承群組的保護設定中目前的執行個體規模。Amazon EC2 Auto Scaling 啟動新執行個體或將執行個體從暖集區移至 Auto Scaling 群組時,執行個體會繼承 Auto Scaling 群組的保護設定中的執行個體擴展。

  • 執行個體縮減保護並不保護以下的 Auto Scaling 執行個體:

    • 如果執行個體未通過運作狀態檢查,則發生運作狀態檢查取代。如需詳細資訊,請參閱Auto Scaling 群組中的執行個體運作狀態檢查

    • Spot 執行個體中斷。Spot 執行個體的容量無法再使用或 Spot 價格超過您的最高價時將被終止。

    • 容量區塊保留結束。Amazon 會EC2回收容量區塊執行個體,即使這些執行個體受到保護,免於擴展。

    • 透過terminate-instance-in-auto-scaling-group指令手動終止。如需詳細資訊,請參閱終止 Auto Scaling 群組中的執行個體 (AWS CLI)

    • 透過 Amazon EC2 主控台、CLI命令和API操作手動終止。若要保護 Auto Scaling 執行個體免於手動終止,請啟用 Amazon EC2 終止保護。這不會阻止 Amazon EC2 Auto Scaling 透過terminate-instance-in-auto-scaling-group指令終止執行個體或手動終止。) 如需在啟動範本中啟用 Amazon EC2 終止保護的相關資訊,請參閱使用進階設定建立啟動範本

變更 Auto Scaling 群組的縮放保護

您可以啟用或停用 Auto Scaling 群組的執行個體縮減保護設定。啟用此功能後,群組啟動的所有新執行個體都會啟用執行個體擴充保護。

啟用或停用 Auto Scaling 群組的這項設定不會影響現有的執行個體。

Console
為新的「Auto Scaling」群組啟用縮放保護

建立 Auto Scaling 群組時,在 [設定群組大小和擴展政策] 頁面的 [執行個體擴充保護] 下,選取 [啟用執行個體擴充保護] 核取方塊。

啟用或停用現有群組的擴充保護
  1. 在開啟 Amazon EC2 主控台 https://console.aws.amazon.com/ec2/,然後從導覽窗格中選擇 Auto Scaling 群組

  2. 選取 Auto Scaling 群組旁的核取方塊。

    頁面底部會開啟一個分割窗格。

  3. Details (詳細資訊) 索引標籤上,選擇 Advanced configurations (進階組態)、Edit (編輯)。

  4. 對於執行個體擴充保護,請選取或清除 [啟用執行個體規模保護] 核取方塊,以視需要啟用或停用此選項。

  5. 選擇更新

AWS CLI
為新的「Auto Scaling」群組啟用縮放保護

使用下列create-auto-scaling-group命令啟用執行個體擴充保護。

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --new-instances-protected-from-scale-in ...
啟用現有群組的擴充保護

使用下列update-auto-scaling-group命令為指定的 Auto Scaling 群組啟用執行個體縮放保護。

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --new-instances-protected-from-scale-in
若要停用現有群組的擴充保護

使用以下命令來停用所指定群組的執行個體縮減保護。

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --no-new-instances-protected-from-scale-in

變更執行個體的擴充保護

根據預設,執行個體會從本身的 Auto Scaling 群組取得執行個體縮減保護設定。不過,您可以在個別執行個體啟動後啟用或停用執行個體擴充保護。

Console
啟用或停用執行個體的擴充保護
  1. 在開啟 Amazon EC2 主控台 https://console.aws.amazon.com/ec2/,然後從導覽窗格中選擇 Auto Scaling 群組

  2. 選取 Auto Scaling 群組旁的核取方塊。

    頁面底部會開啟一個分割窗格。

  3. Instance management (執行個體管理) 索引標籤的 Instances (執行個體) 中,選取執行個體。

  4. 若要啟用執行個體縮減保護,請依序選擇 Actions (動作)、Set scale-in protection (設定縮減保護)。出現提示時,請選擇 Set scale-in protection (設定縮減保護)。

  5. 若要停用執行個體縮減保護,請依序選擇 Actions (動作)、Remove scale-in protection (移除縮減保護)。出現提示時,請選擇 Remove scale-in protection (移除縮減保護)。

AWS CLI
啟用執行個體的擴充保護

使用下列set-instance-protection命令為指定的執行個體啟用執行個體擴充保護。

aws autoscaling set-instance-protection --instance-ids i-5f2e8a0d --auto-scaling-group-name my-asg --protected-from-scale-in
若要停用執行個體的擴充保護

使用以下命令來停用所指定執行個體的縮減保護。

aws autoscaling set-instance-protection --instance-ids i-5f2e8a0d --auto-scaling-group-name my-asg --no-protected-from-scale-in
注意

請記住,執行個體擴充保護不保證在發生人為錯誤時不會終止執行個體,例如,如果有人使用 Amazon 主控台或手動終止執行個體。EC2 AWS CLI為了保護您的執行個體免於意外終止,您可以使用 Amazon EC2 終止保護。不過,即使啟用終止保護和執行個體縮減保護,如果運作狀態檢查判斷執行個體狀態不佳或群組本身遭到意外刪除,則儲存到執行個體儲存體的資料仍可能會遺失。與任何環境一樣,最佳實務是經常備份您的資料,或在適合您的業務持續性需求時備份資料。