Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门。还原根卷
Amazon EC2 使您可以将正在运行的实例的 Amazon EBS 根卷还原到其启动状态,或还原到一个特定的快照。这让您可以修复问题,如根卷损坏或客户操作系统网络配置错误,同时保留以下内容:
-
存储在实例存储卷上的数据 — 还原根卷后,实例存储卷仍附加到实例。
-
网络配置 — 所有网络接口均仍附加到实例,并保留其 IP 地址、标识符和附件 ID。当实例变为可用时,将刷新所有待处理的网络流量。此外,实例保留在同一个物理主机上,因此它会保留其公有和私有 IP 地址以及 DNS 名称。
-
IAM policy — 将保留和强制实施与实例相关联的 IAM 配置文件和策略(例如基于标签的策略)。
还原实例的根卷时,新卷将还原到原始卷的启动状态,或使用特定快照。原始卷与实例分离,新(还原的)卷将在其位置附加到实例。不会自动删除原始卷。如果您不再需要它,可以在过程完成后手动将其删除。
注意事项
还原根卷
还原实例的根卷时,您可以选择将卷还原到其初始启动状态,也可以选择将卷还原到特定快照。如果选择将卷还原到特定快照,则必须选择从任何实例先前根卷创建的快照。如果选择将根卷还原到其初始启动状态,则会从用于在实例启动期间创建卷的快照中还原根卷。
当您还原实例的根卷时,将创建根卷替换任务。您可以使用根卷更换任务来监控恢复过程的进度和结果。有关更多信息,请参阅查看根卷替换任务。
您可以使用以下方法之一还原实例的根卷。
如果使用 Amazon EC2 控制台,此功能仅在新控制台中可用。
- New console
-
要还原根卷
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/。
-
在导航窗格中,选择实例。
-
选择要还原其根卷的实例,然后选择 Actions(操作)、Monitor and troubleshoot(监控和故障排除)、Replace root volume(替换根卷)。
如果选定的实例不在 running 状态,替换根卷操作将被禁用。
-
在 Replace root volume(替换根卷)屏幕中,执行以下操作之一:
- Amazon CLI
-
将根卷还原到初始启动状态
使用 create-replace-root-volume-task 命令。指定要还原其根卷的实例的 ID,然后忽略 --snapshot-id 参数。
$ aws ec2 create-replace-root-volume-task --instance-id instance_id
例如:
$ aws ec2 create-replace-root-volume-task --instance-id i-1234567890abcdef0
将根卷还原到特定快照
使用 create-replace-root-volume-task 命令。指定要还原其根卷的实例的 ID 以及要使用的快照的 ID。
$ aws ec2 create-replace-root-volume-task --instance-id instance_id --snapshot-id snapshot_id
例如:
$ aws ec2 create-replace-root-volume-task --instance-id i-1234567890abcdef0 --snapshot-id snap-9876543210abcdef0
查看根卷替换任务
当您还原实例的根卷时,将创建根卷替换任务。在此过程中,根卷更换任务将转换为以下状态:
-
pending — 正在创建替换卷。
-
in-progress — 正在分离原始卷,正在附加替换卷。
-
succeeded — 已将替换卷成功附加到实例并且实例可用。
-
failing — 替换任务即将失败。
-
failed — 替换任务已失败,但原始根卷仍然处于附加状态。
-
failing-detached — 替换任务即将失败。实例可能没有附加的根卷。
-
failed-detached — 替换任务已失败,实例没有附加的根卷。
您可以使用以下方法之一查看实例的根卷替换任务。
如果使用 Amazon EC2 控制台,此功能仅在新控制台中可用。
- New console
-
查看根卷替换任务
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/。
-
在导航窗格中,选择实例。
-
选择要查看其根卷替换任务的实例,然后选择 Storage(存储)选项卡。
-
在 Storage(存储)选项卡中,展开 Recent root volume replacement tasks(最近的根卷替换任务)。
- Amazon CLI
-
查看根卷替换任务的状态
使用 describe-replace-root-volume-tasks 命令并指定要查看的根卷替换任务的 ID。
$ aws ec2 describe-replace-root-volume-tasks --replace-root-volume-task-ids task_id_1 task_id_2
例如:
$ aws ec2 describe-replace-root-volume-tasks --replace-root-volume-task-ids replacevol-1234567890abcdef0
{
"ReplaceRootVolumeTasks": [
{
"ReplaceRootVolumeTaskId": "replacevol-1234567890abcdef0",
"InstanceId": "i-1234567890abcdef0",
"TaskState": "succeeded",
"StartTime": "2020-11-06 13:09:54.0",
"CompleteTime": "2020-11-06 13:10:14.0"
}]
}
或者,请指定 instance-id 筛选条件以按实例筛选结果。
$ aws ec2 describe-replace-root-volume-tasks --filters Name=instance-id,Values=instance_id
例如:
$ aws ec2 describe-replace-root-volume-tasks --filters Name=instance-id,Values=i-1234567890abcdef0