Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用容量预留

要开始使用容量预留,您需要在所需的可用区中创建容量预留。在您创建容量预留之后,可以在预留容量中启动实例,实时查看其容量使用情况,以及根据需要增加或减少其容量。

默认情况下,容量预留自动将新实例与具有匹配属性(实例类型、平台和可用区)的运行中实例进行匹配。换而言之,具有匹配属性的实例自动使用容量预留的容量运行。不过,您还可以将容量预留定位到特定工作负载。这使您可以明确控制允许哪些实例在预留容量中运行。

您可以指定预留如何结束。您可以选择手动取消容量预留或者在指定时间自动结束它。如果您指定结束时间,则容量预留在指定时间的一小时之内取消。例如,如果您指定“5/31/2019, 13:30:55”,则容量预留可确保在 2019 年 5 月 31 日的 13:30:55 到 14:30:55 之间结束。预留结束后,您无法再将实例定位到容量预留中。在预留容量中运行的实例继续运行,不会中断。如果定位到容量预留中的实例停止,在您删除其容量预留定位首选项或者将其配置为定位到其他容量预留之前,无法重新启动这些实例。

创建容量预留

创建容量预留之后,容量立即可用。只要容量预留活动,该容量就为您预留,您可以随时在其中启动实例。如果容量预留处于开放状态,具有匹配属性的新实例和现有实例自动使用容量预留的容量运行。如果容量预留处于 targeted 状态,只有专门定位到其中的实例才能在预留容量中运行。

如果出现以下情况之一,创建容量预留的请求会失败:

  • Amazon EC2没有足够的容量来满足请求。请稍后重试、尝试不同的可用区或者尝试较小的容量。如果您的应用程序灵活地跨实例类型和大小,请尝试不同的实例属性。

  • 请求的数量超过了选定实例类型的个按需实例限制。对于请求的实例类型,增加个按需实例限制并重试。有关更多信息,请参阅 Amazon EC2 服务限制

使用控制台创建容量预留

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 选择容量预留,然后选择创建容量预留

  3. 在“Create a 容量预留 (创建容量预留)”页面上的实例详细信息部分中,配置以下设置。您启动的实例的实例类型、平台和可用区必须与您在此处指定的实例类型、平台和可用区匹配,否则将不会应用容量预留。例如,开放的容量预留将不匹配,并且明确针对此容量预留的实例启动将失败。

    1. 实例类型 — 在预留容量中启动的实例类型。

    2. 启动 EBS 优化的实例 — 指定是否为 EBS 优化的实例预留容量。一些实例类型默认情况下会选中此选项。有关 EBS 优化实例的更多信息,请参阅 Amazon Elastic Block Store

    3. 启动时附加实例存储 — 指定在容量预留中启动的实例是否使用临时块级别存储。实例存储卷上的数据仅在相关实例的生命周期内保留。

    4. 平台 — 实例的操作系统。

    5. 可用区 — 在其中预留容量的可用区。

    6. 租赁 — 指定要在共享硬件(默认)还是专用实例上运行。

    7. 数量 — 要预留容量的实例数。如果指定的数量超过了选定实例类型的剩余个按需实例限制,将拒绝该请求。

  4. 预留详细信息部分中配置以下设置:

    1. 预留结束 — 选择以下选项之一:

      • 手动 — 容量将预留,直至您明确取消。

      • 特定时间 — 容量预留在指定的日期和时间自动。

    2. 实例资格 — 选择以下选项之一:

      • 开放 —(默认值)容量预留匹配任意具有匹配属性(实例类型、平台和可用区)的实例。如果您启动具有匹配属性的实例,则会自动将其放置到预留容量中。

      • 定位 — 容量预留仅接受具有匹配属性(实例类型、平台和可用区)并明确定位到预留中的实例。

  5. 选择请求预留

使用 AWS CLI 创建容量预留

使用 create-capacity-reservation 命令:

aws ec2 create-capacity-reservation --instance-type instance_type --instance-platform platform_type --availability-zone az --instance-count quantity

在现有容量预留中启动实例

您可在任意具有匹配属性(实例类型、平台和可用区)和充足容量的现有容量预留中启动实例。在容量预留中启动实例会将其可用容量减去所启动实例的数量。例如,如果您启动 3 个实例,容量预留的可用容量将减去 3。

使用控制台在现有容量预留中启动实例

  1. 通过从控制面板实例选择启动实例来打开启动实例向导。

  2. 选择 Amazon 系统映像 (AMI) 和实例类型。

  3. 完成配置实例详细信息页面。对于容量预留,请选择下列选项之一:

    • 开放 — 在具有匹配属性以及对于所选实例数具有足够容量的任意容量预留中启动实例。如果没有匹配的容量预留具有足够容量,实例使用按需容量。

    • 特定容量预留 — 在此容量预留中启动实例。如果此容量预留没有足够的容量用于所选实例数量,则实例启动失败。

    • — 阻止实例在容量预留中启动。

  4. 完成剩余步骤以启动实例。

使用 AWS CLI 在现有容量预留中启动实例

使用 run-instances 命令并指定 --capacity-reservation-specification 参数。

以下示例在任意具有匹配属性和可用容量的开放容量预留中启动 t2.micro 实例。

aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --availability-zone us-east-1b --capacity-reservation-specification CapacityReservationPreference=open

以下示例在 targeted 容量预留中启动 t2.micro 实例。

aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --availability-zone us-east-1b --capacity-reservation-specification CapacityReservationTarget=[{CapacityReservationId=cr-a1234567}]

修改容量预留

在创建之后,您可以更改活动容量预留的属性。在某个容量预留过期后,或者您明确取消后,您无法对其进行修改。

修改容量预留时,您只能增加或减少数量以及更改释放容量的方式。无法更改容量预留的实例类型、EBS 优化、实例存储设置、平台、可用区或实例资格。如果您需要修改任意这些属性,我们建议您取消预留,然后使用所需属性创建新的预留。

如果指定的新数量超过了选定实例类型的剩余个按需实例限制,更新将失败。

使用控制台修改容量预留

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 选择容量预留,选择要修改的容量预留,然后选择编辑

  3. 根据需要修改数量预留结束选项,然后选择保存更改

使用 AWS CLI 修改 容量预留

使用 modify-capacity-reservations 命令:

aws ec2 modify-capacity-reservation --capacity-reservation-id reservation_id --instance-count quantity --end-date-type limited|unlimited --end-date expiration_date

修改实例的容量预留设置

您可以随时修改已停止实例的容量预留设置,如下所示:

  • 在具有匹配属性(实例类型、平台和可用区)以及可用容量的任意 容量预留 上启动。

  • 在特定容量预留中启动实例。

  • 阻止实例在容量预留中启动。

使用控制台修改实例的容量预留设置

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 选择实例并选择要修改的实例。停止实例(如果尚未停止)。

  3. 依次选择操作修改容量预留设置

  4. 对于容量预留,请选择下列选项之一:

    • 开放 — 在任意具有匹配属性(实例类型、平台和可用区)以及可用容量的开放容量预留上启动实例。如果没有匹配的容量预留具有可用容量,实例使用按需容量。

    • 特定 容量预留 — 在此容量预留中运行实例。如果实例属性(实例类型、平台和可用区)与容量预留的属性不匹配,或者如果所选容量预留没有足够的容量,则实例启动失败。

    • — 阻止实例在容量预留中运行。

使用 AWS CLI 修改实例的容量预留设置

使用 modify-instance-capacity-reservation-attributes 命令:

aws ec2 modify-instance-capacity-reservation-attributes --instance-id instance_id --capacity-reservation-specification 'CapacityReservationPreference=none|open'

查看容量预留

容量预留有这些可能的状态:

  • active — 容量可供使用。

  • expired — 容量预留已在您预留请求中指定的日期和时间自动失效。预留容量不再可供您使用。

  • cancelled — 已手动取消容量预留。预留容量不再可供您使用。

  • pending — 容量预留请求已成功,但容量预配置仍待处理。

  • failed — 容量预留请求失败。请求可能由于无效的请求参数、容量限制或实例限制等约束条件失败。您可以查看 60 分钟内的失败请求。

使用控制台查看容量预留

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 选择容量预留并选择要查看的容量预留。

  3. 选择查看此预留已启动的实例

使用 AWS CLI 查看容量预留

使用 describe-capacity-reservations 命令:

aws ec2 describe-capacity-reservations

取消 容量预留

如果不在需要预留容量,您可以随时取消容量预留。取消容量预留之后,该容量将立即释放,不再保留供您使用。

您可以取消空容量预留以及具有正在运行的实例的容量预留。如果您取消具有正在运行的实例的容量预留,该实例将继续在容量预留之外运行,采用标准个按需实例费率,或者,如果您有活动的匹配区域性预留实例,则可享受折扣费率。

取消容量预留之后,定位到其中的实例无法再启动。修改这些实例,使其定位到不同容量预留、启动到任意处于“开放”状态且具有匹配属性和充足容量的容量预留,或者避免将其启动到容量预留中。有关更多信息,请参阅修改实例的容量预留设置

使用控制台取消容量预留

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 选择容量预留,然后选择要取消的容量预留。

  3. 依次选择取消预留取消预留

使用 AWS CLI 取消容量预留

使用 cancel-capacity-reservation 命令:

aws ec2 cancel-capacity-reservation --capacity-reservation-id reservation_id