配置自动扩缩组以使用实例权重 - Amazon A EC2 uto Scaling

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置自动扩缩组以使用实例权重

当您使用多种实例类型时,可以指定与每种实例类型关联的单位数量,然后使用相同的度量单位来指定组的容量。此容量规格选项称为权重。

例如,假设您运行的计算密集型应用程序的性能最好,至少为 8 vCPUs 和 15 GiB。RAM如果您使用c5.2xlarge作为基本单元,则以下任何一种EC2实例类型都将满足您的应用程序需求。

实例类型示例
实例类型 v CPU 内存(GiB)
c5.2xlarge 8 16
c5.4xlarge 16 32
c5.12xlarge 48 96
c5.18xlarge 72 144
c5.24xlarge 96 192

默认情况下,无论大小如何,所有实例类型的权重都相同。换句话说,无论是 Amazon A EC2 uto Scaling 启动大型实例类型还是小型实例类型,每个实例在 Auto Scaling 组所需容量中的计数都是相同的。

但是,通过权重,您可以分配一个数值,该值指定与每种实例类型关联的单位数量。例如,如果实例大小不相同,c5.2xlarge 实例的权重可能为 2,而 c5.4xlarge(大两倍)的权重可能为 4,依此类推。然后,当 Amazon A EC2 uto Scaling 扩展该组时,这些权重会转换为每个实例计入所需容量的单位数。

权重不会改变 Amazon A EC2 uto Scaling 选择启动的实例类型;相反,分配策略会做到这一点。有关更多信息,请参阅 多种实例类型的分配策略

重要

要使用每种实例类型的内存数量 vCPUs 或内存量配置 Auto Scaling 组以满足其所需容量,我们建议使用基于属性的实例类型选择。设置 DesiredCapacityType 参数会根据您为此参数设置的值自动指定与每种实例类型关联的单位数量。有关更多信息,请参阅 使用基于属性的实例类型选择创建混合实例组

注意事项

本节讨论有效实施权重的关键注意事项。

  • 选择几种符合应用程序性能需求的实例类型。根据每种实例类型的功能,确定其应计入自动扩缩组所需容量的权重。这些权重应用于当前和未来实例。

  • 避免权重之间的差距过大。例如,当下一个较大的实例类型的权重为 200 时,不要将实例类型的权重指定为 1。此外,最小权重和最大权重之间的差异不能太极端。过大的权重差异会对性价比优化产生负面影响。

  • 以单位(而不是实例数)指定组的所需容量。例如,如果您使用CPU基于 v 的权重,请设置所需的内核数以及最小和最大值。

  • 设置权重和所需容量,使所需容量至少比最大权重大两到三倍。

更新现有群组时请注意以下几点:

  • 向现有组添加权重时,应包括当前正在使用的所有实例类型的权重。

  • 当您添加或更改权重时,Amazon A EC2 uto Scaling 将根据新的权重值启动或终止实例以达到所需的容量。

  • 如果您删除了实例类型,则该类型正在运行的实例将保留其上次权重,即使不再定义。

实例权重行为

当您使用实例权重时,Amazon A EC2 uto Scaling 的行为方式如下:

  • 当前容量等于或高于所需容量。如果启动的实例超出剩余的所需容量单位,则当前容量可能会超过所需容量。例如,假设您指定了两个实例类型 c5.2xlargec5.12xlarge,并且您为 c5.2xlarge 分配了实例权重 2,为 c5.12xlarge 分配了实例权重 12。如果还有五个单位可以满足所需容量,且 Amazon A EC2 uto Scaling 配置了 ac5.12xlarge,则所需容量将超过七个单位。

  • 启动实例时,Amazon A EC2 uto Scaling 优先考虑在可用区之间分配容量并遵守分配策略,而不是超过所需容量。

  • 使用您的首选分配策略,Amazon A EC2 uto Scaling 可以超过最大容量限制,以保持可用区域间的平衡。Amazon A EC2 uto Scaling 强制执行的硬限制是您的所需容量加上您的最大重量。