VMexportをやってみた(Xen Server)

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

VMimportについては既にこちらで紹介されていますが、VMexportについては記載されていなかったので、まとめたいと思います。

前提として、VMimportによって作成されたインスタンスのみ、VMexportが可能です。

今回はXen Serverへのインポートを想定して、VMexportで出力するイメージはVHD形式としました。
指定できる出力形式は、VMDK(VMware)・VHD(Hyper-V・Xen)の二種類です。

 

【S3バケットへの権限追加】

VMexportでエクスポートしたイメージは、指定したS3バケットに保存されます。
その際、アクセス権限の設定が必要となります。

export1

Grannteeに「vm-import-export@amazon.com」と入力し、「List」「Upload/Delete」「View Permissions」にチェックをつけてください。
[Save]ボタンを押せばアクセス権限の設定は完了です。

export2

 

 

【インスタンスのエクスポート】

※事前にエクスポートしたいインスタンスをstopしてください。

ここからはAWS API Toolsを用いた作業になります。今回はCentOSにて作業しました。
まずは環境変数をセットします。


(例)
#export AWS_ACCESS_KEY="ABCDEFGHIJKLMNOPQRST"
#export AWS_SECRET_KEY="ABCDEFGHIJKLMNOPQRSTUVWXYZabvdefghijklmn"
#export AWS_URL"https://ec2.ap-northeast- 1.amazonaws.com"

※アクセスキー・シークレットキーはそれぞれ自分のアカウントのものを使用してください。
AWS_URLは、イメージをインポートしたいリージョンを指定してください。例では東京リージョンを使用しています。

 

そして以下のコマンドを用いてS3へとエクスポートを行います。

ec2-create-instance-export-task [インスタンスID] -e [ターゲット環境] -b [バケット名] -f [ファイルタイプ]
[インスタンスID]:エクスポートするインスタンスの ID
[ターゲット環境]:VMware、Citrix、または Microsoft
[バケット名]:エクスポート先のS3バケットの名前
[ファイルタイプ]:VMwareの場合VMDK、CitrixもしくはMicrosoftの場合VHD

(例) #ec2-create-instance-export-task i-02b4fbf0 -e Citrix -b exportkamiya -f VHD


次のコマンドでエクスポートの進捗を確認できます。

#ec2-describe-export-tasks
ec2-create-instance-export-task i-02b4fbf0 -e Citrix -b exportkamiya -f VHD
EXPORTTASK      export-i-ffmbw6o7              active          i-02b4fbf0       citrix  vhd
             exportkamiya    export-i-ffmbw6o7.vhd
You may monitor the progress of this task by running ec2-describe-export-tasks.

出力内容2行目の[active]が[completed]と表示されればエクスポートは完了しています。

 

保存先に指定したバケットを確認し、ファイルを右クリックして[Download]を選択後、任意の場所にダウンロードしてください。
ファイルをダウンロード後、作成したVHDファイルが不要であればS3バケットから削除してください。

あとは煮るなり焼くなり。xenにインポートしてみたところ、VMimportでAWS上に移行する前と同様に動きました。

 

【感想】

VMimportに比べるとサクッと作業が終わりました。importコマンドに比べてexportコマンドは引数が少ないですね。
ニフティクラウドでもVMimportが出来るみたいなので、それについても検証してみたいと考えています。
AWS→ニフティクラウドへの移行も楽にできるかもしれません!

コメントを残す

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

Time limit is exhausted. Please reload CAPTCHA.