本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理 On-Demand 实例和竞价型实例
您可以在单个 Auto Scaling 组内启动并自动扩展 On-Demand 实例和竞价型实例队列。可以同时使用以下选项来配置 Auto Scaling 服务如何管理您的环境中的竞价型 On-Demand 实例和实例。
您可以使用 Elastic Beanstalk 控制台、命名空间配置选项、Amazon CLI 或 EB CLI 为环境配置这些选项。
以下选项是 aws:ec2:instances 命名空间的一部分:
-
EnableSpot:当设置为true时,此设置会为您的环境启用竞价型实例请求。 -
SpotFleetOnDemandBase‐设置您的 Auto Scaling 组预置的最小 On-Demand实例数,然后再考虑在环境扩展时考虑竞价型实例。 -
SpotFleetOnDemandAboveBasePercentage‐作为您的 Auto Scaling 组在 On-Demand实例之外预置的额外容量的一部分的SpotOnDemandBase实例百分比。
全面列出的选项与 aws:autoscaling:asg 命名空间中的以下选项相关联:
-
MinSize:自动扩缩组中所需的最小实例数量。 -
MaxSize:自动扩缩组中所需的最大实例数量。
重要
EnableSpot 选项设置可能导致 Elastic Beanstalk 将具有启动配置的现有环境迁移到启动模板。此行为需要具备管理启动模板的必要权限。这些权限包含在我们的托管式策略中。如果您使用自定义策略而非托管式策略,则在更新环境配置时,创建或更新环境可能会失败。有关更多信息和重要注意事项,请参阅将 Elastic Beanstalk 环境迁移到启动模板。
同时应用两组命名空间选项
以下几点描述了将这些选项设置组合起来使用对环境扩展有何影响。
-
只有
MinSize决定了您环境的初始容量,即您希望运行的最低实例数。 -
SpotFleetOnDemandBase不会影响初始容量。启用 Spot 后,此选项决定在考虑任何竞价型 On-Demand 实例之前预置了多少实例。 -
考虑何时
SpotFleetOnDemandBase小于MinSize。您仍然会得到完全的MinSize实例作为初始容量。SpotFleetOnDemandBase其中至少必须是 On-Demand 实例。 -
考虑何时
SpotFleetOnDemandBase大于MinSize。随着环境的扩展,将保证您至少可获得等于两个值之间的差值的额外实例数。换句话说,在满足SpotFleetOnDemandBase要求 On-Demand 之前,可以保证您至少获得一个额外的(SpotFleetOnDemandBase - MinSize)实例。
Single-instance 环境
在生产环境中,将 Spot 实例作为可扩展、负载均衡的环境的一部分尤其有用。我们建议不要在单实例环境中使用 Spot。如果 Spot 实例不可用,您可能会丢失环境的所有容量(单实例)。您仍可以在单实例环境中使用 Spot 实例进行开发或测试。此种情况下,请务必将 SpotFleetOnDemandBase 和 SpotFleetOnDemandAboveBasePercentage 均设置为零。任何其他设置都会生成一个 On-Demand 实例。
扩展选项设置示例
以下示例演示了设置各种调整选项的不同方案。所有示例都采用已启用 Spot 实例请求的负载均衡环境。
例 1: On-Demand 并将 Spot 作为初始容量的一部分
| 选项 | 命名空间 | 值 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
在此示例中,环境从十个实例开始,其中七个是 On-Demand (四个基本实例,六个高于基本实例的 50%),三个是 Spot。该环境最多可扩展到 24 个实例。当它向外扩展时,队列 On-Demand 中四个基本 On-Demand 实例之上的部分保持在 50%,总共最多 24 个实例,其中 14 个是 On-Demand (四个基本实例,20个基础实例的 50%),十个是竞价型实例。
例 2:所有 On-Demand 初始容量
| 选项 | 命名空间 | 值 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
在此示例中,环境从四个实例开始,所有实例都是 On-Demand。该环境最多可扩展到 24 个实例。当它向外扩展时,队列 On-Demand 中四个基本 On-Demand 实例之上的部分保持在 50%,总共最多 24 个实例,其中 14 个是 On-Demand (四个基本实例,20个基础实例的 50%),十个是竞价型实例。
例 3:超出初始容量的额外 On-Demand 基础
| 选项 | 命名空间 | 值 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
在此示例中,环境从三个实例开始,所有实例都是 On-Demand。该环境最多可扩展到 24 个实例。在最初的三个实例之上的第一个附加实例是 On-Demand,完成四个基本 On-Demand 实例。随着它的进一步扩展,队列 On-Demand 中四个基本 On-Demand 实例之上的部分将保持在 50%,总共最多 24 个实例,其中 14 个是 On-Demand (四个基本实例,20个基础实例的 50%),十个是竞价型实例。