¿Cómo descifro un volumen de EBS cifrado?

Última actualización: 20/08/2020

Quiero descifrar un volumen de Amazon Elastic Block Store (Amazon EBS) que se cifró con una clave predeterminada de AWS Key Management Service (KMS) o una clave de KMS personalizada. ¿Cómo lo hago?

Descripción corta

Puede copiar un volumen cifrado en uno nuevo sin cifrar mediante una instancia temporal de Amazon Elastic Compute Cloud (Amazon EC2). A continuación, puede adjuntar el volumen sin cifrar a la instancia original.

Resolución

Nota: La siguiente resolución utiliza un volumen raíz como ejemplo. También puede realizar estos pasos en un volumen secundario.

1.    Cree una instantánea del volumen raíz cifrado o una AMI de la instancia con el volumen cifrado. Utilice instantáneas y las AMI para proporcionar copias de seguridad de los recursos antes de realizar cualquier tarea importante.

2.    Abra la consola de Amazon EC2.

3.    Detenga la instancia con el volumen raíz cifrado.

4.    En la pestaña Description (Descripción), en Root device (Dispositivo raíz), seleccione el volumen raíz y, a continuación, elija el ID de EBS. Anote el nombre del dispositivo raíz.

Nota: El dispositivo raíz difiere según la AMI. Por ejemplo, Amazon Linux 1 y 2 utilizan /dev/xvda. Otras distribuciones, como Ubuntu 14, 16, 18, CentOS7 y RHEL 7.5, utilizan /dev/sda1.

5.    Elija Actions (Acciones), Detach Volume (Desconectar el volumen) y, a continuación, elija Yes, Detach (Sí, desconectar). Tenga en cuenta la zona de disponibilidad.

6.    Lance una instancia de rescate con un sistema operativo similar y en la misma zona de disponibilidad que la instancia original.

7.    Una vez que lance la instancia de rescate, elija Volumes (Volúmenes) en el panel de navegación y, a continuación, seleccione el volumen raíz cifrado desconectado.

8.    Elija Actions (Acciones), Attach Volume (Adjuntar volumen).

9.    Elija el ID de instancia de rescate (id-xxxx) y adjunte el volumen cifrado en /dev/xvdf o /dev/sdf.

10.    Cree un volumen nuevo sin cifrar en la misma zona de disponibilidad que el volumen cifrado original.

Importante: Para evitar la pérdida de datos, confirme que el nuevo tamaño del volumen es mayor que el tamaño del volumen cifrado.

11.    Adjunte el nuevo volumen sin cifrar a la instancia de rescate como /dev/xvdg o /dev/sdg.

12.    Conéctese a la instancia de rescate y confirme la presencia del dispositivo raíz y de los dos volúmenes adjuntos mediante el comando 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.    Como sudoer/root, utilice el comando dd para mover los datos del volumen original cifrado (el archivo de entrada es /dev/xvdf) al nuevo volumen sin cifrar (el archivo de salida es /dev/xvdg).

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

Nota: El tiempo de transferencia de datos varía según el tamaño y el tipo del volumen y la instancia.

14.    Desconecte el nuevo volumen sin cifrar (/dev/xvdg) de la instancia de rescate. A continuación, adjúntelo a la instancia original como /dev/xvda o /dev/sda1.

15.    Conéctese a la instancia original para confirmar que la instancia lee el nuevo volumen raíz sin cifrar (copiado).

16.    Para asegurarse de que el volumen raíz no está cifrado, seleccione la instancia original en la consola de Amazon EC2 y, a continuación, consulte las propiedades del volumen.

Nota: Es posible que deba reiniciar o detener y comenzar la instancia para registrar los cambios de partición en el kernel.

17.    Repita el proceso para cualquier otro volumen cifrado de la instancia original a fin de crear volúmenes “clonados” sin cifrar.

18.    Cierre la instancia de rescate después de confirmar que los volúmenes nuevos sin cifrar funcionan correctamente.


¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?