如何解密在 Linux 中加密的 Amazon EBS 卷?

1 分钟阅读
0

我想解密我使用默认 AWS Key Management Service (AWS KMS) 密钥或自定义 KMS 密钥加密的 Linux 中的 Amazon Elastic Block Store (Amazon EBS) 卷。

解决方案

**注意:**以下分辨率以根卷为例。您还可以在辅助卷上执行以下步骤。

要解密您的 Amazon EBS 卷,请完成以下步骤:

  1. 创建加密根卷的快照,或创建包含加密卷的实例的亚马逊机器映像 (AMI)。
    **注意:**最佳做法是在执行任何重大任务之前使用快照和 AMI 来备份资源。
  2. 打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台
  3. 停止包含加密根卷的实例
  4. Storage(存储)选项卡上,记下根设备的名称,然后选择 Volume ID(卷 ID)。
    **注意:**根设备因 AMI 而异。例如,Amazon Linux 1 和 2 使用 /dev/xvda。其他发行版(如 Ubuntu 14、16、18、CentOS 7 和 RHEL 7.5)使用 /dev/sda1
  5. 选择 Actions(操作),然后选择 Detach Volume(分离卷)。
  6. 选择 Yes, Detach(是,分离),然后记下可用区。
  7. 在与原始实例相同的可用区中启动救援实例
    **注意:**使用与启动原始实例时使用的操作系统 (OS) 相似的操作系统 (OS)。
  8. 在导航窗格中,选择 Volumes(卷),然后选择加密的根卷。
  9. 选择 Actions(操作),然后选择 Attach volume(连接卷)。
  10. 对于 Instance(实例),选择救援实例 ID。
  11. 对于 Device name(设备名称),选择 /dev/xvdf/dev/sdf
  12. 在与原始加密卷相同的可用区中创建新的未加密卷
    **重要事项:**为避免数据丢失,请确认您的新卷大小大于加密卷的大小。
  13. 将新的未加密卷作为 /dev/xvdg/dev/sdg 连接到救援实例。
  14. 连接到救援实例,然后运行 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
  1. 要将数据从原始加密卷移动到新的未加密卷,请以 sudo 或根用户身份运行 dd 命令:
dd if=/dev/xvdf of=/dev/xvdg bs=4096 status=progress

**注意:**在前面的命令中,输入文件为 /dev/xvdf,输出文件为 /dev/xvdg。数据传输时间因卷和实例的大小和类型而异。 将新的未加密的 /dev/xvdg 卷与救援实例分离,然后将其作为 /dev/xvda/dev/sda1 连接到原始实例。 连接到原始实例以确认该实例读取新的未加密根卷。 在 Amazon EC2 控制台上,选择原始实例,然后查看该卷的属性以确认根卷现在未加密。
**注意:**您可能需要重启或停止并启动实例,才能将分区更改注册到内核。 对原始实例上的其他加密卷重复该过程,以创建未加密的克隆卷。 终止救援实例。

AWS 官方
AWS 官方已更新 4 个月前