Ich möchte ein Amazon Elastic Block Store (Amazon EBS)-Volume unter Linux entschlüsseln, das ich mit einem standardmäßigen AWS Key Management Service (AWS KMS)-Schlüssel oder einem benutzerdefinierten KMS-Schlüssel verschlüsselt habe.
Behebung
**Hinweis:**In der folgenden Auflösung wird ein Root-Volume als Beispiel verwendet. Du kannst folgenden Schritte auch auf einem sekundären Volume ausführen.
Gehe wie folgt vor, um das Amazon EBS-Volume zu entschlüsseln:
- Erstelle einen Snapshot des verschlüsselten Root-Volumes oder erstelle ein Amazon Machine Image (AMI) der Instance mit dem verschlüsselten Volume.
**Hinweis:**Es hat sich bewährt, Snapshots und AMIs zu verwenden, um die Ressourcen zu sichern, bevor du größere Aufgaben ausführst.
- Öffne die Amazon Elastic Compute Cloud (Amazon EC2)-Konsole.
- Stoppe die Instanz mit dem verschlüsselten Root-Volume.
- Notiere auf der Registerkarte Speicher den Namen des Root-Geräts und wähle dann die Volume-ID aus.
**Hinweis:**Das Root-Gerät unterscheidet sich je nach AMI. Amazon Linux 1 und 2 verwenden beispielsweise /dev/xvda. Andere Distributionen wie Ubuntu 14, 16, 18, CentOS7 und RHEL 7.5 verwenden /dev/sda1.
- Wähle Aktionen und dann Volume trennen aus.
- Wähle Ja, Trennen und notiere dir dann die Availability Zone.
- Starte eine Rettungs-Instance in derselben Availability Zone wie die ursprüngliche Instance.
**Hinweis:**Verwende ein ähnliches Betriebssystem (OS) wie das, mit dem du die ursprüngliche Instance gestartet hast.
- Wähle im Navigationsbereich Volumes aus und wähle dann das verschlüsselte Root-Volume aus.
- Wähle Aktionen und dann Volume anhängen aus.
- Wähle für Instance beispielsweise die Rettungs-Instance-ID.
- Wähle für den Gerätenamen /dev/xvdf oder /dev/sdf aus.
- Erstelle ein neues unverschlüsseltes Volume in derselben Availability Zone wie das ursprüngliche verschlüsselte Volume.
Wichtig: Um Datenverlust zu vermeiden, stelle sicher, dass das neue Volume größer ist als das verschlüsselte Volume.
- Hänge das neue unverschlüsselte Volume als /dev/xvdg oder /dev/sdg an die Rettungs-Instance an.
- Stelle eine Verbindung zur Rettungs-Instance her und führe dann den Befehl lsblk aus, um zu bestätigen, dass das Root-Gerät und die angehängten Volumes vorhanden sind:
lsblk
Beispielausgabe
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
- Um die Daten vom ursprünglichen verschlüsselten Volume auf das neue unverschlüsselte Volume zu verschieben, führe die dd-Befehle als sudo- oder root-Benutzer aus:
dd if=/dev/xvdf of=/dev/xvdg bs=4096 status=progress
Hinweis: Im vorherigen Befehl ist die Eingabedatei /dev/xvdf und die Ausgabedatei ist /dev/xvdg. Die Datenübertragungszeit variiert je nach Größe und Typ des Volumes und der Instance.
Trenne das neue unverschlüsselte /dev/xvdg-Volume von der Rettungs-Instance und hänge es dann als /dev/xvda oder /dev/sda1 an die ursprüngliche Instance an.
Stelle eine Verbindung zur ursprünglichen Instance her, um zu bestätigen, dass die Instance das neue unverschlüsselte Root-Volume liest.
Wähle auf der Amazon EC2-Konsole die ursprüngliche Instance aus und überprüfe dann die Eigenschaften des Volumes, um zu bestätigen, dass das Root-Volume jetzt unverschlüsselt ist.
Hinweis: Möglicherweise musst du die Instance neu starten oder beenden und starten, um die Partitionsänderungen im Kernel zu registrieren.
Wiederhole den Vorgang für andere verschlüsselte Volumes auf der ursprünglichen Instance, um geklonte Volumes zu erstellen, die unverschlüsselt sind.
Beende die Rettungs-Instance.