Xen ServerイメージをAWS上へVM Importしてみました

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWSのVM Importが出来たので、その記録を残します。
参考になれば幸いです。

システム環境

Import元のシステムは以下を使いました。

仮想: Citrix Xen Server 6.2.0 SP1

xen-version

ゲスト:CentOS 6.4(10GBのストレージ、NIC*1)

centos-network centos-storage

作業環境は、Windows7 + Citrix Xen Centerと、
Ubuntu + ec2-api-toolsを使っています。

まずは、ゲストOSをExportしてイメージファイルを取ります。

centos-export centos-location centos-vm centos-eula centos-ova centos-netopt centos-setting centos-log
完了すると、C:\CentOS6.4の中に、VHDファイルができあがります。

centos-vhd

AWSでの作業

ここから先はAWSへの作業なります。
個人的にLinuxでの作業のほうが楽なので、出来あがったVHDファイルをUSBメモリ等でLinuxに持って行って作業します。(OVFファイルは不要です)

あらかじめ、S3のバケットと、インスタンスに適用するSecurityGroupを作成しておく必要があります。
次のコマンドを使って、S3にイメージをアップロードして、EC2インスタンスを作成します。

ec2-import-instance VHDファイル名 -t m3.xlarge -f VHD -a x86_64 -b S3バケット名 -g SecurityGroup名 -z ap-southeast-1a -p Linux --region ap-southeast-1 -o アクセスキー -w シークレットキー

一部改変しますが、具体的には、

ec2-import-instance 17519150-e914-46e5-8baf-d6805b6a4e2e.vhd -t m3.xlarge -f VHD -a x86_64 -b vhdfile-centos -g tcpall -z ap-southeast-1a -p Linux --region ap-southeast-1 -o ABCDEFGHIJKLMNOPQRST -w ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn

イメージのアップロードの進捗が出ます。

Requesting volume size: 10 GB
TaskType IMPORTINSTANCE TaskId import-i-fgns67y9 ExpirationTime 2014-01- 30T02:06:18Z Status active StatusMessage Pending InstanceID i-58fadb0e

DISKIMAGE DiskImageFormat VHD DiskImageSize 1065635840 VolumeSize 10 AvailabilityZone ap-southeast-1a ApproximateBytesConverted 0 Status active StatusMessage Pending

Creating new manifest at vhdfile-centos/18496c78-faf6-4006-943d-3c7301b2b533/17519150-e914-46e5-8baf-d6805b6a4e2e.vhdmanifest.xml
Uploading the manifest file
Uploading 1065635840 bytes across 102 parts
0% |==================================================| 100%
Average speed was 0.868 MBps
The disk image for import-i-fgns67y9 has been uploaded to Amazon S3
where it is being converted into an EC2 instance. You may monitor the
progress of this task by running ec2-describe-conversion-tasks. When
the task is completed, you may use ec2-delete-disk-image to remove the
image from S3.

※ import-i-fgns67y9 はタスクIDです。次のコマンドで使います。

その後、AWSで自動的にインスタンスの作成が始まっています。
次のコマンドで、インスタンスの作成状況を確認します。

# ec2-describe-conversion-tasks --region ap-southeast-1 import-i-fgns67y9
TaskType IMPORTINSTANCE TaskId import-i-fgns67y9 ExpirationTime 2014-01-30T02:06:18Z Status active StatusMessage Progress: 56%InstanceID i-58fadb0e
DISKIMAGE DiskImageFormat VHD DiskImageSize 1065635840 VolumeId vol-6eaa8561 VolumeSize 10 AvailabilityZone ap-southeast-1a ApproximateBytesConverted 1065635840 Status completed

Progressが100%になったら完了です!
EC2のコンパネで確認してください。出来上がっているはずです。

最後に、不要になったらS3に保存されているイメージファイルを削除したほうが、お金の節約になります。

# ec2-delete-disk-image --region ap-southeast-1 -o ABCDEFGHIJKLMNOPQRST -w ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn -t import-i-fgns67y9

以上で、 VM Import の検証ができました!

こちらの記事は社内エンジニアブログ集約化に伴い、下記ブログより転載許可を頂いている内容となります。
http://cloud-aws.blogspot.jp/

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.