

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

# 配置自动扩缩组以使用实例权重
<a name="ec2-auto-scaling-mixed-instances-groups-instance-weighting"></a>

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

例如，假设您运行的计算密集型应用程序在至少有 8 v CPUs 和 15 GiB 的 RAM 时性能最佳。如果您使用 `c5.2xlarge` 作为基本单元，以下任何 EC2 实例类型都将满足您的应用程序需求。


**实例类型示例**  

| 实例类型 | vCPU | 内存（GiB） | 
| --- | --- | --- | 
| c5.2xlarge  |  8  | 16 | 
| c5.4xlarge | 16 | 32 | 
| c5.12xlarge | 48 | 96 | 
| c5.18xlarge  | 72 | 144 | 
| c5.24xlarge | 96 | 192 | 

默认情况下，无论大小如何，所有实例类型的权重都相同。换句话说，无论 Amazon EC2 Auto Scaling 启动大型还是小型实例类型，每个实例都会计入自动扩缩组的所需容量。

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

权重不会更改 Amazon EC2 Auto Scaling 选择启动的实例类型；而是分配策略会做到这一点。有关更多信息，请参阅 [多种实例类型的分配策略](allocation-strategies.md)。

**重要**  
要使用 v 的数量CPUs 或每种实例类型的内存量配置 Auto Scaling 组以满足其所需容量，我们建议使用基于属性的实例类型选择。设置 `DesiredCapacityType` 参数会根据您为此参数设置的值自动指定与每种实例类型关联的单位数量。有关更多信息，请参阅 [使用基于属性的实例类型选择创建混合实例组](create-mixed-instances-group-attribute-based-instance-type-selection.md)。

**Topics**
+ [注意事项](#weights-considerations)
+ [实例权重行为](#instance-weighting-behaviors)
+ [配置自动扩缩组以使用权重](configue-auto-scaling-group-to-use-weights.md)
+ [每单位小时 Spot 价格示例](weights-spot-price-per-unit-hour-example.md)

## 注意事项
<a name="weights-considerations"></a>

本节讨论有效实施权重的关键注意事项。
+ 选择几种符合应用程序性能需求的实例类型。根据每种实例类型的功能，确定其应计入自动扩缩组所需容量的权重。这些权重应用于当前和未来实例。
+ 避免权重之间的差距过大。例如，当下一个较大的实例类型的权重为 200 时，不要将实例类型的权重指定为 1。此外，最小权重和最大权重之间的差异不能太极端。过大的权重差异会对性价比优化产生负面影响。
+ 以单位（而不是实例数）指定组的所需容量。例如，如果使用基于 vCPU 的权重，请设置所需核心数以及最小核心数和最大核心数。
+ 设置权重和所需容量，使所需容量至少比最大权重大两到三倍。

更新现有群组时请注意以下几点：
+ 向现有组添加权重时，应包括当前正在使用的所有实例类型的权重。
+ 添加或更改权重时，Amazon EC2 Auto Scaling 将根据新权重值启动或终止实例以达到所需容量。
+ 如果您删除了实例类型，则该类型正在运行的实例将保留其上次权重，即使不再定义。

## 实例权重行为
<a name="instance-weighting-behaviors"></a>

当您使用实例权重时，Amazon EC2 Auto Scaling 的行为方式如下：
+ 当前容量等于或高于所需容量。如果启动的实例超出剩余的所需容量单位，则当前容量可能会超过所需容量。例如，假设您指定了两个实例类型 `c5.2xlarge` 和 `c5.12xlarge`，并且您为 `c5.2xlarge` 分配了实例权重 2，为 `c5.12xlarge` 分配了实例权重 12。如果还剩 5 个单位才能实现所需容量，Amazon EC2 Auto Scaling 会预配置 `c5.12xlarge`，所需容量将超过 7 个单位。
+ 启动实例时，Amazon EC2 Auto Scaling 优先考虑在可用区之间分配容量并遵守分配策略，而不是超出所需容量。
+ 使用您的首选分配策略，Amazon EC2 Auto Scaling 可以超出最大容量限制，以便在可用区之间保持平衡。Amazon EC2 Auto Scaling 强制执行的硬性限制为所需容量加上最大权重。