Windowsインスタンスのルートボリュームの暗号化を解除したい
困っていた内容
Windows Server の EC2 インスタンスのルートボリュームが暗号化されています。
これを復号化する必要があるのですが、手順を教えてください。
どう対応すればいいの?
暗号化された EBS の復号化はできません。
新規の EBS ボリュームを作成し、そこにデータをコピーし、ルートボリュームの置き換えを行う必要があります。
具体的には、以下の re:Post の手順が使用できます。
この re:Post 記事内に Windows Server に関する言及はありませんが、Windows Server インスタンスでも、この方法で対応可能です。
検証
使用したリソース
-
- Target Instance (Windows)
- 暗号化されたルートボリュームを持つ Windows Server インスタンス。この検証では Windows Server 2022 を使用しました。
-
- New Volume
- Target Instance (Windows) と同じアベイラビリティゾーンに、暗号化されていない新しい EBS ボリュームを作成します。データの損失を避けるため、新しいボリュームは暗号化されたボリュームより大きいサイズである必要があります。
-
- Rescue Instance (Linux)
- Target Instance (Windows) と同じアベイラビリティゾーンに、暗号化されたボリュームと新しいボリューム間のデータのコピーを行うための Linux インスタンスを作成します。この検証では Amazon Linux 2023 を使用しました。
対応手順
-
2 でデタッチしたボリュームと New Volume の両方を Rescue Instance (Linux) にアタッチします。
-
Rescue Instance (Linux) に SSH で接続し、
lsblk
コマンドで二つのボリュームがアタッチされていることを確認します。$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS xvda 202:0 0 8G 0 disk ├─xvda1 202:1 0 8G 0 part / ├─xvda127 259:0 0 1M 0 part └─xvda128 259:1 0 10M 0 part /boot/efi xvdf 202:80 0 30G 0 disk └─xvdf1 202:81 0 30G 0 part xvdg 202:96 0 50G 0 disk
-
dd
コマンドを使用し、データをコピーします。sudo dd if=/dev/xvdf of=/dev/xvdg bs=4096 status=progress
※ 上記コマンドでは
/dev/xvdf
が既存の暗号化されたボリューム、/dev/xvdg
がコピー先の新しいボリュームを指しています。2 でアタッチした際のデバイス名に応じてコマンドを変更しご使用ください。 -
コピー完了後、New Volume を Rescue Instance (Linux) からデタッチします。
-
New Volume を Target Instance (Windows) のルートボリュームとしてアタッチします。このとき、デバイス名を手順 1 でメモしたものにします。