Spot 队列实例权重
在请求 Spot 实例 队列时,可以使用实例权重定义每种实例类型为应用程序性能贡献的容量单位,并相应地为每个 Spot 容量池调整最高价。
默认情况下,您指定的价格是每实例小时 价格。在使用实例权重功能时,您指定的价格是每单位小时 价格。您可以将某种实例类型的价格除以它表示的单位数来计算每单位小时价格。竞价型实例集通过将目标容量除以实例权重,计算出要启动的竞价型实例数。如果结果不是整数,则 Spot 队列会将其向上舍入到下一个整数,以便队列的大小不低于其目标容量。Spot 队列可以选择您在启动规范中指定的任意池,即使所启动实例的容量超过请求的目标容量也是如此。
下表提供了确定目标容量为 10 的 Spot 队列请求的每单位价格的计算示例。
实例类型 | 实例权重 | 每实例小时价格 | 每单位小时价格 | 启动的实例数 |
---|---|---|---|---|
r3.xlarge |
2 |
0.05 美元 |
0.025 (0.05 除以 2) |
5 (10 除以 2) |
实例类型 | 实例权重 | 每实例小时价格 | 每单位小时价格 | 启动的实例数 |
---|---|---|---|---|
r3.8xlarge |
8 |
0.10 美元 |
0.0125 (0.10 除以 8) |
2 (10 除以 8,结果向上舍入) |
按如下所示使用 Spot 队列实例权重,在执行时具有每单位最低价格的池中预置所需的目标容量:
-
采用实例(默认设置)或采用所选单位(如虚拟 CPU、内存、存储或吞吐量)为 Spot 队列设置目标容量。
-
设置每单位价格。
-
对于每个启动配置,请指定权重,这是实例类型向目标容量提供的单位数。
实例权重示例
考虑一个具有以下配置的 Spot 队列请求:
-
目标容量为 24
-
一个实例类型为
r3.2xlarge
且权重为 6 的启动规范 -
一个实例类型为
c3.xlarge
且权重为 5 的启动规范
每个权重表示相应实例类型向目标容量提供的单位数。如果第一个启动规范提供了最低的每单位价格 (r3.2xlarge
每实例小时价格除以 6),Spot 队列将启动其中的四个实例 (24 除以 6)。
如果第二个启动规范提供了最低的每单位价格(c3.xlarge
每实例小时价格除以 5),则竞价型实例集会启动 5 个这样的实例(24 除以 5,结果向上舍入)。
实例权重和分配策略
考虑一个具有以下配置的 Spot 队列请求:
-
目标容量为 30
-
一个实例类型为
c3.2xlarge
且权重为 8 的启动规范 -
一个实例类型为
m3.xlarge
且权重为 8 的启动规范 -
一个实例类型为
r3.xlarge
且权重为 8 的启动规范
Spot 队列会启动四个实例 (30 除以 8,结果向上舍入)。使用 diversified
策略时,竞价型实例集会在所有三个池中各启动一个实例,并在三个池中提供最低每单位价格的那个池中启动第四个实例。