AWS 自動擴充如何在可用區之間指派現貨執行個體?

AWS 自動擴充如何在可用區之間指派現貨執行個體?

我正在使用一個 AWS Autoscaling 群組,該群組跨多個可用區分配實例,並定義了現貨實例出價。

當某一可用區的現貨價格上漲,導致該可用區的執行個體低於現貨價格並終止時,會發生什麼事?

自動縮放群組是否嘗試在可用區之間均勻平衡實例?是否會等到該可用區的價格再次符合?

我找不到任何相關文件。

答案1

根據我的經驗,自動縮放群組始終嘗試在其使用的每個可用區中運行相同數量的實例。我錯誤地添加了沒有啟動配置中指定類型的任何實例的可用區域,並且 ASG 一直嘗試在那裡啟動實例,而沒有在其他地方按比例啟動更多實例。

答案2

AutoScaling 將隨時盡力維持高可用性。它實現此目的的主要方法是使實例均勻分佈在整個 AZ(可用區)中。但是,如果它無法在某個可用區中啟動給定的執行個體類型,它將故障轉移到另一個可用區(可能是由於現貨價格/可用性、中斷或只是缺乏按需可用性)。在達到所需容量後,它將定期嘗試在未充分利用的可用區中啟動新執行個體以重新平衡群組。 https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-benefits.html#AutoScalingBehavior.InstanceUsage

如果您使用具有多種實例類型和購買選項的 ASG,那麼它首先會根據您的設定確定是否應該啟動現貨實例或按需實例。然後,它將嘗試啟動您根據分配策略選擇的實例類型之一。如果首選實例類型不可用,它將嘗試該可用區中的所有實例類型。如果該可用區中沒有可用的可用區,它將繼續嘗試其他可用區。這樣,就必須有相當多不同的容量池,所有這些容量池都無法啟動實例,否則您將無法取得實例。

如果您選擇的任何執行個體類型的所有可用區中都沒有現貨容量,則不會從現貨故障轉移到隨選容量。

https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html

相關內容