本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用容量预留在特定可用区中预留容量
Amazon EC2 按需容量预留允许您在特定可用区域预留计算容量。要开始在 Auto Scaling 中使用容量预留,请先在特定的可用区域中创建容量预留或容量预留组。然后,您可以在创建 Auto Scaling 组或更新现有组时向该组添加容量预留首选项。
要创建容量预留,请参阅 Amazon EC2 用户指南中的创建容量预留。要创建容量预留组,请参阅 Amazon EC2 用户指南中的创建容量预留组。
容量预留首选项
在使用按需容量之前,优先考虑容量预留中的预留容量,从而帮助您高效地使用容量预留。您可以从以下容量预留首选项中进行选择:
-
默认-Auto Scaling 使用启动模板中的容量预留首选项或打开的容量预留。
-
无 — Auto Scaling 不会将实例启动到容量预留中。实例将以按需容量运行。
-
仅限容量预留 — Auto Scaling 只会将实例启动到容量预留组或容量预留组中。如果容量不可用,实例将无法启动。
-
首先是容量预留 — Auto Scaling 会将实例启动到容量预留组或容量预留组中。如果容量不可用,实例将以按需容量运行。
如果选择 “仅限容量预留” 或 “先容量预留”,则可以指定容量预留目标。
注意
您必须选择容量预留首选项。容量预留目标是可选的。
容量预留首选项和启动模板的注意事项
如果您先选择 “仅限容量预留” 或 “容量预留”,请考虑以下事项:
-
如果您选择仅限容量预留或先选择容量预留,Auto Scaling 将使用在 Auto Scaling 组中指定的容量预留目标,而不是启动模板中的容量预留目标。
-
如果您先选择 “仅限容量预留” 或 “容量预留”,但未指定容量预留目标,则 Auto Scaling 将使用启动模板容量预留目标或打开的容量预留。
容量预留目标规范
如果您选择 “仅限容量预留” 或 “先容量预留”,则可以使用以下容量预留目标选项:
-
打开 — Auto Scaling 将在任何已打开的容量预留中启动实例。如果您选择了 “仅限容量预留”,但容量不可用,则实例将无法启动。如果您先选择容量预留但容量不可用,则实例将以按需容量启动。
-
指定容量预留-Auto Scaling 将在指定的容量预留中启动实例。如果您选择了 “仅限容量预留”,但容量不可用,则实例将无法启动。如果您先选择容量预留但容量不可用,则实例将以按需容量启动。
-
指定容量预留资源组-Auto Scaling 会将实例启动到指定容量预留资源组中已打开的容量预留中。如果您选择了 “仅限容量预留”,但容量不可用,则实例将无法启动。如果您先选择容量预留但容量不可用,则实例将以按需容量启动。
可用区平衡和容量预留
即使您使用容量预留首选项,Auto Scaling 也会优先考虑可用区平衡。这意味着:
-
使用
capacity-reservations-first
— Auto Scaling 组将 AZs 首先平均分配实例,然后使用容量预留(如果可用)。如果可用区中没有容量预留,则实例将按需启动以保持可用区平衡。 -
使用
capacity-reservations-only
— Auto Scaling 组将仅使用容量预留。 AZs 根据容量预留的可用位置,这可能会导致实例分布不均匀。
示例
如果您在 az-a 中有 10 个容量预留,AZ-b 中有 3 个容量预留,az-c 中有 1 个容量预留,并且所需容量为 9 个实例:
-
如果使用 9
capacity-reservations-first
个实例,则每个可用区 3 个实例(保持可用区平衡),有些实例可能会按需运行。 -
使用 9
capacity-reservations-only
个实例会导致根据可用容量预留分配不均匀。