多种实例类型的分配策略 - Amazon A EC2 uto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

多种实例类型的分配策略

当您使用多种实例类型时,您可以根据可能的实例类型管理 Amazon A EC2 uto Scaling 如何满足您的按需容量和竞价。为此,您需要指定多个分配策略

要查看混合实例组的最佳实践,请参阅创建混合实例组的设置概述

竞价型实例

Amazon A EC2 uto Scaling 为竞价型实例提供了以下分配策略:

price-capacity-optimized(推荐)

价格和容量优化分配策略同时考虑价格和容量,以选择中断可能性最小、价格尽可能低的竞价型实例池。

我们建议您在入门时使用此策略。有关更多信息,请参阅 Amazon 博客中的EC2竞价型实例 price-capacity-optimized分配策略简介

capacity-optimized

Amazon A EC2 uto Scaling 从池中请求您的竞价型实例,其容量最适合正在启动的实例数量。

使用竞价型实例,定价会根据长期供需趋势缓慢发生变化。但是,容量会实时波动。capacity-optimized 策略通过查看实时容量数据并预测可用性最高的池,自动在可用性最高的池中启动 Spot 实例。这有助于最大限度减少工作负载的可能中断,这些工作负载可能会因重启工作和检查点操作而导致更高的中断成本。要使某些实例类型有更高的首先启动机会,请使用 capacity-optimized-prioritized

capacity-optimized-prioritized

设置启动模板覆盖的实例类型顺序,从最高优先级到最低优先级(从列表中的第一项到最后一项降序列出)。Amazon A EC2 uto Scaling 会尽最大努力尊重实例类型优先级,但会首先针对容量进行优化。对于必须最大限度地减少中断可能性,但对某些实例类型的偏好也很重要的工作负载来说,这是一个不错的选择。如果将按需型分配策略设置为 prioritized,则在满足按需型容量时将应用相同的优先级。

lowest-price(不推荐)

Amazon A EC2 uto Scaling 在您为最低价格池设置指定的 N 个竞价池中,使用可用区内价格最低的池请求您的竞价型实例。例如,如果您指定四种实例类型和四个可用区,则您的自动扩缩组可以访问最多 16 个竞价型池。(每个可用区内四个。) 如果您为分配策略指定两个竞价型池 (N=2),则您的自动扩缩组可以使用每个可用区的两个价格最低的池来满足竞价型容量。

由于此策略仅考虑实例价格而不考虑容量可用性,因此可能会导致较高的中断率。

Amazon A EC2 uto Scaling 会努力从您指定的 N 个池中提取竞价型实例。但是,如果池在满足所需容量之前用完竞价容量,Amazon A EC2 uto Scaling 会继续通过从价格第二低的池中提取资金来满足您的请求。为了达到您所需的容量,您可能会从超过指定的 N 个池接收竞价型实例。同样,如果大多数池没有竞价容量,则您可能会从少于指定的 N 个池接收完整所需容量。

注意

如果您将竞价型实例配置为在 AMDSEV-SNP 开启的情况下启动,则需要支付额外的每小时使用费,该费用相当于所选实例类型的按需小时费率的 10%。如果分配策略使用价格作为输入,则 Amazon A EC2 uto Scaling 不包括这笔额外费用;只使用现货价格。

按需型实例

Amazon A EC2 uto Scaling 提供了以下可用于按需实例的分配策略:

lowest-price

Amazon A EC2 uto Scaling 会根据当前的按需价格自动在每个可用区部署价格最低的实例类型。

为了满足您的所需容量,您可能会在每个可用区中获得一种以上实例类型的按需型实例。这取决于您请求多大容量。

prioritized

在满足按需容量时,Amazon A EC2 uto Scaling 会根据启动模板替代列表中实例类型的顺序确定首先使用哪种实例类型。例如,假设您按以下顺序指定三个启动模板覆盖:c5.largec4.largec3.large。在您的按需型实例启动时,自动扩缩组满足按需型容量的顺序是从 c5.large 开始,然后是 c4.large,最后是 c3.large

管理按需实例的优先级顺序时,请考虑以下事项:

  • 您可以通过使用 Savings Plans 或预留实例预先支付使用费用,以获得按需实例的大幅折扣。有关更多信息,请参阅 Amazon EC2 定价页面。

  • 对于预留实例,如果 Amazon A EC2 uto Scaling 启动匹配的实例类型,则按常规按需实例定价的折扣费率适用。因此,如果存在未使用的 c4.large 预留实例,则可以设置实例类型优先级,将预留实例的最高优先级赋予 c4.large 实例类型。当 c4.large 实例启动时,您可享受预留实例定价。

  • 使用 Savings Plans,在使用亚马逊实例储蓄计划或计算储蓄计划时,您的常规按需EC2实例定价折扣费率适用。通过 Savings Plans,您可以更灵活地确定实例类型的优先级。只要您使用 Savings Plan 涵盖的实例类型,就可以按任何优先级顺序设置它们。您也可以偶尔更改实例类型的整个顺序,同时仍可享受 Savings Plan 折扣费率。有关 Savings Plans 的更多信息,请参阅 Savings Plans 用户指南

分配策略如何与权重配合使用

当您在覆盖(或在组级别的 "DesiredCapacityType": "vcpu""DesiredCapacityType": "memory-mib")中指定 WeightedCapacity 参数时,分配策略的工作方式与用于其他自动扩缩组时完全相同。

唯一的区别是,当您选择 lowest-priceprice-capacity-optimized 策略时,您的实例来自每个可用区中单位价格最低的实例池。有关更多信息,请参阅 配置自动扩缩组以使用实例权重

例如,假设您有一个 Auto Scaling 组,其中包含多个不同数量的实例类型vCPUs。针对竞价和按需分配策略使用 lowest-price。如果您选择根据每种实例类型的 v CPU 计数来分配权重,Amazon A EC2 uto Scaling 将在配送时根据您分配的权重值(例如,每 vCPU)启动价格最低的实例类型。如果是竞价型实例,则表示每 v 的最低竞价价格CPU。 如果是按需实例,则这意味着每 v 的最低按需价格CPU。