簡體   English   中英

如何控制使用Amazon Web Services通過AutoScalingGroup刪除哪些EC2實例?

[英]How can I control which EC2 instances get removed by an AutoScalingGroup using Amazon Web Services?

我已經預見到應用程序可能會出現一個問題,但是我不確定是否可以解決,也許架構需要重新設計。

我在AWS上使用AutoScalingGroup(ASG)創建EC2實例,該實例托管玩家可以加入的游戲服務器。 目前,ASG是通過配對API手動縮放的,該API會根據其需求更改所需的容量。 游戲服務器完成時,會出現此問題。

游戲結束時,它會向媒人發出信號,告知其已完成並需要終止,媒人隨后將相應地縮減ASG,但是,它似乎並不確切知道要刪除哪個實例,因此不一定是需要終止的那個。

我可以終止該實例,但是由於終止該實例時ASG所需的容量從未更改,因此將創建另一個服務器。

有什么辦法可以縮小ASG的規模,並指定要從組中刪除的服務器?

簡而言之,在擴展過程中的默認終止策略旨在刪除使用最舊啟動配置的實例。

當前,Amazon EC2 Auto Scaling支持以下終止策略:

OldestInstance終止組中最舊的實例。 將Auto Scaling組中的實例升級到新的EC2實例類型時,此選項很有用。 您可以逐漸用新類型的實例替換舊類型的實例。

NewestInstance終止組中的最新實例。 當您測試新的啟動配置但不想將其保留在生產環境中時,此策略很有用。

OldestLaunchConfiguration終止具有最早啟動配置的實例。 當您更新組並從以前的配置中逐步淘汰實例時,此策略很有用。

ClosestToNextInstanceHour終止最接近下一個計費時間的實例。 此策略可幫助您最大限度地利用實例並管理Amazon EC2的使用成本。

默認根據默認終止策略終止實例。 當組具有多個擴展策略時,此策略很有用。

實例保護

一種可能的解決方案是使用實例保護 自動擴展可提供實例保護,以控制擴展時實例是否可以終止。

因此,請為ASG啟用實例保護以默認情況下防止實例放大。 完成服務器處理后,減少所需實例數的值,從特定實例中刪除實例保護(使用CLI或SDK;請注意,其余實例仍啟用該保護),並且自動縮放將終止該實例保護實例。

有關實例保護的更多信息,請參閱實例保護。

最舊的服務器被刪除。 如果要縮減特定服務器的規模,則必須先終止該服務器,然后再更改所需的容量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM