Article explains how for certain use cases customers can skip MGN's 'Cutover' stage and promote launched test instance for production use.
Application Migration Service (MGN) is a great tool for customers to lift and shift workloads to AWS. It has been a primary migration instrument for AWS customers for many years already. It does block-level replication of exact source OS and converts it into proper EC2 instance, with all necessary drivers and extra customization if needed. It is a robust, simple and well documented – most of the times customers perform those type of migrations themselves.
MGN migration goes through several distinctive lifecycle stages:
- Not ready and Ready for testing – you see those stages immediately after you install MGN replication agent into source OS (by default). This is a stage when replication agent starts replication process of your OS into AWS. When all data gets replicated successfully, Lifecycle automatically switches to ‘Ready for testing’ – it is a clear indication that MGN has full copy of source OS and you can now proceed with tests – convert and launch you OS as EC2 instance.
- Test in progress is a stage where MGN converts and launches your OS as an EC2 instance. It is the most important process of the migration – at the end you’ll get up and running EC2 instance and can proceed with verification and that everything works fine inside OS and your applications. Sometimes you need to do some configuration changes/install new software to meet your requirements how things should be working in AWS, adjust security groups, etc.
- Ready for cutover stage is a marker – you tell MGN that you did your due diligence, everything was fine after conversion into EC2 – application works fine, performance meets your reqs, etc.
- Cutover in progress stage is when you ready to finish you migration and your workloads are getting closer to full production usage being running in AWS. MGN will launch a brand new EC2 instance using lates data copy it got from the source OS.
- Cutover complete stage is a marker where you tell MGN that migration was successful and it could stop replication from your source OS (if it was still running).

Recently customer asked me about the way to bypass ‘Test in progress’ and move directly to ‘Ready for cutover’ or ‘Cutover in progress’ instead. The reason – during ‘Test in progress’ they already did changes in launched EC2 OS/application stack to make it works in AWS environment. In that particular case, customer just needs a copy of source OS running on EC2 and they can sync any missing data later by copying files directly from source OS to new EC2 instance. Switching lifecycle stages the way MGN was designed would add them extra work to ether one more time tune ‘Cutover’ instance or wasting time by waiting ‘Test in progress’ stage to be completed to move to ‘Cutover’ right after it.
It seems like a reasonable ask, when you deal with some kind of static workloads when all you need is just have them moved to AWS intact without reinstalling everything from scratch in a brand new EC2 instance.
At first, it looks like you can jump to any stage in that list by simple selecting it:

Unfortunately for my customer, MGN does not allow you to bypass stages – it will throw you message like this one when you skipped testing:

Or this one if you go to ‘Launch cutover’:

By design, MGN forces you to go through testing phase to be sure that you are satisfied with converted workload prior to going into full production mode.
In short – you must launch test instance first and there is no workaround to bypass it. However, since you launched test instance – you can ‘promote’ it to be your final instance and move it into production.
When your test instance is up and running, and you did necessary changes in it to make it ready for use – MGN allows you to move to ‘Ready for cutover’ stage keeping test instance intact (by unchecking ‘Yes, terminate launched instances’ box):

Now migrated workload is successfully running and ready to be moved on for production use. However, MGN continues replication from your source OS (if it is still up and running), and still tracks your launched test instance even when you opted out ‘terminate’ and marked it as ‘Ready for Cutover’ on the previous step.
It is important, because if you to move to ‘Cutover in progress’ – MGN will terminate your test instance (which you saved on the previous stage) without asking your permission.
To remove (in a no harm way) test instance from MGN - go to list of source servers and disconnect migrated server from MGN console:

This action will stop replication from source serverto MGN. After that it is safe to ‘Mark as achieved’ server and MGN will remove it from ‘Source servers’ inventory.
Going through this process, my customer was able to speed up migration and accomplished they goal.