如何对 Linux 中已加密的 EBS 卷进行解密?

1 分钟阅读
0

我想对 Linux 中使用默认的 AWS Key Management Service(AWS KMS)密钥或自定义 KMS 密钥加密的 Amazon Elastic Block Store(Amazon EBS)卷进行解密。应如何操作?

简短描述

您可以使用临时的 Amazon Elastic Compute Cloud(Amazon EC2)Linux 实例将加密卷复制到未加密的新卷中。然后可以将未加密的卷附加到您的原始实例。

解决方法

**注意:**以下解决方法将根卷用作示例。您也可以在辅助卷上执行以下步骤。

1.    创建加密根卷的快照或使用加密卷创建实例的 AMI。使用快照和 AMI 在执行任何重大任务前为您的资源提供备份。

2.    打开 Amazon EC2 控制台

3.    停止具有加密根卷的实例

4.    在 Description(描述)选项卡中的 Root device(根设备)下,选择根卷。然后,选择 EBS ID。记下根设备的名称。

注意:根设备因 AMI 而异。例如,Amazon Linux 1 和 2 使用 /dev/xvda。其他发行版(如 Ubuntu 14、16、18、CentOS7 和 RHEL 7.5)使用 /dev/sda1

5.    依次选择操作断开卷,然后选择是,请分离。记下可用区。

6.    使用类似的 OS 在与原始实例相同的可用区中启动救援实例

7.    救援实例启动后,从导航窗格中选择 Volumes(卷)。然后,选择已分离的加密根卷。

8.    依次选择操作附加卷

9.    选择救援实例 ID(id-xxxx),并将已加密的卷附加到 /dev/xvdf/dev/sdf

10.    在与原始的加密卷相同的可用区中创建未加密的新卷

**重要提示:**为避免数据丢失,请确认您的新卷大小大于已加密卷的大小。

11.    将未加密的新卷作为 /dev/xvdg/dev/sdg 附加到救援实例。

12.    连接救援实例,并使用 lsblk 命令确认根设备和两个附加的卷存在。

$lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk 
└─xvda1 202:1    0   8G  0 part /
xvdf    202:80   0   8G  0 disk 
└─xvdf1 202:81   0   8G  0 part 
xvdg    202:96   0   8G  0 disk

13.    将 dd 命令用作 sudoer/root,以将原始的已加密卷(输入文件为 /dev/xvdf)移动到未加密的新卷(输出文件为 /dev/xvdg)中。

#dd if=/dev/xvdf of=/dev/xvdg bs=4096 status=progress

**注意:**数据传输时间因卷和实例的大小和类型而有所不同。

14.    将新的未加密卷(/dev/xvdg)与救援实例分离,然后将其作为 /dev/xvda/dev/sda1 挂载到原始实例。

15.    连接原始实例,以确认实例读取了未加密(复制)的新根卷。

16.    为确保根卷现在没有加密,请在 Amazon EC2 控制台中选择原始实例,然后查看卷的属性。

注意:您可能需要重启或停止再启动实例来将分区更改注册到内核中。

17.    对原始实例上的任何其他加密卷重复该过程,以创建未加密的“克隆”卷。

18.    在确认未加密的新卷运行正常后,关闭救援实例。


相关视频

AWS 官方
AWS 官方已更新 2 年前