はじめに
VMDKファイルをAmazon EC2にインポートして起動する方法のメモです。
Amazon EC2 API Toolsを利用したVMDKファイルのインポート
環境
環境は以下です。CentOS 7からAmazon EC2 API Toolsを使ってAWS環境へVMDKファイルをインポートします。
Amazon EC2 API Toolsを実行するためにJavaの実行環境が必要になりますので、別途インストールする必要があります。また、APIキー、アクセスキーを準備します。
VMDKファイルのインポート先にS3を利用する必要があるため、S3バケットを作成しておく必要があります。
プラットフォーム | さくらのVPS (SSD 1G) |
OS | CentOS 7.0 |
Javaバージョン | JDK 1.8.0_25 |
Java設置先ディレクトリ($JAVA_HOME)td> | ~/local/jdk1.8.0_25 |
Amazon EC2 API Toolsバージョン | 1.7.2.3 |
Amazon EC2 API Tools設置先ディレクトリ($EC2_HOME) | ~/local/ec2-api-tools-1.7.2.3 |
インポート用VM設置先S3バケット | ※S3バケットを準備 |
VMDKファイル | ※boxファイルから取り出したVMDKファイル |
インポート実行
必要な環境変数を設定します。
Java(JDK)の環境変数設定
JDK設置先(JAVA_HOME)を環境変数として設定します。
% export JAVA_HOME=~/local/jdk1.8.0_25
EC2 API Toolsの環境変数設定
Amazon EC2 API Tools設置先を環境変数として設定します。
$ export EC2_HOME=~/local/ec2-api-tools-1.7.2.3
AWSのアクセスキー/シークレットキーの環境変数設定
AWSのアクセスキー/シークレットキーの値を環境変数として設定します。
$ export AWS_ACCESS_KEY=xxxxxxxxxxxx
$ export AWS_SECRET_KEY=xxxxxxxxxxxx
インポート実行
ec2-import-instance
でインポートを実行します。hogehoge.vmdk
の部分にはインポートしたいVMDKファイルをフルパスで指定します。
$ ec2-import-instance hogehoge.vmdk -t t2.micro -f VMDK -a x86_64 --bucket s3-hogehoge -o $AWS_ACCESS_KEY -w $AWS_SECRET_KEY
- 書式
-t, --instance-type: 起動インスタンスタイプ
-f, --format: インポート対象ファイルの形式
-a, --architecture: VMイメージのアーキテクチャを指定(デォルトは i386)
-p, --platform: 仮想マシンのプラットフォームを指定
-b, --bucket: インポート先S3バケット名を指定
-o, --owner-akid: アクセスキーIDを指定
-w, --owner-sak: シークレットキーを指定
アップロードが完了するとS3バケットにファイルが作成され、US West(Origon)にインスタンスが作成されています。
おわりに
以上がVMDKファイルをインポートする手順となります。最後に、インポート後のS3バケットに作成されるファイルは不要なので削除しておきます。