본문 바로가기

클라우드/AZURE

AWS EC2를 Azure로 마이그레이션 하려면? (전체 플로우, mysql 설치 이슈)

반응형

Intro

가끔은 AWS를 사용하다 Azure를 사용할 일이 있습니다. 이 때 기존에 쓰던 리눅스 EC2을 그대로 export 해야 하는 상황이라면?

Azure Migrate

Azure migrate라는 서비스를 통해 AWS의 VM을 Azure로 import 할 수 있습니다.
AWS VM을 물리적 서버로 취급하고, 복제를 돕는 어플라이언스 프로그램이 Azure Cloud로 VM을 복사합니다.
(AMI 자체를 바로 export 하는 간편한 방식은 아니기 때문에, 어느정도 시간이 필요한 작업이기도 합니다)


https://learn.microsoft.com/ko-kr/azure/migrate/tutorial-migrate-aws-virtual-machines

 

AWS(Amazon Web Services) EC2 VM 검색, 평가 및 Azure로 마이그레이션 - Azure Migrate

이 문서에서는 Azure Migrate를 사용하여 AWS VM을 Azure로 마이그레이션하는 방법을 설명합니다.

learn.microsoft.com


공식 document에 설명이 잘 되어있기 떄문에, 해당 포스팅에서는 전체 과정을 전부 설명하지 않습니다.
전반적인 플로우와 공식 문서에서 해결하지 못했던 제 노하우(?) 정도를 공유합니다.

Azure Migrate Replicate 아키텍처

공식 document와 해당 아키텍처를 보시면, 전반적인 흐름을 이해하는 데 도움이 됩니다. 숫자 순서대로 작업이 이루어집니다.
migration 과정에서 주체가 되는 큰 3가지 부분은 아래와 같습니다.

- Azure migration 서비스
- Window server 기반 어플라이언스 EC2
- Linux 기반 EC2 (저는 CentOS로 진행했습니다)

이 3가지를 사용해,
1) Azure migrate에서 필요한 프로그램을 다운받고
2) Window 기반 어플라이언스 서버(복제 작업을 수행하는 서버)를 구성한 후,
3) 원본 대상 서버에 에이전트를 설치 합니다.

이후에 Azure migrate에서 실제 복제 작업 및 Azure VM 생성 작업을 진행합니다.

트러블슈팅 - 아키텍쳐의 3번 과정에서 어플라이언스 프로그램 설치 중 발생한 이슈 (MySQL 설치 이슈)


제 경우에는 3번 과정을 진행하면서 시간을 꽤 많이 소비했습니다. 작업을 진행하다보면 MySQL 설치가 필요한데요.
window server EC2를 생성하고 ASR(Azure Site Recovery setup)을 통해서 MySQL을 설치할 경우, 아래와 같이 실패하는 케이스가 있습니다.

ASR 어플라이언스 프로그램을 설치하며 Mysql을 설치할 경우, 설치가 실패한다.


해당 케이스는 파이썬이나 visual studio 등 기본적인 프로그램이 설치되지 않아 발생하는 에러입니다.
상식적으로라면, 어떤 프로그램이 부족한지 실패 에러 메세지에 확인이 되어야 바로 문제 해결이 가능한데요. ASR에서는 어떤 프로그램이 필요한지 구체적으로 알려주지 않는 것 같습니다.

때문에 제가 조치한 작업은 아래와 같습니다.

- python 설치 (https://www.python.org/downloads/)
- visual C++ Redistributable package for Visual studio 2013 설치 (https://www.microsoft.com/ko-kr/download/details.aspx?id=40784)
- visual studio 2017 설치 (https://visualstudio.microsoft.com/ko/vs/older-downloads/)

- MySQL 5.7.20 수동 설치
다만 이 과정에서, 프로그램 설치 자체만 진행하고 configuration 까지는 진행하지 않았습니다. configuration 설정 후에 ASR을 수행할 시 에러가 발생했는데요. 이는 기본적으로 ASR에서 MySQL을 설치하고 configuration을 진행하려고 시도하기 때문에 이 과정에서 에러가 발생하는 것으로 보입니다. 수동 설치를 진행하고 ASR 설치 마법사를 진행하면, install MySQL 항목은 'already installed'로 인식하고 넘어가게 됩니다.

공식 문서 관련 가이드 - Installer tarball이 뭐지?

공식 문서를 보다보면, 아래 화면처럼 tarball 설치 관리자의 콘텐츠를 원본 대상 서버에 넣으라고 되어있습니다.
%ProgramData%\ASR\home\svsystems\pushinstallsvc\repository 에 있다고 설명은 되어 있지만, 정확히 어떤 파일일까요?


A: 아래 화면에 Microsoft-ASR로 시작하는 파일이 installer tarball 입니다. 원본 대상 서버에 맞는 OS에 따라 필요한 압축파일을 가져가면 됩니다.

 

공식 문서 관련 가이드 - Linux AWS VM 설치 지침의 에이전트-원본 대상 서버에 등록 과정

Linux AWS VM 설치 지침 부분을 따라서 진행하다 보면, 마지막 '에이전트를 복제 어플라이언스에 등록' 하는 부분이 있습니다.
여기서 Passphrase file path 가 무엇인지 감이 오지 않았습니다.

A: ASR을 구성하고 나면, 랜덤값으로 생성된 문자열이 나옵니다. 해당 값이 Passphrase인데요.


저의 경우에는 스크립트만 실행한 후 passphrase 값을 직접 넣어주었습니다.


Azure migrate를 통해 AWS EC2를 마이그레이션하는 전반적인 플로우와, 제가 겪었던 문제에 대해 공유했습니다.
나머지 부분은 공식 문서를 통해 충분히 따라가실 수 있을 것이라고 생각하는데요.
혹시 어려운 부분이 있다면 댓글이나 쪽지 주셔도 무방합니다.

배워가며 작성하는 블로그입니다.
피드백 및 의견 환영입니다 🙂

반응형

'클라우드 > AZURE' 카테고리의 다른 글

Azure Managed Identity 란? (≒ AWS IAM Role with EC2)  (4) 2023.01.21