恢复实例 - 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 Adaptor。

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

    • 通用型:A1 | M4 | M5 | M5a | M5n | M5zn | M6a | M6g | M6i | T1 | T2 | T3 | T3a | T4g

    • 计算优化型:C4 | C5 | C5a | C5n | C6a | C6g | C6gn | C6i | Hpc6a |

    • 内存优化型:R4 | R5 | R5a | R5b | R5n | R6a | R6g | R6i | 内存增强型 (u-*)、仅虚拟化

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

  • 如果没有实例存储卷,则使用以下实例类型之一:

    • 通用型:M3

    • 计算优化型:C3

    • 内存优化型:R3 | X1 | X1e

限制

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

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

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

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

验证恢复行为

您可以使用 AWS Management Console 或 AWS CLI 查看支持简化自动恢复的实例类型。

Console

要查看支持简化自动恢复的实例类型

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

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

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

    Instance types(实例类型)表显示了支持简化自动恢复的所有实例类型。

AWS CLI

要查看支持简化自动恢复的实例类型

请使用 describe-instance-types 命令。

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

验证恢复行为

启动实例期间或之后,您可以将自动恢复行为设置为 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. 选择 Default(默认),然后选择 Save(保存)。

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 主题的用户都将收到一封电子邮件通知,其中包括恢复尝试的状态以及任何进一步指示。作为恢复操作的最后一个步骤,恢复的实例会重新启动。

CloudWatch 基于操作的恢复也支持所有简化自动恢复支持的所有实例类型。有关更多信息,请参阅要求。Amazon CloudWatch 基于操作的恢复不支持具有实例存储卷的实例,但以下实例类型除外。如果实例包含附加的实例存储卷,则数据将在恢复过程中丢失。

  • 通用型:M3

  • 计算优化型:C3

  • 内存优化型:R3 | X1 | X1e | X2idn | X2iedn

对于具有 Amazon EC2 专属主机租赁的实例和裸机实例,Amazon CloudWatch 基于操作的恢复不支持恢复。

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

实例恢复故障排除

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

  • 服务运行状况控制面板事件或影响底层机架的事件。在此类事件中,简化自动恢复不能恢复实例。您将不会收到此类事件的恢复失败通知。任何持续的服务运行状况控制面板也可能阻止 Amazon CloudWatch 基于操作的恢复成功恢复实例。请参阅 http://status.aws.amazon.com/,了解最新服务可用性信息。

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

  • 该实例有一个附加实例存储,而自动实例恢复不支持该配置。

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

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

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