休眠中断的竞价型实例 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

休眠中断的竞价型实例

您可以指定 Amazon EC2 在竞价型实例中断时将其休眠。有关更多信息,请参阅指定中断行为

当 Amazon EC2 休眠竞价型实例时,会出现以下情况:

  • 在实例从 Amazon EC2 收到信号时,该代理将提示操作系统休眠。如果未安装该代理,或底层操作系统不支持休眠,或者没有足够的卷空间以保存实例内存,休眠将失败并且 Amazon EC2 停止该实例。

  • 实例内存 (RAM) 保留在根卷上。

  • 将会保留实例的 EBS 卷和私有 IP 地址。

  • 不会保留实例存储卷和公有 IP 地址(非弹性 IP 地址)。

有关将按需实例休眠的信息,请参阅休眠 Linux 按需型实例

注意事项

  • 只有 Amazon EC2 才能让竞价型实例休眠。您无法手动让竞价型实例休眠。

  • 只有 Amazon EC2 才能恢复休眠的竞价型实例。您无法手动恢复休眠的竞价型实例。

  • 当有容量可用时,Amazon EC2 会恢复实例。

  • 当 Amazon EC2 休眠竞价型实例时,休眠立即开始。您将收到一条中断通知,但不会在竞价型实例中断之前留出两分钟的时间。

  • 在实例进行休眠过程中,实例运行状况检查可能会失败。

  • 在休眠过程完成时,实例状态为 stopped

  • 在实例休眠时,仅向您收取 EBS 卷费用。对于 EC2 实例集和 Spot 实例集,如果具有很多休眠的实例,则可能会超出您的账户的 EBS 卷数限制。

  • 确保您熟知休眠实例的影响。有关实例休眠可能会发生情况的更多信息,请参阅 重启、停止、休眠和终止之间的区别

先决条件

要使竞价型实例休眠,必须满足以下先决条件:

竞价型请求类型

竞价型实例请求类型 – 必须为 persistent。您不能在竞价型实例请求中指定启动组。

EC2 机群或竞价型实例集请求类型 – 必须为 maintain

支持的 Linux AMI

以下支持 AMI 包含休眠代理。要使用以下 AMI 的早期版本,您必须安装休眠代理

  • Amazon Linux 2 2019.08.29 或更高版本

  • Amazon Linux AMI 2017.09.1 或更高版本

  • Ubuntu Xenial 16.04 20171121 或更高版本 ¹

¹ 要使用早期版本的 Ubuntu Xenial AMI,它必须具有由 Amazon 调优的高于 4.4.0-1041 的 Ubuntu 内核版本(linux-aws)。

有关支持的 Windows AMI 的信息,请参阅 Amazon EC2 用户指南(适用于 Windows 实例)中的先决条件

启动休眠代理

我们建议您使用用户数据在实例启动时启动该代理。或者,您也可以手动启动该代理。有关更多信息,请参阅在启动时启动休眠代理

支持的实例系列

C3、C4、C5、M4、M5、R3、R4

实例 RAM 大小

必须小于 100GB。

根卷类型

必须是 EBS 卷,而不是实例存储卷。

EBS 根卷大小

必须足够大以在休眠期间存储实例内存 (RAM)。

EBS 根卷加密 – 推荐但不是竞价型实例休眠的先决条件

我们强烈建议您将加密的 EBS 卷作为根卷,因为在休眠期间实例内存存储在根卷上。这确保在卷上静态存储数据以及在实例和卷之间移动数据时,将加密内存 (RAM) 内容。

可以使用以下三个选项之一,以确保根卷是加密的 EBS 卷:

  • EBS encryption by default(EBS 原定设置加密) - 您可以启用 EBS 原定设置加密,以确保对在您的 Amazon 账户中创建的所有新 EBS 卷进行加密。这样,您就可以为实例启用休眠,而无需在实例启动时指定加密意图。有关更多信息,请参阅默认加密

  • EBS "single-step" encryption(EBS“单步”加密) - 您可以从未加密的 AMI 中启动 EBS 支持的加密 EC2 实例,并且还可以同时启用休眠。有关更多信息,请参阅将加密与 EBS 支持的 AMI 结合使用

  • Encrypted AMI(加密的 AMI) - 您可以使用加密的 AMI 启动实例以启用 EBS 加密。如果 AMI 没有加密的根快照,则可以将其复制到新的 AMI 并请求加密。有关更多信息,请参阅 在复制过程中将未加密映像加密复制 AMI

在您的 Linux AMI 上安装休眠代理

您必须在您的 AMI 上安装休眠代理,除非您计划使用已包含该代理的 AMI。

以下说明介绍了如何在 Linux AMI 上安装休眠代理。有关在 Windows AMI 上安装休眠代理的说明,请参阅 Amazon EC2 用户指南(适用于 Windows 实例)中的在您的 Windows AMI 上安装休眠代理

要在 Amazon Linux AMI 上安装休眠代理
  1. 确认您的内核支持休眠,并在必要时更新内核。

    sudo yum update kernel
  2. 如果您的 AMI 不包含该代理,请安装该代理。

    sudo yum update; sudo yum install hibagent
要在 Ubuntu AMI 上安装休眠代理

如果您的 AMI 不包含该代理,请安装该代理。休眠代理仅在 Ubuntu 16.04 或更高版本上可用。

sudo apt-get install hibagent

在启动时启动休眠代理

休眠代理必须在实例启动时运行,无论该代理是包含在您的 AMI 中,还是您自行安装的。

以下说明介绍了如何在 Linux 实例上启动休眠代理。有关在 Windows AMI 上启动休眠代理的说明,请参阅 Amazon EC2 用户指南(适用于 Windows 实例)中的在启动时启动休眠代理

在竞价型实例上启动休眠代理

按照以下步骤使用您的首选启动方法请求一个竞价型实例,然后将以下内容添加到用户数据中。

#!/bin/bash /usr/bin/enable-ec2-spot-hibernation