AWS Storage Blog
Migrate on-premises workloads to AWS Outposts using CloudEndure Migration
UPDATE (7/16/2021): This blog post describes CloudEndure Migration. AWS Application Migration Service, the next generation of CloudEndure Migration, is now the recommended service for lift-and-shift migrations to AWS.
Historically, customers have been unable to migrate certain on-premises servers or applications to the cloud due to low latency or data sovereignty requirements. Often, it’s because these applications must generate real-time data or communicate with systems that are on-premises. This is often addressed with custom solutions that include a high total cost of ownership due to hardware investments and on-going management costs. AWS Outposts enables you to overcome these challenges by providing a truly consistent hybrid cloud user experience. It puts the compute and storage capacity where it is needed, overlaid with a robust set of cloud services. And it’s all managed and monitored by AWS.
Migrating applications or on-premises workloads to AWS Outposts still requires work. The applications must be cutover to Outposts with data integrity and minimal downtime. This is where CloudEndure Migration accelerates the process and reduces the labor. CloudEndure Migration is a highly automated lift-and-shift solution that simplifies, expedites, and reduces the cost of migrating applications to AWS. It enables you to lift and shift a large number of physical, virtual, or cloud servers without compatibility issues, performance disruption, or long cutover windows. Once your applications are running on AWS Cloud, you can use AWS services and other capabilities to re-platform or refactor these applications. It’s a fast route to modernization.
In this blog post, we cover how you can use CloudEndure Migration to migrate on-premises applications and other workloads to AWS Outposts. We also demonstrate how CloudEndure Migration and AWS Outposts allow on-premises migrations to the cloud without workloads and data having to leave your facility.
What is AWS Outposts?
AWS Outposts is a hybrid cloud solution delivered as a fully managed service by AWS. It extends core AWS services on AWS hardware with the same AWS API operations, bringing them closer to your location. Outposts can be delivered to third-party colocation facilities, data centers, or other sites, providing localized access to Amazon EC2, Amazon EBS, Amazon EKS, Amazon S3, Amazon RDS, Amazon ElastiCache, Amazon EMR, and a growing list of other services.
AWS Outposts is available on the AWS Management Console in a number of pre-defined configurations to meet a variety of demand patterns and capacity needs. If a configuration is not available that meets a desired use case, a custom configuration can be requested. Once ordered, Amazon will work with you to validate that the target site meets the minimum requirements for power, network, and space. AWS delivers the Outposts to the designated site and installs, powers up, and configure it to attach to your local network and AWS Region.
Challenges solved by AWS Outposts
Customers are regularly impeded from adopting or migrating to public cloud due to a number of reasons. Legacy application architectures tied to many intertwined on-premises hosted components slow down or prevent customers from adopting the cloud. Low-latency computing or data processing requires systems that are closer in proximity to other systems and data sources to facilitate an optimized delivery outcome. Also, data residency requirements often prevent the adoption of the public cloud if there is a security, contractual, or regulatory mandate to stay in a particular location.
AWS Outposts enables you to overcome these challenges. The AWS services available on Outposts are controlled by the Regional AWS environment where it is attached. The workloads and data created on the Outposts operate in your location. You can access provisioned resources on the Outposts directly through your network like any other system on your local network. Services in the Outposts seamlessly run on top of the Amazon VPC network you maintain in Region.
Using CloudEndure Migration
CloudEndure Migration allows you to perform automated migrations to AWS. Each free CloudEndure Migration license allows for 90 days of use following agent installation. During this period, you can replicate your machines, perform test launches, and schedule a cutover to complete migration.
After the free 90 days period, machines will stop replicating and new target machines cannot be launched. At this point, you can reinstall the agent on the applicable machines with a new CloudEndure Migration account. You’ll get another free period of 90 days to perform replication, test, and cutover.
CloudEndure Migration architecture
The CloudEndure Migration architecture consists of a lightweight/low cost staging area that continuously replicates the data from an on-premises server. This replication is compressed and encrypted at the block level. The resources from the staging area are then used during an automatic orchestration process for test and cutover launches. This automatic orchestration with machine conversion enables CloudEndure to replicate on-premises machines to the AWS Cloud in short cutover windows.
Things to consider when migrating to AWS Outposts
- Only Nitro based instance types (M5/M5d, C5/C5d, R5/R5d, G4dn, I3en) are supported in AWS Outposts. Nitro instance-related drivers only work with RHEL 7.0+ and CentOS 7.0+ in AWS, and with Windows Server 2008 R2, Windows Server 2012 R2, Windows Server 2016, and Windows Server 2019.
- You must grant the CloudEndure IAM user with permission to call GetOutpostInstanceTypes (
outposts:GetOutpostInstanceTypes
) in the IAM policy.
- If you select an Outposts subnet in the Replication Settings, then the same subnet must be selected in Blueprint. This is to ensure that the volume and the staging snapshots are location-compliant. This also means that your Outposts must have provisioned S3 storage in addition to compute capacity.
- All EBS volumes and snapshots on the Outposts have mandatory encryption. It isn’t possible to create an EBS volume or snapshot without encryption.
- Be aware of EBS and S3 storage capacity on your AWS Outposts. If S3 runs out of capacity on the Outposts, then CloudEndure won’t be able to create any snapshots. CloudEndure also requires EBS storage capacity roughly 2:1. For example, if you have source volumes totaling 1 TB then it will require at least 1 TB for replication, and another 1 TB for conversion/target instance.
- AWS Outposts only supports gp2 volume types for EBS so you cannot change the volume type for Outposts in Replication settings or Blueprint.
Using CloudEndure to migrate on-premises workloads to AWS Outposts
1. If you are new to CloudEndure, follow the steps here to register for a CloudEndure Migration account. Sign in to the CloudEndure account and create a new migration project for migrating the on-premises machines to AWS Outposts.
2. While setting up a new project, you will have to provide AWS credentials, and then setup Replication Settings of the project. Select Other-AWS as project in Replication Settings for migrating machines from on premises to AWS Cloud/AWS Outposts. To migrate machines to AWS Outposts, go to the Replication Settings of the project/machine and select a regular subnet or an AWS Outposts subnet. You can recognize an AWS Outposts subnet from a regular subnet in CloudEndure console by an Outposts Id “op-xxxxxxxxxxxxxxxxx” as shown in the following screenshot.
If you select a subnet in the Replication Settings that belongs to Outposts, you must select the same subnet in Blueprint. Otherwise the volume and its source snapshot will not be location compliant. Once an Outposts subnet is selected, you must select the Replication Server and Converter server instance type.
- Note: All EBS volumes and snapshots on the Outposts have mandatory encryption. Encryption cannot be disabled in the Replication Settings for AWS Outposts.
3. Now install the CloudEndure agent per the instructions provided for installing agent.
4. After agent installation, modify the Machine Replication Settings as needed. Wait for the initial sync to complete and for the machine to go into Continuous Data Protection mode.
5. Select the same Outposts subnet in Blueprint as what you selected in the Machine Replication Settings, and then select the Target Instance type.
6. Launch a Target machine in Test Mode. Perform acceptance tests on the machine, once the Target machine is tested successfully.
7. Wait for the cutover window. During the cutover window, confirm that the lag is none.
8. Launch the Target machine in cutover mode, confirm that the cutover machine has launched successfully and all the applications/services are running fine on it.
Cleaning up
Remove the Source machine from the console after cutover in order to clean up resources and avoid any further staging area-related costs for volumes, and snapshots.
Final thoughts
With CloudEndure Migration and the on-premises cloud capabilities provided by AWS Outposts, moving workloads to the Cloud without leaving the data center is possible. Outposts brings AWS infrastructure and services directly to your facilities with a core set of cloud computing services. This enables you to overcome the most challenging inhibitors to cloud adoption today.
Thanks for reading this blog post on migrating on-premises workloads to AWS Outposts using CloudEndure Migration. If you have any comments or questions, feel free to provide any feedback or questions in the comments section.