Quiero descifrar un volumen de Amazon Elastic Block Store (Amazon EBS) en Linux que cifré con una clave predeterminada de AWS Key Management Service (AWS KMS) o una clave de KMS personalizada.
Solución
Nota: La siguiente resolución utiliza un volumen raíz como ejemplo. También puede realizar los siguientes pasos en un volumen secundario.
Para descifrar el volumen de Amazon EBS, siga estos pasos:
- Cree una instantánea del volumen raíz cifrado o cree una imagen de máquina de Amazon (AMI) de la instancia con el volumen cifrado.
Nota: Se recomienda usar instantáneas y AMI para hacer copias de seguridad de los recursos antes de realizar cualquier tarea importante.
- Abra la consola de Amazon Elastic Compute Cloud (Amazon EC2).
- Detenga la instancia con el volumen raíz cifrado.
- En la pestaña Almacenamiento, anote el nombre del dispositivo raíz y, a continuación, elija el ID del volumen.
Nota: El dispositivo raíz varía según la AMI. Por ejemplo, Amazon Linux 1 y 2 utilizan /dev/xvda. Otras distribuciones, como Ubuntu 14, 16, 18, CentOS 7 y RHEL 7.5, utilizan /dev/sda1.
- Elija Acciones y, a continuación, elija Desconectar volumen.
- Seleccione Sí, desconectar y, a continuación, anote la zona de disponibilidad.
- Inicie una instancia de rescate en la misma zona de disponibilidad que la instancia original.
Nota: Use un sistema operativo (SO) similar al que usó para iniciar la instancia original.
- En el panel de navegación, elija Volúmenes y, a continuación, seleccione el volumen raíz cifrado.
- Elija Acciones y, a continuación, elija Adjuntar volumen.
- En Instancia, elija el ID de la instancia de rescate.
- En Nombre del dispositivo, elija /dev/xvdf o /dev/sdf.
- Cree un nuevo volumen sin cifrar en la misma zona de disponibilidad que el volumen cifrado original.
Importante: Para evitar la pérdida de datos, confirme que el tamaño del nuevo volumen es mayor que el tamaño del volumen cifrado.
- Adjunte el nuevo volumen sin cifrar a la instancia de rescate como /dev/xvdg o /dev/sdg.
- Conéctese a la instancia de rescate y, a continuación, ejecute el comando lsblk para confirmar que el dispositivo raíz y los volúmenes adjuntos existen:
lsblk
Resultado de ejemplo
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
- Para mover los datos del volumen cifrado original al nuevo volumen sin cifrar, ejecute los comandos dd como usuario raíz o sudo:
dd if=/dev/xvdf of=/dev/xvdg bs=4096 status=progress
Nota: En el comando anterior, el archivo de entrada es /dev/xvdf y el archivo de salida es /dev/xvdg. El tiempo de transferencia de datos varía según el tamaño y el tipo del volumen y la instancia.
Desconecte el nuevo volumen /dev/xvdg sin cifrar de la instancia de rescate y, a continuación, adjúntelo a la instancia original como /dev/xvda o /dev/sda1.
Conéctese a la instancia original para confirmar que la instancia lee el nuevo volumen raíz sin cifrar.
En la consola de Amazon EC2, seleccione la instancia original y, a continuación, consulte las propiedades del volumen para confirmar que el volumen raíz ya no está cifrado.
Nota: Es posible que tenga que reiniciar o detener e iniciar la instancia para registrar los cambios de partición en el kernel.
Repita el proceso para otros volúmenes cifrados de la instancia original para crear volúmenes clonados que no estén cifrados.
Termine la instancia de rescate.