恢复实例 - Amazon Elastic Compute Cloud

恢复实例

要在系统状态检查失败时自动恢复实例,您可以使用实例的默认配置或创建 Amazon CloudWatch 告警。如果实例因需要 AWS 参与才能修复的底层硬件故障或问题而无法访问,实例将自动恢复。

恢复的实例与原始实例相同,包括实例 ID、私有 IP 地址、弹性 IP 地址以及所有实例元数据。如果受损实例具有公有 IPv4 地址,它会在恢复后保留公有 IPv4 地址。如果受损实例位于放置组中,则已恢复的实例将在放置组中运行。在实例恢复过程中,实例作为重启的一部分迁移,并且内存中的所有数据都将丢失。

需要实例恢复的问题示例:

  • 网络连接丢失

  • 系统电源损耗

  • 物理主机上的软件问题

  • 物理主机上影响到网络连接状态的硬件问题

基于实例配置的简化自动恢复

支持简化自动恢复的实例将默认配置以恢复失败的实例。默认配置适用于您启动的新实例和之前启动的现有实例。针对系统状态检查故障启动了简化自动恢复。简化自动恢复不会在服务运行状况控制面板事件期间或影响底层硬件的任何其他事件期间进行。有关更多信息,请参阅 实例恢复故障排除

当简化的自动恢复事件成功后,您将收到 AWS Health 控制面板事件通知。当简化的自动恢复事件失败后,您将收到 AWS Health 控制面板事件和电子邮件通知。您还可以使用 Amazon EventBridge 规则通过以下事件代码监控简化的自动恢复事件:

  • AWS_EC2_SIMPLIFIED_AUTO_RECOVERY_SUCCESS — 成功的事件

  • AWS_EC2_SIMPLIFIED_AUTO_RECOVERY_FAILURE — 失败的事件

有关更多信息,请参阅 Amazon EventBridge 规则

要求

如果实例具有以下特性,则其支持简化自动恢复:

  • 使用 defaultdedicated 实例租赁。

  • 不使用 Elastic Fabric Adapter。

  • 使用以下其中一种实例类型:

    • 通用型:A1 | M3 | M4 | M5 | M5a | M5n | M5zn | M6a | M6g | M6i | M6in | M7a | M7g | M7i | M7i-flex | T1 | T2 | T3 | T3a | T4g

    • 计算优化型:C3 | C4 | C5 | C5a | C5n | C6a | C6g | C6gn | C6i | C6in | C7a | C7g | C7gn | C7i

    • 内存优化型:R3 | R4 | R5 | R5a | R5b | R5n | R6a | R6g | R6i | R6in | R7a | R7g | R7i | R7iz | u-3tb1 | u-6tb1 | u-9tb1 | u-12tb1 | u-18tb1 | u-24tb1 | X1 | X1e | X2iezn

    • 加速计算型:G3 | G3s | G5g | Inf1 | P2 | P3 | VT1

    • 高性能计算 Hpc6a | Hpc7a | Hpc7g

  • 实例没有实例存储卷。如果一种 Nitro 实例类型具有实例存储卷,或者一个基于 Xen 的实例具有映射到正在使用的 AMI 中的实例存储卷,将无法自动恢复此实例。

    重要

    如果为一个实例挂载了实例存储卷,停止和启动此实例将导致实例存储卷上的所有数据丢失。您需要定期将实例存储卷上的数据备份到更持久的存储中,例如 Amazon EBS、Amazon S3 或 Amazon EFS。如果未能通过系统状态检查,您可以停止和启动具有实例存储卷的实例,然后利用备份数据恢复实例存储卷。

限制

  • 简化自动恢复不支持具有实例存储卷和裸机实例类型的实例。

  • 对于自动扩缩组中的实例,不会启动简化自动恢复。如果您的实例是启用了运行状况检查的 Auto Scaling 组的一部分,则在该实例损坏时替换该实例。

  • 简化的自动恢复仅适用于计划外事件。它不适用于已计划的事件。

  • 无法恢复已终止或停止的实例。

验证恢复行为

启动实例期间或之后,您可以将自动恢复行为设置为 disableddefault。默认配置不能为不受支持的实例类型启用简化自动恢复。

Console
在实例启动时禁用简化自动恢复
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Instances(实例),然后选择 Launch instance(启动实例)。

  3. Advanced details(高级详细信息)部分,对于 Instance auto-recovery(实例自动恢复),请选择 Disabled(已禁用)。

  4. 根据需要配置剩余的实例启动设置,然后启动实例。

禁用正在运行或已停止实例的简化自动恢复
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择实例

  3. 请选择实例,然后依次选择 Actions(操作)、Instance settings(实例设置)、Change auto-recovery behavior(更改自动恢复行为)。

  4. 选择 Off(关闭),然后选择 Save(保存)

要将正在运行或已停止实例的自动恢复行为设置为 default
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择实例

  3. 请选择实例,然后依次选择 Actions(操作)、Instance settings(实例设置)、Change auto-recovery behavior(更改自动恢复行为)。

  4. 选择默认(开启),然后选择保存

AWS CLI
在启动时禁用简化自动恢复

可以使用 run-instances 命令。

aws ec2 run-instances \ --image-id ami-1a2b3c4d \ --instance-type t2.micro \ --key-name MyKeyPair \ --maintenance-options AutoRecovery=Disabled \ [...]
禁用正在运行或已停止实例的简化自动恢复

使用 modify-instance-maintenance-options 命令。

aws ec2 modify-instance-maintenance-options \ --instance-id i-0abcdef1234567890 \ --auto-recovery disabled
要将正在运行或已停止实例的自动恢复行为设置为 default

使用 modify-instance-maintenance-options 命令。

aws ec2 modify-instance-maintenance-options \ --instance-id i-0abcdef1234567890 \ --auto-recovery default

Amazon CloudWatch 基于操作的恢复

如果要自定义何时恢复实例,请使用 Amazon CloudWatch 基于操作的恢复。

StatusCheckFailed_System 告警触发且恢复操作启动时,您在创建警报及相关恢复操作时所选择的 Amazon SNS 主题将向您发出通知。当恢复操作完成后,系统会向您为告警配置的 Amazon SNS 主题发布信息。任何订阅此 Amazon SNS 主题的用户都将收到一封电子邮件通知,其中包括恢复尝试的状态以及任何进一步指示。作为恢复操作的最后一个步骤,恢复的实例会重新启动。

即使没有禁用简化的自动恢复,也可以使用 Amazon CloudWatch 告警来恢复实例。有关创建用于恢复实例的 Amazon CloudWatch 警报的信息,请参阅 在 Amazon CloudWatch 警报中添加恢复操作

支持的实例类型

基于 Amazon CloudWatch 操作的恢复操作也支持简化的自动恢复操作所支持的所有实例类型。此外,基于 CloudWatch 操作的恢复操作还支持所支持的实例类型的裸机变体。除了简化的自动恢复操作支持的那些实例系列以外,还支持以下实例系列:

  • 内存优化型:X2idn | X2iedn

重要

对于具有实例存储卷的受支持实例类型,在恢复期间,这些卷上的所有数据都将丢失。停止和启动此实例还会导致实例存储卷上的所有数据丢失。您需要定期将实例存储卷上的数据备份到更持久的存储中,例如 Amazon EBS、Amazon S3 或 Amazon EFS。如果未能通过系统状态检查,您可以停止和启动具有实例存储卷的实例,然后利用备份数据恢复实例存储卷。

基于 CloudWatch 操作的恢复不支持对具有专属主机租赁的实例进行恢复。对于 Amazon EC2 专属主机,您可以使用专属主机自动恢复功能自动恢复运行状况不佳的实例。

您可以使用 AWS Management Console 或 AWS CLI,以查看支持基于 CloudWatch 操作的恢复的实例类型。

Console
查看支持 Amazon CloudWatch 基于操作的恢复的实例类型
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在左侧导航窗格中,选择 Instance Types(实例类型)。

  3. 在筛选条件栏中,输入 Auto Recovery support: true(自动恢复支持:真)。或者,当您输入字符且过滤条件名称显示时,您可以选择它。

    实例类型表显示了支持 Amazon CloudWatch 基于操作的恢复的所有实例类型。

AWS CLI
查看支持 Amazon CloudWatch 基于操作的恢复的实例类型

请使用 describe-instance-types 命令。

aws ec2 describe-instance-types --filters Name=auto-recovery-supported,Values=true --query "InstanceTypes[*].[InstanceType]" --output text | sort

实例恢复故障排除

以下问题可能会导致实例恢复失败:

  • 在服务运行状况控制面板事件期间,简化的自动恢复功能可能无法恢复您的实例。您可能不会收到此类事件的恢复失败通知。如果有任何服务运行状况控制面板事件持续,则也可能会导致基于 CloudWatch 操作的恢复不能成功恢复实例。要了解最新的服务可用性信息,请参阅 http://status.aws.amazon.com/

  • 替换硬件的临时容量不足。

  • 该实例已达到每天最多三次的恢复尝试操作限制。

自动恢复过程将会尝试恢复您的实例 (每天最多针对三个不同的故障)。如果实例系统状态检查故障仍然存在,建议您手动停止并启动实例。停止实例后,实例存储卷上的数据将丢失。有关更多信息,请参阅 启动和停止 Amazon EC2 实例

如果自动恢复失败,并且确定硬件性能下降是初始系统状态检查失败的根本原因,那么您的实例随后可能会被停用。