Exporting an instance as a VM using VM Import/Export - VM Import/Export

Exporting an instance as a VM using VM Import/Export

Exporting as a VM is useful when you want to deploy a copy of an Amazon EC2 instance in your virtualization environment. You can export most EC2 instances to Citrix Xen, Microsoft Hyper-V, or VMware vSphere.

When you export an instance, you are charged the standard Amazon S3 rates for the bucket where the exported VM is stored. In addition, there might be a small charge for the temporary use of an Amazon EBS snapshot. For more information about Amazon S3 pricing, see Amazon Simple Storage Service Pricing.

Prerequisites

Important

You can't export a VM to an S3 bucket that uses the bucket owner enforced setting for S3 Object Ownership because ACLs are disabled. For more information, see Configuring ACLs in the Amazon Simple Storage Service User Guide.

To export a VM from Amazon EC2, first meet the following prerequisites.

  • Install the AWS CLI. For more information, see the AWS Command Line Interface User Guide.

    Tip

    In supported AWS Regions, you can also use AWS CloudShell for a browser-based, pre-authenticated shell that launches directly from the AWS Management Console.

  • Create an Amazon S3 bucket for storing the exported instances or choose an existing bucket. The bucket must be in the Region where you want export your VMs. Additionally, the bucket must belong to the AWS account where you are performing the export operation. For more information, see the Amazon Simple Storage Service User Guide.

  • Prepare your Amazon S3 bucket by attaching an access control list (ACL) containing the following grants. For more information, see Managing Access with ACLs in the Amazon Simple Storage Service User Guide.

    • For Grantee, provide the appropriate Region-specific canonical account ID:

      Africa (Cape Town)

      3f7744aeebaf91dd60ab135eb1cf908700c8d2bc9133e61261e6c582be6e33ee

      Asia Pacific (Hong Kong)

      97ee7ab57cc9b5034f31e107741a968e595c0d7a19ec23330eae8d045a46edfb

      Asia Pacific (Hyderabad)

      77ab5ec9eac9ade710b7defed37fe0640f93c5eb76ea65a64da49930965f18ca

      Asia Pacific (Jakarta)

      de34aaa6b2875fa3d5086459cb4e03147cf1a9f7d03d82f02bedb991ff3d1df5

      Asia Pacific (Melbourne)

      8b8ea36ab97c280aa8558c57a380353ac7712f01f82c21598afbb17e188b9ad5

      Asia Pacific (Osaka)

      40f22ffd22d6db3b71544ed6cd00c8952d8b0a63a87d58d5b074ec60397db8c9

      Canada West (Calgary)

      78e12f8d798f89502177975c4ccdac686c583765cea2bf06e9b34224e2953c83

      Europe (Milan)

      04636d9a349e458b0c1cbf1421858b9788b4ec28b066148d4907bb15c52b5b9c

      Europe (Spain)

      6e81c4c52a37a7f59e103625162ed97bcd0e646593adb107d21310d093151518

      Europe (Zurich)

      5d9fcea77b2fb3df05fc15c893f212ae1d02adb4b24c13e18586db728a48da67

      Israel (Tel Aviv)

      328a78de7561501444823ebeb59152eca7cb58fee2fe2e4223c2cdd9f93ae931

      Middle East (Bahrain)

      aa763f2cf70006650562c62a09433f04353db3cba6ba6aeb3550fdc8065d3d9f

      Middle East (UAE)

      7d3018832562b7b6c126f5832211fae90bd3eee3ed3afde192d990690267e475

      China (Beijing) and China (Ningxia)

      834bafd86b15b6ca71074df0fd1f93d234b9d5e848a2cb31f880c149003ce36f

      AWS GovCloud (US)

      af913ca13efe7a94b88392711f6cfc8aa07c9d1454d4f190a624b126733a5602

      All other Regions

      c4d8eabf8db69dbe46bfe0e517100c554f01200b104d59cd408e777ba442a322

    • For each Grantee, provide the following permissions:

      • READ_ACP (In the Amazon S3 console, Bucket ACL should have the Read permission)

      • WRITE (In the Amazon S3 console, Objects should have the Write permission)

Considerations for instance export

Exporting instances and volumes is subject to the following limitations:

  • You must export your instances and volumes to one of the following image formats that your virtualization environment supports:

    • Open Virtual Appliance (OVA), which is compatible with VMware vSphere versions 4, 5, and 6.

    • Virtual Hard Disk (VHD), which is compatible with Citrix Xen and Microsoft Hyper-V virtualization products.

    • Stream-optimized ESX Virtual Machine Disk (VMDK), which is compatible with VMware ESX and VMware vSphere versions 4, 5, and 6.

  • You can't export an instance if it contains third-party software provided by AWS. For example, VM Export cannot export Windows or SQL Server instances, or any instance created from an image in the AWS Marketplace.

  • You can't export an instance with encrypted EBS snapshots in the block device mapping.

  • You can't export an instance with instance store volumes in the block device mapping.

  • You can only export EBS volumes that are specified in the block device mapping, not EBS volumes attached after instance launch.

  • You can't export an instance launched from an imported image if you deleted the AMI or the EBS snapshot for the AMI. To work around the issue, create an AMI from the instance and export the AMI.

  • You can't export an instance that has more than one virtual disk.

  • You can't export an instance that has more than one network interface.

  • You can't export an instance from Amazon EC2 if you've shared it from another AWS account.

  • By default, you can't have more than 5 conversion tasks per Region in progress at the same time. This limit is adjustable up to 20.

  • VMs with volumes larger than 1 TiB are not supported.

  • You can export a volume to either an unencrypted S3 bucket or to a bucket encrypted using SSE-S3. You cannot export to an S3 bucket encrypted using SSE-KMS.

  • VM Import/Export only supports exporting VMs to an Amazon S3 bucket in the same AWS account that you export them from.

  • Export operations do not support hybrid configurations. GRUB2 must be enabled for either BIOS or UEFI, but it can't be enabled for both.

Start an instance export task

Important

Your instance might reboot during the export process. Ensure that you are performing this action when some downtime is acceptable.

To export your instance, use the create-instance-export-task command. The exported file is written to the specified S3 bucket in the following S3 key: prefixexport-i-xxxxxxxxxxxxxxxxx.format (for example, my-export-bucket/vms/export-i-1234567890abcdef0.ova).

aws ec2 create-instance-export-task --instance-id instance-id --target-environment vmware --export-to-s3-task file://C:\file.json

The file file.json is a JSON document that contains the required information.

{ "ContainerFormat": "ova", "DiskImageFormat": "VMDK", "S3Bucket": "my-export-bucket", "S3Prefix": "vms/" }

The following is an example response. The status shown is active, which means that the export task is in progress. The instance export is finished when the status is completed.

{ "ExportTask": { "ExportTaskId": "export-i-021345abcdef6789", "ExportToS3Task": { "ContainerFormat": "ova", "DiskImageFormat": "vmdk", "S3Bucket": "my-export-bucket", "S3Key": "vms/export-i-021345abcdef6789.ova" }, "InstanceExportDetails": { "InstanceId": "i-021345abcdef6789", "TargetEnvironment": "vmware" }, "State": "active" } }

Monitor an instance export task

To monitor the export of your instance, use the following describe-export-tasks command:

aws ec2 describe-export-tasks --export-task-ids export-i-1234567890abcdef0

Cancel an instance export task

If you need to, you can use the following cancel-export-task command to cancel the export of an instance that is in progress.

aws ec2 cancel-export-task --export-task-id export-i-1234567890abcdef0

This command removes all artifacts of the export, including any partially created Amazon S3 objects. If the export task is complete or is in the process of transferring the final disk image, the command fails and returns an error.