使用執行個體縮減保護來控制執行個體終止 - 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. 前往網址 https://console.aws.amazon.com/ec2/ 開啟 Amazon 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. 前往網址 https://console.aws.amazon.com/ec2/ 開啟 Amazon 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 終止保護。不過,即使啟用終止保護和執行個體縮減保護,如果運作狀態檢查判斷執行個體狀態不佳或群組本身遭到意外刪除,則儲存到執行個體儲存體的資料仍可能會遺失。與任何環境一樣,最佳實務是經常備份您的資料,或在適合您的業務持續性需求時備份資料。