亚马逊AWS官方博客

利用Amazon ReplaceRootVolume替换实例EBS根卷

客户在使用EC2过程中,难免会碰到诸如根卷损坏或操作系统配置错误,导致无法连接和登录的情况。这会增加日常迁移、重建等繁杂的工作。尤其是客户在采用了存储优化实例(如i3、i3en、d2等)下,自建的服务下(如Hadoop、Kafka),数据丢失、拷贝等成本会非常高。

这些在实例存储上昂贵的数据复制操作、繁杂的迁移重建等工作,往往是客户无法承受的。现在依托Amazon ReplaceRootVolume新特性,将帮助客户解决上述问题,轻松应对出现的各种挑战。

Amazon ReplaceRootVolume新特性简介

ReplaceRootVolume是一个新特性,它允许客户替换EC2实例的EBS根卷,同时保留实例存储数据、网络和IAM配置。当实例由于启动卷问题而无法访问时,可以避免丢失、复制实例存储数据。在保留实例存储数据的同时,可以将根卷还原为以前的快照。

ReplaceRootVolume功能的使用非常便捷、快速,无需复杂的操作,下面一起来详细看看在d2机型上(其他机型是相同操作),如何配置和使用该功能。

Amazon ReplaceRootVolume配置

目前最新版的awscli已经支持ReplaceRootVolume相关操作的命令,所以第一步需要将awscli升级到最新的版本,具体介绍可以参考官方文档:

https://docs.thinkwithwp.com/zh_cn/cli/latest/userguide/install-cliv2.html

在awscli升级完成后,即可以开始使用ReplaceRootVolume创建任务了。

创建恢复任务

通过create-replace-root-volume-task命令,可以将实例的EBS根卷替换为最后一个已知的良好快照或启动状态。Create-replace-root-volume-task命令的输入包括instance-id和snapshot-id。Instance-id是必需的字段,snapshot-id是可选的。如果没有提供快照id,那么实例根卷将还原到其启动状态。

*如果根卷在创建了快照后,请至少保留一个快照文件,以作为恢复点。

下面的命令将实例 i-055c4533f35830923的根卷,恢复到其启动状态。

aws ec2 create-replace-root-volume-task [--region 实例所在区域] [--instance-id <实例ID>]

下面的命令将实例 i-055c4533f35830923的根卷,恢复到指定快照状态。

aws ec2 create-replace-root-volume-task [--region 实例所在区域] [--instance-id <实例ID>] [-snapshot-id <快照ID> ]

在执行恢复任务后,会看到如下输出:

查询任务执行状态:

在执行完上述命令后,可以通过如下命令查看当前任务的状态:

aws ec2 describe-replace-root-volume-tasks –region “实例所在区域” –replace-root-volume-task-ids “执行完任务后输出中的TaskId” –filters Name=instance-id,Values=“实例ID”,“实例ID”

可以看到任务执行的情况

检查恢复前后的各项信息,确认符合预期

恢复完成后的工作

在恢复完成后,首先需要检查恢复的版本是否为预期版本

然后将实例存储重新挂载到对应挂载点(如恢复的系统版本已配置自动挂载,则无需手动挂载)

检查实例存储中的数据是否符合预期

使用控制台执行恢复任务

上面介绍了如果使用命令行来执行ReplaceRootVolume操作,该操作同样也能在控制台便捷的执行。

    • 通过在控制台中选取需要执行的EC2,在存储信息中,找到替换根卷。

    • 进入替换功能页面后,选择快照ID,即可创建根卷恢复任务。

    • 在EC2的存储信息栏中,可以看到当前任务的状态。

通过上述ReplaceRootVolume的操作方法和新的特性,简单替换根卷后,即可以高效、便捷、轻松的处理实例无法登陆、实例存储数据丢失风险和迁移成本高等问题。

 

本篇作者

邱萌

亚马逊云科技解决方案架构师,负责基于亚马逊云科技方案架构的咨询和设计,推广亚马逊云科技平台技术和解决方案。在加入亚马逊云科技之前,曾在企业上云、互联网娱乐、媒体等行业耕耘多年,对公有云业务和架构有很深的理解。

吴金福

AWS 混合云方案架构师,负责基于AWS的混合云方案架构的咨询和设计。在加入AWS之前,就职于大型集团企业。负责私有云数据中心的方案设计和建设,在数据中心基础设施、虚拟化、高性能计算和混合云等领域有着多年的经验积累。