スナップショットからAMIを作成してスナップショットを作成した時点の状態に
EC2インスタンスを復元するという対応はしているのですが、
スナップショットからWindowsのAMIを作成することは現時点では対応できていません。
これにより、定期的にスナップショットは取得しているいますが、実際に復元する場合は、
AMIを作成することはできないので、Windows自体の復元はできず、Root Device(Cドライブ)を
任意にアタッチして、ファイルを取り出すことしかできないと思っていました。
しかし、cloudpack Night #1 で @oko_chang が、それに近い内容を発表してくれました。
(ありがとうございます!)
発表内容は、Windows AMIのリージョン間移行だったのですが、
移行元リージョンにあるWindowsのスナップショットを取得して移行先リージョンのWindowsで
復元するという部分は、まさに上記の問題の解決方法となります。
基本的な考え方として、インスタンスはストップするとRoot DeviceのEBSも交換できるので、
AMIを作るのではなく、スナップショットから作成したRoot DeviceのEBSを、
適当なWindowsのものと差し替えてしまうものです。
具体的な手順は下記となります。
はじめに、バックアップになります。
(1)スナップショットを取得するインスタンス(バックアップ元)を停止します。
(2)停止したインスタンスのEBS(Root Device)のスナップショットを取得します。
(3)スナップショットが取得できたら、取得元のインスタンスをターミネートします。
そして、復元となります。
(4)スナップショットからEBSを作成します。
※サイズはスナップショットと同じ(30G)にします。
※ゾーン(AZ)は復元に使うインスタンスと同じ(a)にします。
(5)予め起動していた復元用インスタンス(Windows)を停止します。
(6)復元用インスタンスのEBS(Root Device)をデタッチします。
(7)復元用インスタンスにスナップショット(バックアップ元)から作成したEBS(Root Device)をアタッチします。
※デバイスはRoot Deviceとしてアタッチするので /dev/sda1 とします。
(8)復元用インスタンスをスタートします。
リモートデスクトップでログインすると、スナップショットを取得したWindowsが
復元されていることを確認することができます。
今までは、できないと思っていたので再インストールしていました。