AWS Server Migration Service Demystified
How AWS SMS Can Speed Up Cloud Migration (If Done Right)
Done right, AWS Server Migration Service can simplify, automate, and accelerate your cloud migration process, orchestrate multi-server migrations, incrementally test server migrations and minimize downtime. Done wrong, it will cause confusion and headaches.
Ready to Learn More About AWS SMS?
At its core, AWS Server Migration Service automates the migration of three classic virtual machine types:
- VMware vSphere
- Microsoft Hyper-V/SCVMM
- Azure virtual machines
Server Migration Service replicates your current VMs into an AWS AMI (Amazon Machine Image), and then can be deployed directly into your new AWS EC2 environment. Being able to deploy from these AMIs to EC2 allows you to test them in the new cloud infrastructure before moving production off your on-prem environment.
Before We Go Any Further, Is Amazon SMS Migration For You?
The answer to this question almost exclusively depends on your current on-prem infrastructure.
Yes, go ahead with AWS Server Migration Service:
- If your infrastructure is framed or dependent upon conventional VMs
- If your VMs are from the three supported virtual machine types
- If you’re performing a Lift-and-Shift style migration (vs Refactoring)
- If you want to do a partial migration; moving your VMs first, and perhaps the rest of your infrastructure later
- If your migration will be completed within 90 days
Hold up, maybe not:
- “I’m on the bleeding edge!” AWS SMS migrates your VMs into EC2 only, so if you’re wanting to take advantage of AWS’s serverless options, SMS may not be a good fit
- “I’m OG!” AWS SMS does not support all OSes: Ubuntu prior to version 12, Gentoo, Windows XP, and other classics currently don’t make the cut
- “Retro is in!” Retro is out. AWS SMS does not support any Linux/Unix 32-bit operating systems
- “Nothing gets past me!” For AWS SMS to replicate your environment, some external access will be required
- “I’m on a fixed income.” Although AWS SMS is free, you still have to pay for storage and transfer costs
- “I’ve got a lotta mouths to feed.” AWS SMS only supports 50 concurrent replications.
- “6 is better than 4.” IPv6 is not supported.
AWS Server Migration Service Features
... As with other great AWS tools, Server Migration Service has a lot of great features that makes using this tool, vs. doing it manually, a delightful efficient experience.
“AWS SMS orchestrates server migrations by allowing you to schedule replications and track progress of a group of servers that constitutes an application.”
- Schedule initial replications
- Configure replication intervals
- Track progress for each server via the console
- When launching the application in AWS, you can apply custom config scripts that run during startup
AWS SMS supports incremental replication. If changes have been made to your on-prem stack even after copies have been made in AWS, you don’t have to transfer over everything again, just the changes. What this means is:
- Money saved by reducing network bandwidth
- Small changes to your app can be tested incrementally
- Time saved during the final cutover from on-prem to cloud-hosted
SMS supports replication of Windows and major Linux distributions. SUSE, Redhat, CentOS, Fedora Server, Ubuntu, Windows Server 2003-2019, as well as Windows Desktop 7+ are all supported. A more detailed list can be found here.
AWS SMS Pricing
AWS SMS is in itself a free service:
“There is no additional fee to use Server Migration Service. You pay the standard fees for the S3 buckets, EBS volumes, and data transfer used during the migration process, and for the EC2 instances that you run. OS licensing fees may also apply.”
But there are a few pricing details you will want to discover in more detail.
Before Getting Started
To give you the best experience with AWS SMS, make sure you’re good to go with this list:
- Disable antivirus/intrusion detection software on the VMs. (Of course, you can re-enable afterwards)
- Detach any physical or virtual CD-ROM drives connected to the VM
- Enable RDP and ensure it has access through the host firewall
- Install .NET. Set the pagefile to a fixed size
- Ensure that at least 6GB of the root volume space is available
- Apply hotfix1, and hotfix2
- 32-bit Windows OS limits: “The following instance types are the only instance types that support 32-bit AMIs: t2.nano, t2.micro, t2.small, t2.medium, c3.large, t1.micro, m1.small, m1.medium, and c1.medium.”
- Enable SSH and ensure it has access through the host firewall
- Configure a secure user, which will have a public ssh key to access instances in EC2
- Ensure your Linux VM uses the GRUB/GRUB2 bootloader
- Your root volume file system needs to be EXT2, 3, 4, Btrfs, JFS, or XFS
- Unlike Windows, SMS does not support 32-bit Linux Oss
- Default kernels work best; custom kernels may not migrate correctly
- Ensure that at least 250Mb of root volume space is available
- Create an IAM user for Server Migration Connector. Save the access/secret key, and attach the “ServerMigrationConnector” policy to the user. This is a managed policy, so it’s premade by AWS, already preconfigured with the access the migration connector needs. You may also need to attach the “ServerMigrationServiceConsoleFullAccess” policy to the user if they’re not an admin
When starting a replication job, SMS console prompts you for a License Type. These options are:
- Auto: Automatically detects and applies the appropriate license to the migrated VM
- AWS: Replaces the migrated VMs license with an AWS license
- BYOL: Retains the original license type
Linux migrations only support BYOL license types. Windows supports all three.
Server Migration Connector
The SMC is itself a VM based on FreeBSD that you will need to install into the environment you’re migrating. The installation methodology differs between the three available platforms. Inside the AWS SMS console, navigate to the SMS Connector setup guide. From there you can download the OVA to your on-prem environment.
Replicating a Server
Here we can see how to replicate a VM using the AWS SMS Console. (Bonus Points: As with many things, this can also be accomplished using AWS CLI.) After installing the Server Migration Connector, in your AWS console, navigate to the SMS console and then click Connectors.
If you have not yet imported a catalogue, select Servers, then Import Server Catalog. (If your on-prem environment has changed since a previous import, you’ll need to select Servers, then Re-import Server Catalog.)
Select the servers you wish to replicate, then click Create Replication Job. These replication jobs can be set to run as frequently as every hour. This will capture any changes happening in your on-prem environment and propagate those changes into AWS. Although the initial run does take some time, depending on the size and connection integrity of the VM, any subsequent backups are purely incremental, saving you time and cost.
From the AWS Migration Hub you can monitor the progress of replications and troubleshoot any problems in advance.
From here you can deploy your AMIs straight to your EC2 environment.
AWS Server Migration Service Perks
Backups! When VM replication begins, AWS SMS spins up an S3 bucket automatically with server side encryption enabled. It then takes it and creates EBS snapshots from the volumes. Your replications in AWS SMS stay up-to-date with your on-prem. With your replications being packaged into AMIs, deploying your VMs into AWS EC2 is quick and easy. From Amazon, you can test your cloud migration without any impact on your on-prem environment.
It’s definitely clear that AWS Server Migration Service can’t migrate everything over into the AWS cloud. It can’t create the AWS infrastructure that must already be created: NAT Gateways, access and security policies, etc. But if you have a heavy virtual machine on-premises environment of any size, AWS SMS offers a force multiplier and time save getting you out of the datacenter and into the cloud in a very easy, automated, and quick operation.
Have questions about migrating from on-prem to the cloud? Bloomip’s devoted experts can help. Check out our Cloud Migration resources or contact us.