我正在使用一个AWS自动标度组,它在多个AZs之间分发实例,并定义了spot实例投标。
当现货价格在一个AZ中上涨,导致AZ中的实例低于现货价格并终止时,会发生什么情况?
自动标度组是否试图平衡跨AZs的实例?会等到那个AZ的价格再匹配吗?
我找不到这方面的任何文件。
发布于 2016-06-04 01:00:55
根据我的经验,自动标度组总是尝试在其使用的每个可用区域中运行相同数量的实例。我错误地添加了没有在启动配置中指定的任何类型的实例的可用性区域,而ASG一直试图在那里启动实例,而不按比例地在其他地方启动更多的实例。
发布于 2020-03-18 01:44:36
AutoScaling将始终努力保持高可用性。它这样做的主要方式是保持实例在AZs (可用性区域)中均匀分布。但是,如果它不能在AZ中启动给定的实例类型,它就会故障转移到另一个AZ (无论是从现货价格/可用性、中断,还是只是缺乏随需应变的可用性)。在达到所需的容量后,它将定期尝试在未充分使用的AZ中启动一个新实例,以重新平衡组。https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-benefits.html#AutoScalingBehavior.InstanceUsage
如果您使用具有多个实例类型和购买选项的ASG,那么它将首先根据您的设置确定它应该启动一个spot或随需应变的实例。然后,它将根据您的分配策略尝试并启动您选择的实例类型之一。如果首选实例类型不可用,它将尝试该AZ中的所有实例类型。如果在AZ中没有可用的AZ,它将继续尝试其他AZs。这样,就必须有相当多不同的容量池,这些池都无法启动实例,因此无法获得实例。
如果您所选择的任何实例类型在所有AZs中都没有spot容量,则它不会从spot切换到OnDemand。
https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html
https://serverfault.com/questions/728464
复制相似问题