This whitepaper demonstrates a simple solution for migrating a VMWare virtual machine (VM) contained on a vVol datastore to Amazon Web Services (AWS), and converting the VM to an operational EC2 instance. The information contained in this document is catered towards a solution architect or migration engineering audience to help provide a baseline understanding of performing a data migration to AWS from an on-premises VMware environment with Pure Storage™.
This solution leverages CloudEndure (an AWS company) for the migration of the VM’s boot vVol and Pure Storage array-based replication for migration of the data vVols to AWS. Data vVol replication is achieved via async replication from an on-premises FlashArray to Pure Cloud Block Store (CBS) on AWS and replica volume is then presented to the newly created EC2 initiator via in-guest iSCSI.
By using the combined software capabilities of both CloudEndure and Cloud Block Store, enterprises will gain a viable method for migrating vVol VMs to AWS while also taking full advantage of the benefits that come from utilizing an array-based shared storage pool. These benefits include Pure Storage’s industry-leading data reduction combined with enterprise-class storage features including array-based replication, instantaneous snapshots, and Purity CloudSnap™. In addition, CloudEndure provides a reliable and proven agent-based VM migration and EC2 conversion technology on AWS.
The primary use-cases highlighted in this document include disaster recovery and dev/test.
Pure Cloud Block Store on AWS with CloudEndure migration provides a unique hybrid-cloud approach for Pure Storage customers with an on-premises FlashArray™ and VMWare vVol datastore environment. This combined solution offers a simple method for vVol VM migration to AWS while preserving dedup on the wire. For data vVol migration, Pure Storage array-based replication also compresses the data thus minimizing the upload payload and reducing the total bandwidth requirement.
Virtual Machine disks typically consist of a boot volume and one or more data volumes. The boot volume will usually contain the OS and application install along with any required packages, dependencies, and configuration. A data volume will usually contain the application data or user database. Under this virtual machine disk configuration, the boot volume and corresponding data volumes need to be migrated to AWS and volumes mounted in unison so that the application and application data are both available on the newly created EC2 instance. If the data volumes are migrated to AWS without the boot volume containing the application and mounted, the application data will be unusable.
As an optional VM migration workflow to separate the boot and data volume replication, it’s possible to provision an EC2 instance containing the OS, application, and required packages in advance of the data vVol migration, but may take significant effort to map out all the application dependencies. It’s usually more straightforward to keep the existing VM intact and migrate the existing boot vol with CloudEndure, allowing that software to handle the VM conversion process to EC2.
Utilizing a golden AMI strategy is another option but can be somewhat more complex as it may involve some rearchitecting of the application to leverage native AWS services.
Customers looking to migrate or clone their vVol VMs to AWS for dev/test or disaster recovery use-cases should leverage CloudEndure along with Pure Storage array-based replication for its combined simplicity and ease of use.
Why Migrate vVol VMs to AWS?
Dev/Test environments rely on the use of snapshots and cloned volumes in order to make copies of the original data without risk of impact to the production environment. Pure Storage provides a simple way to snapshot volumes in production from an on-premises FlashArray, and replicate the data to Cloud Block Store on AWS. In addition,VMs are easily replicated to AWS with CloudEndure allowing for the quick provisioning of a duplicate EC2 Instance from the source VM. This solution provides an easy way to create a copy of the VM on AWS EC2 for developer use, while also capturing a recent point in time copy of the user application data to work with.
Once a copy of the data vVol has been replicated to a Cloud Block Store instance from an on-premises FlashArray, Purity array-based snapshots allow developers to instantaneously create point in time copies of their data. When an array-based snapshot is taken, a meta-data pointer references the existing volume on the array so only one copy of the data exists; no additional cost is incurred.
This array-based snapshotting has several advantages over AWS native EBS snapshotting (where a full copy snapshot is written to S3 and is then required to be copied back out to EBS when a new volume is required from the EC2 host) all actions incurring cost, both operationally and financially. Performance is also a consideration when utilizing native EBS snapshotting since the data is not physically copied back out to EBS from S3 until the blocks are requested from the EC2 host. With a volume clone, the copied-out EBS volume incurs an additional cost since a 2nd copy of the original data is created without the benefit of thin provisioning or dedup. Using Cloud Block Store on AWS in a dev/test environment provides a more streamlined and economical option vs. using native EBS snapshot capability.
After dev and test activities have been completed on AWS, copies of these volumes can then be replicated back to the on-premises environment and changes pushed to production. Cloud Block Store on AWS provides a simple way to clone and move data between on-premises and AWS in a dev/test environment.
Enterprises can leverage CloudEndure and Cloud Block Store replication for a simple low-cost disaster recovery solution. Many enterprises are looking to the public cloud as a disaster recovery alternative to keeping and maintaining a second physical data center. The primary motivation for this move is cost, where the expense of keeping a duplicate data center whose sole purpose of disaster recovery is significant.
For disaster recovery, both CloudEndure and Cloud Block Store will be configured to continuously replicate the production VMs to AWS. This offers the ability to manually cutover to a newly provisioned EC2 instance on-demand. This may be done as part of a disaster recovery test or after a real failure scenario of the primary site or VM. This disaster recovery solution is performed on a per VM basis and can be achieved with a minimal RPO using CloudEndure Disaster Recovery.
CloudEndure works by copying the boot vol on a source VM and replicating the data to a low-cost staging area inside a user VPC on AWS. Once the baseline snapshot transfer is complete, CloudEndure will perform a continuous replication of the volume so the copy on-premises and in the staging area on AWS are in sync. The staging area EC2 instance and attached volumes can then be cutover, triggering a machine conversion process and spinning up a target EC2 instance with specs the user chooses. This allows for a low-cost copy of the VM on AWS ready to be launched at any point in time or until a cutover is required in a disaster recovery situation.
Cloud Block Store would then be leveraged to host copies of the data vVols on AWS with the added cost savings benefit of dedup and thin provisioning over native EBS. If replicating the boot and data volumes with CloudEndure only, all volumes are stored in native EBS. The data vVols can be replicated from on-premises FlashArray and presented to EC2 via in-guest iSCSI once the CloudEndure cutover process is complete. The data vVols leveraging an array-based protection group would be replicated on a short replication schedule to meet business RPO requirements.
vVol Replication to AWS with CloudEndure and Pure
Deployment of Cloud Block Store on AWS.
Cloud Block Store is typically deployed from CloudFormation in the AWS Console either directly or via the AWS Marketplace. See Cloud Block Store Deployment and Configuration Guide for detailed deployment instructions.
Async replication connection established from on-premises FlashArray to Cloud Block Store.
vVol VMs contained on a vVol datastore and backed by on-premises FlashArray.
A minimum Purity version of 5.0.0 is required to enable vVol feature. See virtual volumes quickstart guide if vVol setup and configuration still required.
Ensure VM hosted on vVol datastore before installing CloudEndure agent.
Preparing CloudEndure for Boot vVol Replication to AWS EC2
See CloudEndure QuickStart User Guide On Below Instructions.
Sign up for a FREE CloudEndure account https://aws.amazon.com/cloudendure-migration/.
Once you are registered, you will be able to sign into the CloudEndure User Console.
Once signed in, you will need to create a new Project.
Once your project is set up you will need to create an Access Key in AWS which you will enter into the CloudEndure User Console for programmatic access.
Once your credentials have been set up, you will need to define the replication settings for AWS. This includes selecting the replication server instance type and subnet where the replication server will be launched.
Install the CloudEndure Agent on source vVol VM.
All VM attached vVol data disks will be replicated from your on-prem FlashArray to Cloud Block Store directly before being attached to the EC2 initiator via in-guest iSCSI. This will preserve dedup on the wire to minimize data transfer upload.
Windows VM Example
CloudEndure Agent Install on Windows. Only C:\ disk selected for replication with CloudEndure.
Linux VM Example
CloudEndure Agent Install on Linux. ONLY /dev/sda disk selected for replication with CloudEndure.
After successful agent installation and initial replication transfer complete, you are ready to test machine cutover. See Configuring and Running Disaster Recovery and Configuring and Running Migration for additional detail.
Once cutover is complete. Install iSCSI and Multipath required packages on the host. After the volume is presented to iSCSI host from Cloud Block Store array, complete iSCSi login and MPIO configuration. See Cloud Block Store Deployment and Configuration Guide for specific steps required.
Configuring Cloud Block Store for Data vVol Replication to AWS EC2
Connect on-premises FlashArray for async replication with Cloud Block Store.
Create a protection group for replication to Cloud Block Store.
Add member virtual volumes and Cloud Block Store Target.
Configure protection group replication interval and retention schedule. See FlashArray Asynchronous Replication Configuration and Best Practices Guide for detailed instructions.
Once the desired pgroup snapshot has been replicated to Cloud Block Store, copy the replicated snapshot out to a volume.
Create a host on CBS and configure it with the IQN collected from CloudEndure EC2 Instance once cutover is complete.
Attach the VM volumes to the newly created host. See Cloud Block Store Deployment and Configuration Guide for the specific steps required.
Perform iSCSI rescan to find newly presented vVols.
Mount volumes and bring up the application.
Cloud Block Store array-based replication used in conjunction with CloudEndure provides a simple way to migrate a vVol VM to AWS for disaster recovery and dev/test purposes. As more enterprises implement a hybrid-cloud approach with cloud computing resources, data mobility challenges between on-premises and public cloud providers have become an increasing pain point and area of complexity. This solution helps bridge the cloud divide to eliminate vendor lock-in and provide a modern data experience.