自由帳

とりとめのない学習メモです。主に Web サービスのシステム基盤や運用に関することを書いています

Amazon EC2 API Toolsを使ってVMDKファイルをAWS環境へインポートする

はじめに

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バケットに作成されるファイルは不要なので削除しておきます。