

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

# AWS Batch 的实例类型分配策略
<a name="allocation-strategies"></a>

创建托管计算环境后，AWS Batch将从指定的`[instanceTypes](https://docs.aws.amazon.com/batch/latest/APIReference/API_ComputeResource.html#Batch-Type-ComputeResource-instanceTypes)`中选择最适合作业要求的实例类型。分配策略定义当AWS Batch需要额外容量时的行为。此参数不适用于在 Fargate 资源上运行的作业。请勿指定此参数。

`BEST_FIT`（默认值）  
AWS Batch会选择最适合作业要求的实例类型，并优先考虑成本最低的实例类型。如果选定实例类型没有额外实例可用，AWS Batch将等待额外实例可用。如果没有足够可用的实例，或如果用户达到 [Amazon EC2 服务限额](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html)，则其他作业只有在当前正在运行的作业完成之后才会运行。此分配策略可降低成本，但会限制扩展。如果将竞价型实例集与`BEST_FIT`一起使用，则必须指定竞价型实例集 IAM 角色。更新计算环境时不支持`BEST_FIT`。有关更多信息，请参阅 [更新中的计算环境 AWS Batch](updating-compute-environments.md)。  
AWS Batch 管理您账户中的 AWS 资源。默认情况下，具有 BEST\$1FIT 分配策略的计算环境最初使用了启动配置。但是，随着时间的推移，对新 AWS 账户使用启动配置将受到限制。因此，从 2024 年 4 月下旬开始，新创建的 BEST\$1FIT 计算环境将默认为启动模板。如果您的服务角色缺乏管理启动模板的权限，则 AWS Batch 可以继续使用启动配置。现有计算环境将继续使用启动配置。

`BEST_FIT_PROGRESSIVE`  
AWS Batch会选择足够大的额外实例类型，以满足队列中作业的要求。优先选择每个 vCPU 成本较低的实例类型。如果以前选择的实例类型没有可用的额外实例，AWS Batch将选择新的实例类型。  
对于[多节点并行作业](multi-node-parallel-jobs.md#multi-node-parallel-jobs.title)，AWS Batch 会选择可用的最佳实例类型。如果该实例类型因容量不足而不可用，则不会启动该系列中的其他实例类型。

`SPOT_CAPACITY_OPTIMIZED`  
AWS Batch会选择一个或以上足够大的实例类型，以满足队列中作业的要求。优先选择不太可能被中断的实例类型。此分配策略仅适用于竞价型实例计算资源。

`SPOT_PRICE_CAPACITY_OPTIMIZED`  
价格和容量优化分配策略同时考虑价格和容量，以选择中断可能性最小、价格尽可能低的竞价型实例池。此分配策略仅适用于竞价型实例计算资源。  
建议在大多数情况下使用`SPOT_PRICE_CAPACITY_OPTIMIZED`而不是`SPOT_CAPACITY_OPTIMIZED`。

`BEST_FIT_PROGRESSIVE` 和 `BEST_FIT` 策略使用按需型实例或竞价型实例，`SPOT_CAPACITY_OPTIMIZED` 和 `SPOT_PRICE_CAPACITY_OPTIMIZED` 策略使用竞价型实例。但是，AWS Batch可能需要超出`maxvCpus`以满足容量要求。在这种情况下，AWS Batch始终不会超过`maxvCpus`一个以上的实例。