日本時間2014年5月22日午後にEBS暗号化がサポートされました。
AWSのアップデートは日本時間の早朝に行われるのが多いのですが、午後の仕事している最中にリリースされて寝耳に水でした。
EBS暗号化のリリースでどうなるか、ひとまず試してみました。
公式ドキュメントはこちらです。
EBSボリュームを作るとき
AMIからインスタンスをラウンチするとき
ルートボリュームの暗号化はできないようです。
増設ボリュームに対してのみ暗号化がサポートされているようです。
暗号化したボリュームの利用
暗号化されていると特に意識する必要はありません。
従来と同様にふつうに使えます。
[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を作成するとき
増設ボリュームに対して「暗号化するか」にチェックを入れられます。
チェックを入れてAMIを作成します。
増設ボリュームが暗号化されたAMIからラウンチするときは「暗号化されている」と表示されます。
ドキュメントのとおり、復号化できないようです。
さきほどはAMIの元になったインスタンスでは増設ボリュームは暗号化されていました。
改めて「暗号化するか」にチェックを入れられるようになっていました。
もしかしたら、チェックを入れないで AMIを作成すれば復号化される(暗号化されない)のかと思ったら…
そんなことはありませんでした。
EBS暗号化がサポートされる以前に作成したAMIでは、このようになります。
ラウンチするときにチェックを入れると暗号化されてラウンチされる…というステキなことはできないようです。
そのうちできるようになるでしょうか。
公式ドキュメントにあるようにマイグレーションする必要があるようです。
暗号化されたEBSを含むAMIを別アカウントにシェアすることはできないようです。
共有しようとして…
怒られます。「Add "create volume"...」のチェックを外しても共有できません。
暗号化されたEBSボリュームがあるインスタンス(AMI)の注意
公式ドキュメントにあるように、暗号化されたEBSボリュームを利用できるインスタンスタイプは決まっています。どのタイプでも…ではありません。
では、暗号化されたEBSボリュームを含むAMIを、暗号化EBSがサポートされていないインスタンスタイプでラウンチできるかを確認してみると…
やっぱり選べません。
このように、AWS Management Consoleでは親切に教えてくれますが、AutoScalingやCLI、SDKなどで何らかの自動化をしている場合は、おそらくラウンチしようとするまで気づきにくいことになるかもしれません。
まとめ
あとから暗号化する場合は一手間が必要ですが、これから新しく利用する場合はお手軽に暗号化できます。
利用料金の追加もないようです。
暗号化に関してIAMロールがあるのか、暗号化によってパフォーマンスに影響が出るのかなど調べることはまだありますが、ひとまず試してみた結果をまとめてみました。