この記事の目次
AWSのVM Importとは?
AWSのVM ImportとはVMという仮想マシンイメージを仮想化環境からAWS EC2にインポートすることを指します。
これにより、アプリのAWS EC2への移行やイメージのコピー、イメージのリポジトリを作成することでセキュリティを強化することができます。
AWSのVM Importの利点
AWSのVMの機能を使えば、VMをインポートすることによって、すでに情報が設定されている仮想マシーンイメージを出し入れすることができます。他にもいくつか利点があるので、詳しく紹介します。
アプリやワークロードをEC2に移行する
VM内で設定した情報の保存やアプリやワークロードのインポートにより、同じイメージから複数のインスタンスを実行することができます。
さらに、そのアプリやワークロードの要件が変わるたびにインスタンスを変える必要もありません。
イメージカタログをEC2にコピーする
すでにあるイメージカタログにEC2をコピーすることができます。これによって、VMからAMIを作ることができるようになり、AMIはEC2内でイメージカタログとして機能します。
災害復旧対策をして使える
インポートされたイメージをElastic Block Store-backedのAMIとして保存することで、EC2でそれらを起動することができるようになります。
さらに、インスタンスを起動するまでにはElastic Block Store分の料金以外は支払う必要がありません。
AWSのVM Importの使用方法
AWSのVM Importの使用方法について、実際のコードを見ながら確認していきます。ここでは、イメージとしてインポートする場合とスナップショットとしてディスクをインポートする場合に分けて説明します。
イメージとしてVMをインポートする
VMイメージファイルをAWS S3にアップロードし、AWS CLIを使うことでアップロードすることができます。ここでは、イメージのインポートからインポートタスクを作成します。以下の二つの例を参考にしましょう。
1つのディスクでイメージをインポートする
以下のコマンドを使い、一つのディスクでイメージをインポートします。
aws ec2 import-image --description "My server VM" --disk-containers "file://C:\import\containers.json"
こちらは、containers.jsonファイルの例です。
[
{
"Description": "My Server OVA",
"Format": "ova",
"UserBucket": {
"S3Bucket": "my-import-bucket",
"S3Key": "vms/my-server-vm.ova"
}
}]
複数のディスクを含むイメージをインポートする
以下のコマンドを使い、複数のディスクでイメージをインポートします。
$ C:\> aws ec2 import-image --description "My server disks" --disk-containers "file://C:\import\containers.json"
こちらは、containers.json ファイルの例です。
[
{
"Description": "First disk",
"Format": "vmdk",
"UserBucket": {
"S3Bucket": "my-import-bucket",
"S3Key": "disks/my-server-vm-disk1.vmdk"
}
},
{
"Description": "Second disk",
"Format": "vmdk",
"UserBucket": {
"S3Bucket": "my-import-bucket",
"S3Key": "disks/my-server-vm-disk2.vmdk"
}
}
]
暗号化オプションを有効にした状態でインポート
以下のコマンドを使い、暗号化オプション有効にした状態でインポートします。
aws ec2 import-image --description "My server disks" --encrypted --kms-key-id 0ea3fef3-80a7-4778-9d8c-1c0c6EXAMPLE --disk-containers "file://C:\import\containers.json"
イメージのインポートタスクの監視
以下のコマンドを使用して、インポートタスクを監視します。
aws ec2 describe-import-image-tasks --import-task-ids import-ami-1234567890abcdef0
イメージのインポートを終えると、次のようなコードが出力されます。
{
"ImportImageTasks": [
{
"ImportTaskId": "import-ami-01234567890abcdef",
"ImageId": "ami-1234567890EXAMPLE",
"SnapshotDetails": [
{
"DiskImageSize": 705638400.0,
"Format": "ova",
"SnapshotId": "snap-111222333444aaabb"
"Status": "completed",
"UserBucket": {
"S3Bucket": "my-import-bucket",
"S3Key": "vms/my-server-vm.ova"
}
}
],
"Status": "completed"
}
]
}
イメージのインポートタスクをキャンセル
以下のコマンドを使用して、インポートタスクをキャンセルします。
aws ec2 cancel-import-task --import-task-id import-ami-1234567890abcdef0
スナップショットとしてディスクをインポートする
以下のコマンドを使い、スナップショットとしてディスクをインポートします。
aws ec2 import-snapshot --description "My server VM" --disk-container "file://C:\import\containers.json"
containers.json ファイルは、ドキュメント内に必要な情報を含みます。
{
"Description": "My server VMDK",
"Format": "VMDK",
"UserBucket": {
"S3Bucket": "my-import-bucket",
"S3Key": "vms/my-server-vm.vmdk"
}
}
以下のコードが応答結果になります。
{
"Description": "My server VM",
"ImportTaskId": "import-snap-1234567890abcdef0",
"SnapshotTaskDetail": {
"Description": "My server VMDK",
"DiskImageSize": "0.0",
"Format": "VMDK",
"Progress": "3",
"Status": "active",
"StatusMessage": "pending",
"UserBucket": {
"S3Bucket": "my-import-bucket",
"S3Key": "vms/my-server-vm.vmdk"
}
}
}
スナップショットのインポートタスクの監視
以下のコマンドを使用して、インポートタスクを監視します。
aws ec2 describe-import-snapshot-tasks --import-task-ids import-snap-1234567890abcdef0
以下のコードが応答結果になります。
{
"ImportSnapshotTasks": [
{
"Description": "My server VM",
"ImportTaskId": "import-snap-1234567890abcdef0",
"SnapshotTaskDetail": {
"Description": "My server VMDK",
"DiskImageSize": "3.115815424E9",
"Format": "VMDK",
"Progress": "22",
"Status": "active",
"StatusMessage": "downloading/converting",
"UserBucket": {
"S3Bucket": "my-import-bucket",
"S3Key": "vms/my-server-vm.vmdk"
},
}
}
]
}
スナップショットのインポートタスクをキャンセル
以下のコードを使用して、インポートタスクをキャンセルします。
aws ec2 cancel-import-task --import-task-id import-snap-1234567890abcdef0
AWSのVM Importを実際に使ってみよう!
いかがだったでしょうか?
今回は、AWSのVM Importについて紹介しました。VM Importを使えば、VMをAMIとしてEC2にインポートしたり、イメージカタログとしてコピーすることもできます。
ぜひこの記事を参考に、AWSのVM Importを実際に使ってみてください。
この記事の監修者・著者

-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
最新の投稿
- 2023年11月21日キャリア・転職ITエンジニアへのキャリアチェンジに多い理由は?
- 2023年11月20日キャリア・転職フリーターからの就職でおすすめの職業は?
- 2023年11月20日キャリア・転職経理へのキャリアチェンジ転職・志望動機は?
- 2023年11月20日キャリア・転職法務からのキャリアチェンジおすすめの業界は?