小売業で働く社内SEのブログ

技術メモを適当にかいつまんで記載します

【AWS】Windows環境でオンプレVMをAWSのEC2にインポート(移行)する

元ネタはクラメソさんのこれです。

dev.classmethod.jp

クラメソさんのだとEC2 API Toolの利用がMacからだったので
Windows環境だとどうするかのメモ的なものになります。

といってもやる事は殆ど変わっていません。
仮想マシンをOVF形式でエクスポートするところまでは一緒ですので
・vmdkファイルはある前提です。
・S3のバケットも作っておいて下さい。
・EC2 API Toolは以下の「Download the Amazon EC2 API Tools」から落とせます。
Amazon EC2 API Tools : Developer Tools : Amazon Web Services

おもむろにcmdを開きましてToolsのパスを設定

PATH=C:\Program Files\Amazon\ec2-api-tools-1.7.5.1\bin\


EC2_HOMEとJAVA_HOMEの設定(しないと後々出てくるec2-import-instanceで怒られる)

SET EC2_HOME=C:\Program Files\Amazon\ec2-api-tools-1.7.5.1
SET JAVA_HOME=C:\Program Files\Java\jdk1.7.0_51


S3へのアクセスキーとシークレットキーを設定

SET AWS_ACCESS_KEY=アクセスキー
SET AWS_SECRET_KEY=シークレットキー


リージョンの設定(以下はアジアパシフィック東京)

SET EC2_URL=https://ec2.ap-northeast-1.amazonaws.com


プロキシの設定

SET EC2_JVM_ARGS=-Dhttp.proxySet=true -Dhttps.proxySet=true -Dhttp.proxyHost=XX.XX.XX.XX -Dhttp.proxyPort=XX -Dhttps.proxyHost=XX.XX.XX.XX -Dhttps.proxyPort=XX


で、以下のコマンドでvmdkファイルからEC2作成

ec2-import-instance C:\disk1.vmdk -f VMDK -t t2.micro -a i386 -b einherjar1632-bucket -o アクセスキー -w シークレットキー -p Linux --subnet subnet-XXXXXXXX --private-ip-address XX.XX.XX.XX -z ap-northeast-1a

-t:EC2のインスタンスタイプを設定
-a:32bitOSなら「i386」を、64bitOSなら「x86_64」を設定
-b:S3のバケットを設定
-p:Windows環境の場合は「Windows」にして下さい。
--subnet:EC2に指定するサブネットを設定
--private-ip-address:EC2に適用するIPを設定


以下コマンドを実行し、Completeとなってたら出来ていると思います。

ec2-describe-conversion-tasks

S3にアップされてからEC2化するまで暫く時間がかかるので、定期的に実行して確認すると良いです。
無事EC2ができたらS3の中身は邪魔ですので消しておきましょう。