VM Import/Export を使用したイメージとしての VM のインポート - VM Import/Export

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

VM Import/Export を使用したイメージとしての VM のインポート

ヒント

コンソールベースのエクスペリエンスで仮想マシン (VM) をインポートするには、Migration Hub Orchestrator コンソールの [仮想マシンイメージを AWS テンプレートにインポート] を使用できます。詳細については、『AWS Migration Hub Orchestrator ユーザーガイド』を参照してください。

VM Import/Export を使用して、仮想化環境から Amazon EC2 に仮想マシン (VM) イメージを、インスタンスの起動に使用できる Amazon マシンイメージ (AMI) としてインポートできます。その VM イメージは、後でインスタンスから仮想化環境にエクスポートできます。これにより、Amazon EC2 に移行されるため、IT セキュリティ、構成管理、およびコンプライアンス要件に合わせて作成した VM への投資が無駄になりません。

重要
  • AWSVM Import/Export では、新しい VM Import タスクを作成するときに、--license-typeまたは--usage-operationパラメータのいずれかに値を指定することを強くお勧めします。これにより、オペレーティングシステムへの適切なライセンス付与と請求の最適化が確実になります。詳細については、「ライセンスオプション」を参照してください。

  • AWS VM Import/Export は、ソース VM 内にネイティブにインストールされたイメージのみをサポートし、 physical-to-virtual (P2V) 変換プロセスを使用して作成されたイメージはサポートしません。詳細については、「VM Import/Export の要件」を参照してください。

VM の仮想化環境からのエクスポート

VM をエクスポートする準備ができたら、それを仮想化環境からエクスポートできます。イメージとして VM をインポートする場合、次の形式でディスクをインポートできます。Open Virtualization Archive (OVA)、Virtual Machine Disk (VMDK)、Virtual Hard Disk (VHD/VHDX)、raw。仮想化環境によっては、通常 1 つ以上の VMDK、VHD、または VHDX ファイルを含む Open Virtualization Format (OVF) にエクスポートした後、ファイルを OVA ファイルにパッケージ化することになります。

詳細については、「仮想化環境」のドキュメントを参照してください。例:

プログラムによる VM への変更

ImportImage API を使用して VM をインポートするときに、AWS はファイルシステムを変更し、インポートされた VM をアクセス可能にします。変更されたファイルを書き込むときに、AWS は元のファイルを同じ場所に新しい名前で保持します。以下のアクションが発生する場合があります。

全般
  • AWS が提供するイメージとの同等性を保つために、AWS Systems Manager クライアントが VM にインストールされています。

Windows
  • VM を起動可能にするためにレジストリ設定を変更する。

Linux
  • Citrix PV ドライバを直接 OS にインストールするか、initrd/initramfs を変更してそれらを含める。

  • ネットワークスクリプトを変更し、静的 IP を動的 IP に置き換える。

  • /etc/fstab を変更し、無効なエントリをコメントアウトして、デバイス名を UUID で置き換える。一致する UUID がデバイスに対して見つからない場合、nofail オプションがデバイスの説明に追加されます。デバイス名を修正し、インポート後に nofail を削除する必要があります。ベストプラクティスとして、インポートのために VM を準備中に、デバイス名ではなく UUID によって VM ディスクデバイスを指定することをお勧めします。

    標準以外のファイルシステムの種類 (cifs、smbfs、vboxsf、sshfs など) を含む、/etc/fstab のエントリは無効になります。

  • デフォルトのエントリとタイムアウトなど、grub ブートローダー設定を変更する。

イメージとしての VM のインポート

VM を仮想化環境からエクスポートした後に、Amazon EC2 にインポートできます。インポートプロセスは、VM の送信元に関係なく同じです。

前提条件

Amazon S3 へのイメージのアップロード

任意のアップロードツールを使用して、Amazon S3 バケットに VM イメージファイルをアップロードします。Amazon S3 コンソールからオブジェクトをアップロードする方法については、オブジェクトのアップロードを参照してください。

VM のインポート

Amazon S3 に VM イメージファイルをアップロードした後、AWS CLI を使用してイメージをインポートできます。これらのツールは、Amazon S3 バケットおよびファイルへのパス、またはパブリック Amazon S3 ファイルの URL のいずれかを受け取ります。プライベート Amazon S3 ファイルには署名付き URL が必要です。Migration Hub Orchestrator コンソールの [仮想マシンイメージを AWS テンプレートにインポート] を使用して、オンプレミスの仮想マシンイメージを AWS にインポートすることもできます。詳細については、「Example 4」を参照してください。

次の例では、AWS CLI コマンド import-image を使用してインポートタスクを作成します。

例 1: 1 つのディスクでのイメージのインポート

次のコマンドを使用して、1 つのディスクでイメージをインポートします。

aws ec2 import-image --description "My server VM" --disk-containers "file://C:\import\containers.json"

以下は、S3 バケットを使ってイメージを指定する containers.json ファイルの例です。

[ { "Description": "My Server OVA", "Format": "ova", "UserBucket": { "S3Bucket": "my-import-bucket", "S3Key": "vms/my-server-vm.ova" } } ]

以下は、Amazon S3 の URL を使ってイメージを指定する containers.json ファイルの例です。

[ { "Description": "My Server OVA", "Format": "ova", "Url": "s3://my-import-bucket/vms/my-server-vm.ova" } ]

例 2: 複数のディスクでのイメージのインポート

複数のディスクを含むイメージをインポートするには、以下のコマンドを使用します。

$ 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" } } ]

例 3: 暗号化オプションを有効にしたディスクのインポート

暗号化されたルートボリュームを持つイメージをインポートするには、次のコマンドを使用します。

aws ec2 import-image --description "My server disks" --encrypted --kms-key-id 0ea3fef3-80a7-4778-9d8c-1c0c6EXAMPLE --disk-containers "file://C:\import\containers.json"

暗号化用に指定された CMK をインポートプロセス全体で無効にすることはできません。詳細については、Amazon EC2 ユーザーガイドAmazon EBS 暗号化を参照してください。

例 4: Migration Hub Orchestrator の [仮想マシンイメージを AWS テンプレートにインポート] を使用してイメージをインポートする

  1. Migration Hub Orchestrator コンソールを開きます。

  2. ナビゲーションペインで、[移行ワークフローの作成] を選択します。

  3. [ワークフローテンプレートの選択] ページで、[仮想イメージを AWS テンプレートにインポート] を選択します。

  4. ワークフローを設定して送信し、VM のインポートを開始します。詳細については、『AWS Migration Hub Orchestrator ユーザーガイド』を参照してください。

イメージのインポートタスクのモニタリング

describe-import-image-tasks コマンドを使用して、インポートタスクのステータスを返します。

aws ec2 describe-import-image-tasks --import-task-ids import-ami-1234567890abcdef0

次のようなステータス値があります。

  • active — インポートタスクは進行中です。

  • deleting — インポートタスクはキャンセルされています。

  • deleted — インポートタスクはキャンセルされました。

  • updating — インポートのステータスを更新しています。

  • validating — インポートしたイメージを検証中です。

  • validated — インポートしたイメージが検証されました。

  • converting — インポートしたイメージを AMI に変換しています。

  • completed — インポートタスクは完了し、AMI はすぐに使用できます。

イメージのインポートタスクが完了すると、出力に AMI の ID が含まれます。以下は、ImageId を含む出力の例です。

{ "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" } ] }

イメージのインポートタスクのキャンセル

アクティブなインポートタスクをキャンセルする必要がある場合は、 cancel-import-task コマンドを使用します。

aws ec2 cancel-import-task --import-task-id import-ami-1234567890abcdef0

次のステップ

イメージのインポートタスクが完了した後、生成された AMI を使用してインスタンスを起動するか、AMI を別のリージョンにコピーします。

一部のオペレーティングシステムでは、Nitro ベースのインスタンスに必要な拡張ネットワーキングおよび NVMe ブロックデバイス用のデバイスドライバは、インポート中に自動的にインストールされません。これらのドライバを手動でインストールするには、次のドキュメントの指示に従って行います。次に、カスタマイズされたインスタンスから新しい AMI を作成します。