EBS暗号化を試してみた

記事タイトルとURLをコピーする

日本時間2014年5月22日午後にEBS暗号化がサポートされました。
AWSのアップデートは日本時間の早朝に行われるのが多いのですが、午後の仕事している最中にリリースされて寝耳に水でした。
EBS暗号化のリリースでどうなるか、ひとまず試してみました。

公式ドキュメントはこちらです。 

 

EBSボリュームを作るとき

「暗号化する」にチェックするだけで暗号化できます。
EncryptEBS01

 

AMIからインスタンスをラウンチするとき

ルートボリュームの暗号化はできないようです。
増設ボリュームに対してのみ暗号化がサポートされているようです。
EncryptEBS02

 

暗号化したボリュームの利用

暗号化されていると特に意識する必要はありません。 
従来と同様にふつうに使えます。

[root@ip-172-31-6-59 ~]# mkfs -t ext4 /dev/sdb  ←フォーマット
[root@ip-172-31-6-59 ~]# mkdir /mnt/sdb  ←増設ボリュームのマウント先を作成
[root@ip-172-31-6-59 ~]# mount /dev/sdb /mnt/sdb  ←マウント
[root@ip-172-31-6-59 ~]# touch /mnt/sdb/AAA  ←増設ボリュームに書込みしてみる
[root@ip-172-31-6-59 ~]# ll /mnt/sdb/AAA  ←書き込めたか確認
-rw-r--r-- 1 root root 0 May 23 00:06 /mnt/sdb/AAA

 

AMIを作成するとき

増設ボリュームに対して「暗号化するか」にチェックを入れられます。
EncryptEBS03

チェックを入れてAMIを作成します。
増設ボリュームが暗号化されたAMIからラウンチするときは「暗号化されている」と表示されます。
ドキュメントのとおり、復号化できないようです。
EncryptEBS04
さきほどはAMIの元になったインスタンスでは増設ボリュームは暗号化されていました。
改めて「暗号化するか」にチェックを入れられるようになっていました。
EncryptEBS05
もしかしたら、チェックを入れないで AMIを作成すれば復号化される(暗号化されない)のかと思ったら…
EncryptEBS06
そんなことはありませんでした。

EBS暗号化がサポートされる以前に作成したAMIでは、このようになります。
EncryptEBS07
ラウンチするときにチェックを入れると暗号化されてラウンチされる…というステキなことはできないようです。
そのうちできるようになるでしょうか。
公式ドキュメントにあるようにマイグレーションする必要があるようです。

暗号化されたEBSを含むAMIを別アカウントにシェアすることはできないようです。
共有しようとして…
EncryptEBS09
怒られます。「Add "create volume"...」のチェックを外しても共有できません。
EncryptEBS10

 

暗号化されたEBSボリュームがあるインスタンス(AMI)の注意

公式ドキュメントにあるように、暗号化されたEBSボリュームを利用できるインスタンスタイプは決まっています。どのタイプでも…ではありません。
では、暗号化されたEBSボリュームを含むAMIを、暗号化EBSがサポートされていないインスタンスタイプでラウンチできるかを確認してみると…
EncryptEBS08
やっぱり選べません。
このように、AWS Management Consoleでは親切に教えてくれますが、AutoScalingやCLI、SDKなどで何らかの自動化をしている場合は、おそらくラウンチしようとするまで気づきにくいことになるかもしれません。

 

まとめ

あとから暗号化する場合は一手間が必要ですが、これから新しく利用する場合はお手軽に暗号化できます。
利用料金の追加もないようです。
暗号化に関してIAMロールがあるのか、暗号化によってパフォーマンスに影響が出るのかなど調べることはまだありますが、ひとまず試してみた結果をまとめてみました。