4

I have my Application running on AWS containing component as:

  1. Multiple EC2 Instances (3 RHEL as Application Server, 1 Ubuntu as a File Server, 1 Ubuntu as a CronJob Server, 1 Windows as Bastion).
  2. MySQL RDS Instance.
  3. Barracuda WAF as an Instance (Implemented from Marketplace).
  4. Route 53.

Now I want to migrate to Azure. Is there any tool available (free or paid) using which I can migrate whole infra?

I know there are separate steps to move each type of resource separately like ASR for VM etc. But I want to know any standalone tool that will do it for me, with all data. If not, then what are the best steps for migrating each resource separately?

halfer
  • 19,824
  • 17
  • 99
  • 186
Himanshu Mohan
  • 722
  • 9
  • 30

3 Answers3

4

Tools are good, but are no magical, we can also take some best practices to migrate resources from AWS to Azure.

1) Multiple EC2 Instances (3 RHEL as Application Server, 1 Ubuntu as a File Server, 1 Ubuntu as a CronJob Server, 1 Windows as Bastion) .

For this Windows OS & Red Hat Enterprise Linux on EC2, you can Migrate VMs from AWS to Azure with Azure Site Recovery.

However, these EC2 instance should be running the 64-bit version of Windows Server 2008 R2 SP1 or later, Windows Server 2012, Windows Server 2012 R2 or Red Hat Enterprise Linux 6.7 (HVM virtualized instances only). The server must have only Citrix PV or AWS PV drivers. Instances running RedHat PV drivers aren't supported.

For Ubuntu on EC2, you can refer to this blog to migrate VM from AWS to Azure.

2) MySQL RDS Instance .

You can use common tools such as MySQL Workbench, Toad, or Navicat to remotely connect and import or export data into Azure Database for MySQL.

Use such tools on your client machine with an Internet connection to connect to Azure Database for MySQL. Use an SSL-encrypted connection for best security practices, as described in Configure SSL connectivity in Azure Database for MySQL.

You can create Amazon RDS Read Replicas for your database instance so that you needn't to shutdown your database. However, I'm not sure how long down time will you have. Because it's just for you database.

See more details about Migrating your MySQL database by using import and export in this document.

There is also a blog for this.

3) Barracuda WAF as an Instance (Implemented from Marketplace) .

Barracuda WAF is also available in the Marketplace in Azure. You can just go to azure portal and search Barracuda WAF. Then you see there are many types of Barracuda WAF for you to choose.

enter image description here

4) Route 53 .

On Azure , you can use Azure DNS to achieve this. You can refer to this blog to see details how to delegate DNS domain from AWS to Azure.

Hope this helps!

Wayne Yang
  • 9,016
  • 2
  • 20
  • 40
  • Thanks for the detail steps. For tools do you have any suggestions? At last, otherwise, i have to do step by step process like u suggested which will take more downtime as it is production environment. @wayne – Himanshu Mohan Nov 23 '17 at 09:04
  • Hi, @HimanshuMohan. Actually, What I mentioned in my answer are tools . such as Azure Site Recovery , MySQL Workbench and etc. Azure site Recovery is also just a service in Azure. You can use it easily. Also does the Azure DNS. About downtime: You can also create The Amazon RDS Read Replicas for your resource so that you needn't shutdown your SQL . I will update it in my answer. – Wayne Yang Nov 23 '17 at 09:30
  • Hi, @HimanshuMohan, Migrating such data from AWS to Azure may not be very easy, don't be shy to let me if it helps. Also, if you have any issues when you practice, you can post new questions in SO, but I wish you have a good luck! – Wayne Yang Nov 23 '17 at 09:37
  • Hi @wayne ! One issue i got is my RHEL EC2 instance are of version 7.x but if go through this link https://learn.microsoft.com/en-us/azure/site-recovery/tutorial-migrate-aws-to-azure then only RHEL 6.7 is supported. "These EC2 instances should be running the 64-bit version of Windows Server 2008 R2 SP1 or later, Windows Server 2012, Windows Server 2012 R2 or Red Hat Enterprise Linux 6.7 (HVM virtualized instances only).". So what do you think of this case as i believe ASR won't work in this case . Correct? – Himanshu Mohan Nov 23 '17 at 09:45
  • Hi,@HimanshuMohan . Check if your RHEL is 7.0_HVM_GA vision. Azure ASR supports HVM, not kernel-based virtual machine (KVM).If your RHEL is 7.1+ vison, this document may be helpful to you: https://learn.microsoft.com/en-us/azure/virtual-machines/linux/redhat-create-upload-vhd – Wayne Yang Nov 23 '17 at 09:59
  • Hi @wayne. It is Red Hat Enterprise Linux 7.4 (HVM), SSD Volume Type. I am not sure it will support or not. By looking into doc i might need to rebuild initrd. Your views? – Himanshu Mohan Nov 23 '17 at 10:48
  • Let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/159672/discussion-between-himanshu-mohan-and-wayne-yang-msft). – Himanshu Mohan Nov 23 '17 at 11:03
  • HI,@HimanshuMohan. If this answer is helpful to you , please mark it as answer , so that we can help more people. Thanks! – Wayne Yang Nov 24 '17 at 02:03
  • @HimanshuMohan. ASR does not support RHEL 7.3. it only supports 6.7. So, you still need to rebuild it. I know that it may be not easy, but I will follow your case, If you have any issue ,just open a new question. I will do my best to resolve it. – Wayne Yang Nov 24 '17 at 02:07
  • Hi @wayne Also what about AWS Ubuntu and CentOS instance? They are also not supporting till yet in ASR as in link https://learn.microsoft.com/en-us/azure/site-recovery/tutorial-migrate-aws-to-azure only Windows 2012, 2016 and RHEL 6.7 – Himanshu Mohan Nov 24 '17 at 06:01
  • For Ubuntu, I have update in my answer, you can refer to this blog: https://blogs.technet.microsoft.com/keithmayer/2014/10/07/cloud-to-cloud-migrating-ubuntu-linux-virtual-machines-to-microsoft-azure-from-amazon-aws/ – Wayne Yang Nov 24 '17 at 06:08
  • @Himanshu Mohan, For CentOS, it also depends on your OS vision. As I known, You can use Migration Assistant to migrate. There is a details about this.:https://globalcustomerplaybook.azurewebsites.net/MigrationAssistant/AwsCentos – Wayne Yang Nov 24 '17 at 06:14
2

Sure export and import will work but it can have huge downtime depending on size of data. If you want zero downtime; then you should first create Read replica from AWS to Azure and then migrate the read replica to master.

Deepak Singhal
  • 10,568
  • 11
  • 59
  • 98
1

I think the best bet would be you do it on your own so that you have understanding of how it works which can further enhance your abilities to troubleshot.

That being said Like AWS have CLoudformation , Azure has Azure Resource Manager , you can create template in JSON like you do in AWS Couldformation and Deploy For Example :

In Cloudformation we have AWS::EC2::Instance you have Microsoft.Compute/virtualMachines in Azure.

You Can Refer this very informative Blog Post and Azure Documentation For Same.

Hope this Helps!

Kush Vyas
  • 5,813
  • 2
  • 26
  • 36