替换根卷
Amazon EC2 使您能够替换正在运行的实例的根 Amazon EBS 卷,同时保留以下内容:
-
存储在实例存储卷上的数据 — 还原根卷后,实例存储卷仍附加到实例。
-
存储在数据(非根)Amazon EBS 卷上的数据 — 在还原根卷后,非根 Amazon EBS 卷仍附加到实例。
-
网络配置 — 所有网络接口均仍附加到实例,并保留其 IP 地址、标识符和附件 ID。当实例变为可用时,将刷新所有待处理的网络流量。此外,实例保留在同一个物理主机上,因此它会保留其公有和私有 IP 地址以及 DNS 名称。
-
IAM policy — 将保留和强制实施与实例相关联的 IAM 配置文件和策略(例如基于标签的策略)。
如何工作?
在您替换实例的根卷时,将通过以下方法之一还原新的(替换)根卷:
-
到初始启动状态 — 该卷将在实例启动时还原到其初始状态。有关更多信息,请参阅将根卷还原到其启动状态。
-
从来自与当前根卷相同世系的快照 — 这将允许您修复问题,如根卷损坏或客户机操作系统网络配置错误。有关更多信息,请参阅使用快照替换卷。
-
从与实例具有相同关键属性的 AMI — 这将允许您执行操作系统和应用程序修补或升级。有关更多信息,请参阅使用 AMI 替换根卷。
原始根卷与实例分离,新根卷将在其位置附加到实例。将更新实例的块设备映射,以反映替换根卷的 ID。您可以选择在根卷替换过程完成后是否保留原始根卷。如果您在替换过程完成后选择删除原始根卷,则原始根卷将被自动删除,并变得不可恢复。如果您选择在该过程完成后保留原始根卷,则该卷仍会在您的账户中预调配;当您不再需要它时,必须手动删除它。
如果根卷替换任务失败,则实例将重新启动,原始根卷仍附加到该实例。
根卷更换的注意事项
-
该实例必须处于
running状态。 -
在此过程中,实例将自动重新启动。在重启过程中,将清空内存 (RAM) 的内容。无需手动重启。
-
如果根卷是实例存储卷,则无法替换它。仅支持具有 Amazon EBS 根卷的实例。
-
您可以替换所有虚拟化实例类型和 EC2 Mac 裸机实例的根卷。不支持所有其他裸机实例类型。
-
Amazon EC2 Mac 裸机实例支持将根卷恢复到其启动状态并使用快照替换根卷。Amazon EC2 Mac 裸机实例目前不支持使用 AMI 替换根卷。
-
您可以使用与实例先前根卷属同谱系的任何快照。
将根卷还原到其启动状态
您可以执行根卷替换,将实例的根卷替换为还原到原始根卷启动状态的替换根卷。替换卷将自动从实例启动期间用于创建原始卷的快照中还原。
替换根卷的类型、大小和终止时删除属性与原始根卷相同。
使用快照替换卷
您可以执行根卷替换,将实例的根卷替换为还原到特定快照的替换卷。这使您可以将实例的根卷还原到您之前从该根卷创建的特定快照。
替换根卷的类型、大小和终止时删除属性与原始根卷相同。
使用快照的注意事项
-
您只能使用与实例当前根卷属同谱系的快照。
-
您不能使用从根卷拍摄的快照创建的快照副本。
-
在成功替换根卷后,从原始根卷拍摄的快照仍可用于替换新的(替换)根卷。
使用 AMI 替换根卷
您可以使用自己拥有的 AMI、与您共享的 AMI 或 Amazon Web Services Marketplace AMI 来执行根卷替换。AMI 必须具有与实例相同的产品代码、账单信息、架构类型和虚拟化类型。
如果实例启用了 NitroTPM、ENA 或 sriov-net,则必须使用支持这些功能的 AMI。如果实例未启用 NitroTPM、ENA 或 sriov-net,则您可以选择不支持这些功能的 AMI;也可以选择支持这些功能的 AMI,在这种情况下,将向该实例添加支持。
您可以选择与实例的启动模式不同的 AMI,前提是该实例支持 AMI 的启动模式。如果实例不支持启动模式,则该请求将失败。如果实例支持启动模式,则新的启动模式将传播到该实例,并相应更新其 UEFI 数据。如果您手动修改了启动顺序或添加了私有 UEFI 安全启动密钥来加载私有内核模块,则在根卷替换期间,更改将丢失。
替换根卷获得与原始根卷相同的卷类型和终止时删除属性,并获取 AMI 根卷块设备映射的大小。
注意
AMI 根卷块设备映射的大小必须等于或大于原始根卷的大小。如果 AMI 根卷块设备映射的大小小于原始根卷的大小,则请求失败。
在根卷替换任务完成后,当您使用控制台 Amazon CLI 或 Amazon SDK 描述实例时,将反映以下新的和经过更新的信息:
-
新 AMI ID
-
根卷的新卷 ID
-
经过更新的启动模式配置(如果由 AMI 更改)
-
经过更新的 NitroTPM 配置(如果由 AMI 启用)
-
经过更新的 ENA 配置(如果由 AMI 启用)
-
经过更新的 sriov-net 配置(如果由 AMI 启用)
新 AMI ID 也反映在实例元数据中。
使用 AMI 的注意事项:
-
如果您使用拥有多个块设备映射的 AMI,则仅使用该 AMI 的根卷。其他(非根)卷将被忽略。
-
您只能使用您的账户拥有启动权限的 AMI。
-
仅当实例没有产品代码时,您才能使用没有产品代码的 AMI。
-
您无法指定替换根卷的加密状态。下表汇总了可能的加密结果。
原始根卷 AMI 块储存设备映射 替换根卷 已加密 未加密 请求失败 已加密 已加密 已加密 未加密 未加密 未加密 未加密 已加密 已加密 -
AMI 根卷块设备映射的大小必须等于或大于原始根卷的大小。如果 AMI 根卷块设备映射的大小小于原始根卷的大小,则请求失败。
-
将自动更新实例的实例身份文档。
-
如果实例支持 NitroTPM,则将重置该实例的 NitroTPM 数据,并将生成新密钥。
替换根卷
当您替换实例的根卷时,将创建根卷替换任务。您可以使用根卷更换任务来监控替换过程的进度和结果。有关更多信息,请参阅查看根卷替换任务。
您可以使用以下方法之一替换实例的根卷。
注意
如果使用 Amazon EC2 控制台,此功能仅在新控制台中可用。
查看根卷替换任务
当您替换实例的根卷时,将创建根卷替换任务。在此过程中,根卷更换任务将转换为以下状态:
-
pending— 正在创建替换卷。 -
in-progress— 正在分离原始卷,正在附加替换卷。 -
succeeded— 已将替换卷成功附加到实例并且实例可用。 -
failing— 替换任务即将失败。 -
failed— 替换任务已失败,但原始根卷仍然处于附加状态。 -
failing-detached— 替换任务即将失败,并且实例可能未附加根卷。 -
failed-detached— 替换任务已失败,并且实例未附加根卷。
您可以使用以下方法之一查看实例的根卷替换任务。
注意
如果使用 Amazon EC2 控制台,此功能仅在新控制台中可用。