EC2インスタンスリージョン間移行(Windows編)
Windowsインスタンスもリージョン間移行してみた。
多少強引ではあるが、C:ドライブを付け替えてしまうというアプローチです。非公式かつ無保証なので注意!
前提条件
準備
移行対象のWindowsには、administratorと別のadmin権限アカウントをつくっておくとよいかもしれない。
Linux編を参考にインスタンス間でssh接続ができるように、Security Groupやssh鍵の設定を済ませておく。
もし作業をAmazon Linux AMIで行う場合には、UNIXのdiskグループにec2-userなどログインに使うユーザを加えておくとよい。
イメージのコピー
AMIに紐づいているsnapshotをボリューム化し、移行元リージョンのLinuxインスタンスにアタッチする。
もしくは稼働中のインスタンスをstopし、ボリュームのアタッチ先を変えてもよい。
移行先に移行元と同容量(もしくは後からexpandする前提で大きめのサイズ)のボリュームを作成し、アタッチする。
移行元、移行先ともに/dev/sdgにアタッチしている場合は、下記のようなコマンドでネットワーク間コピーができる。
ec2-user@src $ dd if=/dev/sdg | gzip -c1 | ssh ec2-user@<DST_IP> "gzip -dc > /dev/sdg"
インスタンスの起動
移行先リージョンで、元のインスタンスと同じバージョンのWindowsインスタンスを起動する。root deviceのタイプとi386/x86_64に注意。
パスワードが得られる状態になったら、stopしておく。
rootボリュームの付け替え
- /dev/sda1としてマウントされてるボリュームを外す
- 先ほどコピーしたボリュームを/dev/sda1としてアタッチする