OS領域: C.vhd データ領域: D.vhd
という2つのイメージがあるとします。
1.AmazonLinuxをエクスポートしたイメージより大きい容量にして起動します。
2.AWSコンソールからS3のバケットを一つ作ります
3.起動したAmazonLinuxにイメージを転送し、シェルでログインします。
4.環境変数をセットします
export AWS_ACCESS_KEY={ACCESS_KEY} export AWS_SECRET_KEY={SECRET_KEY} export EC2_URL=https://ec2.ap-northeast-1.amazonaws.com export EC2_REGION=ap-northeast-1
5.OS領域からインスタンスを作成する
ec2-import-instance C.vhd -t t2.medium -f VHD -a x86_64 -p Windows \ -b {bucket} -z ap-northeast-1c --subnet {subnet} \ -o {ACCESS_KEY} -w {SECRET_KEY}
t2.smallでおこなってもうまくいきませんでした、windowsだと最低限必要なタイプとかあるんでしょうか
ec2-describe-conversion-tasks
で進捗状況確認後(StatusMessage Progress が 100% になったら)、STATUSがCompletedになったら
ec2-delete-disk-image -t {task_id} -o {ACCESS_KEY} -w {SECRET_KEY}
でS3に作成された一時ファイルを削除します。
6.データ領域からEBSボリュームを作成する
ec2-import-volume D.vhd -f VHD -b {bucket} \ -z ap-northeast-1c -o {ACCESS_KEY} -w {SECRET_KEY}
ec2-describe-conversion-tasks
で進捗状況確認、STATUSがCompletedになったら
ec2-delete-disk-image -t {task_id} -o {ACCESS_KEY} -w {SECRET_KEY}
でS3に作成された一時ファイルを削除します。
7.EBSボリュームをアタッチする
5で停止状態のインスタンスが作成されるので、 セキュリティグループをWindowsのリモートデスクトップで接続できるものに変更し、 6で作成したボリュームをアタッチします。
7.ElasticIPを振ります。
8.インスタンスを起動し、リモートデスクトップでログインします。
なお、t2.mediumで起動しましたが、停止してt2.smallに変更することができました。