オンプレミスサーバーに基づいた Amazon EC2 インスタンスを作成するために VM Import/Export を使用する方法を教えてください。

最終更新日: 2019 年 6 月 26 日

オンプレミスサーバーのコピーを Amazon Elastic Compute Cloud (Amazon EC2) インスタンスとして AWS に作成したいです。VM Import/Export での作成方法を教えてください。

解決方法

AWS Command Line Interface (AWS CLI) を使用して VM Import/Export ジョブを実行できます。次に、サーバーのコピーを Amazon Machine Image (AMI) として作成し、Amazon Simple Storage Service (Amazon S3) バケットにアップロードします。AMI を EC2 インスタンスとして起動できます。

大規模な移行の場合、AWS Server Migration Service (SMS) が移行プロセスを自動化します。VMware vSphere、Microsoft Hyper-V/SCVMM、および Azure で実行されているオンプレミスの仮想マシンをインポートできます。

始める前に、以下の操作を実行します。

  • VM がすべての VM Import/Export 要件を満たしていることを確認してください。
  • サポートされている Linux および Windows オペレーティングシステム、イメージ形式、ライセンスオプション、および VM Import/Export の制限を確認します。
  • VM Import/Export を使用するために AWS Identity and Access Management (IAM) ユーザーとしてサインインする場合は、IAM ユーザーに必要な権限がお使いのポリシーにあることを確認してください。

1.    ガイドラインに従って VM を準備してください。

2.    オンプレミスクライアントに AWS CLI をインストールし、これをVM Import/Export ユーザー用に生成された認証情報を使用して設定します。

3.    EC2 インスタンスを実行する予定の、同じ AWS リージョンに新しい S3 バケットを作成します。

4.    信頼ポリシー trust-policy.json を使用して「vmimport」という名前の IAM ロールを作成し、VM import サービスがそのロールを引き受けることを許可します。

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Principal": { "Service": "vmie.amazonaws.com" },
         "Action": "sts:AssumeRole",
         "Condition": {
            "StringEquals":{
               "sts:Externalid": "vmimport"
            }
         }
      }
   ]
}

5.    権限を付与するには、「vmimport」という名前の次の IAM ポリシーを IAM ロールに添付します。

注意: disk-image-file-bucket を S3 バケット名に置き換えてください。 

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:GetBucketLocation",
            "s3:GetObject",
            "s3:ListBucket" 
         ],
         "Resource":[
            "arn:aws:s3:::disk-image-file-bucket",
            "arn:aws:s3:::disk-image-file-bucket/*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "ec2:ModifySnapshotAttribute",
            "ec2:CopySnapshot",
            "ec2:RegisterImage",
            "ec2:Describe*"
         ],
         "Resource":"*"
      }
   ]
}

6.    選択したツールを使用してイメージを S3 バケットにアップロードします。

7.    クライアントマシンから、AWS CLI のコマンド import-image を実行します。

8.    インポートタスクのステータスを確認するには、AWS CLI コマンドの describe-import-image-tasks を実行します。

9.    イメージを AMI としてインポートしたら、AMI からインスタンスを起動する手順に従います。