VM ImportでVirtualBoxのCentOS 6.5からHVMインスタンスを作る




13640498733_acc7a928df_o [追記]しっかりした情報が中の人から発信されたので転載します!勉強になります!
CentOS6.5を VM ImportでEC2にインポートする
http://understeer.hatenablog.com/entry/2014/04/09/172554
HPCをAWSでやろうと思ったときに困ったのが、自分好みの良さそうなHVM-AMIが見当たらない事でした。とあるJAWSDAYSにてAWS松尾さんから「VirtualBoXからイメージ変換してVM Importすれば簡単にHVM-AMI作れますよ(キリッ」と伺ったときに、まじかー!と思ったのでやってみた。

前提条件

  • ホストにしたクライアントはMac Book ProのOS X 10.9.2
  • ゲストはCentOS-6.5-x86_64-bin-DVD1.iso
  • VirtualBox 4.3.10 r93012
  • ec2-api-tools-1.6.13.0
  • Java TM SE Development Kit 8(jdk-8-macosx-x64.dmg)

VirtualBoxでOSの作り込み

用途に合わせて好きに作り込みましょう。SELinuxを無効にしてみたりyum updateしてみたりしてみました。ネットワークアダプタは自動起動するようにしておいた方がいいかもしれませんが、通常は最小インストールで無ければ気にすることでも無いと思います。

VM Import出来るようにイメージを変換する

適当なディレクトリにvdiファイルのみをコピーして、VBoxManageコマンドを使ってRAWイメージに変換します。

EC2 API Toolsをセットアップする

Homebrewでインストールしてもいいですし、自分は普通にzipを落としてきて適当なディレクトリに置いてパスを通しただけです。(近いうちに詳細書きます・・・)

Java TM SE Development Kit 8をセットアップする

こちらもインストール後にパスを通します。(近いうちに詳細書きます・・・)

S3バケットを東京リージョンで用意しておく。

今回はバケット名をvmimport-testとしました。

VM Import用のスクリプトを用意する

クラスメソッド大瀧さんのブログからありがたく頂戴したスクリプトをちょっと改変して使わせて頂きました。

VM ImportでVMwareからAWS EC2へマイグレーションしてみた
http://dev.classmethod.jp/cloud/aws/vmimportfromvmwaretoec2/

インスタンスはm3.xlargeにしてありますが、本当はc3.8xlargeにしたかったんです。ところが、このOSだと選択したインスタンスは対応してないと弾かれてしまったので、とりあえずこれでImportした後に、インスタンスタイプを変更することで対応しました。

スクリプトを実際に走らせてみます

AWSマネジメントコンソールで確認

完了していれば、stop状態で出来上がっているはずです。インスタンスタイプの変更もOKですね。HVMで動作していることも確認できました。

以上、VM Import自体は簡単でした

S3にイメージファイルが残っているので消しちゃいましょう。ec2-delete-disk-imageコマンドが使えました。インスタンスにはセキュリティーグループを割り当てて、sshの鍵無しで普通にログイン出来ました。後は、SR-IOVを有効にするなど作り込みをしていけば、美しいOSイメージで計算が出来るようになりますね。

[HPC] C3.8xlarge のRHEL6.4 HVMで SR-IOVを有効にする
http://understeer.hatenablog.com/entry/2013/11/22/210804