본문 바로가기
공부/Migration

[AWS] Application Migration Service(MGN) 리뷰 & CloudEndure와 비교

by haejang 2021. 5. 24.
728x90
728x90

 

5월 18일에 AWS Application Migration Service(MGN)가 정식 출시되었다 (공식 블로그 글 확인)

 

AWS가 인수한 CloudEndure를 이제 AWS Console에서 사용할 수 있다.....

라고 생각했으나, 뭔가 조금씩 다르고 CloudEndure도 여전히 사용할 수 있어서 그냥 마이그레이션 방법이 하나 더 늘었다고 생각하는게 편할 듯 하다

 

공식 블로그를 보면 알겠지만, AWS는 CloudEndure 대신 MGN 사용을 권장한다

그러나 사용 설명서 등을 보고 직접 테스트 마이그레이션을 해 본 결과, 아직은 CloudEndure가 더 유용해보인다 (차차 업데이트 되겠지만...)

그리고 사실 이름도 별로 맘에 안든다. 왜 MGN이지? AWS AMS란 서비스가 이미 있다 해도,,,차라리 MGS가 낫지 않나,,

암튼 리뷰 & 비교를 시작해보겠다

 

요약 : https://honglab.tistory.com/151

 

 

1. MGN에서 지원하는 리전과 OS (21.05.24 기준)


MGN에서 제공하는 리전과 OS는 아직 많이 없기 때문에 여기에 부합되지 않는 경우는 무조건 CloudEndure를 사용해야 한다 (물론 CloudEndure에서도 옛날 OS는 잘 안되는 경우가 많긴 하다,,^^)

공식 문서 : https://docs.aws.amazon.com/mgn/latest/ug/Supported-Operating-Systems.html

리전

  • 버지니아 북부(us-east-1)
  • 오하이오(us-east-2)
  • 오레곤(us-west-2)
  • 도쿄(ap-northeast-1)
  • 싱가포르(ap-southeast-1)
  • 시드니(ap-southeast-2)
  • 아일랜드(eu-west-1)
  • 프랑크푸르트(eu-central-1)
  • 스톡홀롬(eu-north-1)

OS

  • Winows Server (only 64bit)
    • 2008 R2 (patched)
    • 2012, 2012 R2
    • 2016, 2019
  • Linux
    • SLES 12 이상 (SP4 이상)
    • Debian 9 이상
    • Ubuntu 12.04 이상
    • RHEL 6.0 이상
    • Oracle Linux 6.0 이상 (Unbreakable Enterprise Kernel Release 3 이상 or Red Hat 호환 커널만 실행)
    • CentOS 6.0 이상

 

2. 비용


일단 CloudEndure와 MGN은 생성되는 인프라 비용 외에 마이그레이션 자체 비용은 무료이다

다만 90일이라는 기간이 존재하는데,

  • CloudEndure는 에이전트 설치 후 90일간 사용 가능 -> 90일 후엔 만료되어 사용 불가
  • MGN은 각 소스 서버별로 90일동안 무료 -> 90일 후엔 추가 비용

 

출처 : https://aws.amazon.com/ko/application-migration-service/pricing/

위 요금은 서버를 복제하는 기간이 90일이 넘어갔을 시부터 청구되는 요금이다

각 소스 서버별로 첫 복제를 시작한지 2,160시간동안 무료라는건데, 사실 웬만한 마이그레이션 작업은 그 안에 가능하므로 거의 무료라고 할 만하다

 

3. Agent 설치 & IAM 키 설정


CloudEndure 용어 & 프로세스 정리 참조

 

CloudEndure 프로세스

IAM User의 ACCESS KEY와 SECRET KEY를 CloudEdure 콘솔에 입력

-> 토큰이 발행되고, 해당 토큰을 사용해서 소스 서버들에 Agent를 설치

이 때, 필요한 명령어들을 바로 콘솔에 띄워주기 때문에 복사만 해서 사용하면 되므로 매우 편하다

 

KEY를 입력하면 바로 뜨는 Agent 설치 창

 

MGN 프로세스

각 리전별로 Agent가 정해져 있음

-> 타겟 서버가 속할 리전의 Agent를 소스 서버에서 설치 & 실행

-> 실행 도중 IAM User의 ACCESS KEY와 SECRET KEY 입력

 

소스 서버에서 직접 KEY를 입력해줘야 한다

이건 왜 이렇게 만든건진 모르겠는데,,,,고객사 서버에서 직접 Agent 설치를 해야하는 경우 ACCESS KEY와 SECRET KEY를 제공해줘야 하는게 맘에 들진 않는다

 

리눅스에서 Agent를 설치하고 실행하는 명령어는 아래와 같다

공식 문서 : https://docs.aws.amazon.com/mgn/latest/ug/linux-agent.html

wget -O ./aws-replication-installer-init.py https://aws-application-migration-service-<region>.s3.amazonaws.com/latest/linux/aws-replication-installer-init.py
# <region> : replicating 진행할 리전

python3 aws-replication-installer-init.py

 

윈도우에선 아래의 링크에서 exe 파일을 받은 다음 실행시켜주면 된다

https://aws-application-migration-service-<region>.s3.amazonaws.com/latest/windows/AwsReplicationWindowsInstaller.exe

공식 문서 : https://docs.aws.amazon.com/mgn/latest/ug/windows-agent.html

 

사실 아마 리전도 꼭 맞출 필요는 없을 것이다. 파일 자체는 동일할 테지만 더 가까운 리전에서 빨리 다운받을 수 있게 해준것일 뿐일듯하다

 

4. 전반적인 Migration 프로세스 리뷰


이 파트에선 MGN에 대해서만 쓰겠다

 

CloudEndure와 가장 큰 다른 점은, Project가 아닌 소스 서버별로 복제를 진행하게 된다

따라서 여러 서버들을 한꺼번에 옮겨야 할 때는 CloudEndure가 훨씬 편할 것이다

 

전반적인 프로세스는 위와 같다

 

1) MGN Template Setting (REPLICATION SETTING)

사실 Agent 설치를 하기 전에, MGN 콘솔에서 Template을 작성해줘야 한다

== CloudEndure의 REPLICATION SETTING

 

 

Replication Server가 존재할 서브넷과 인스턴스 타입, EBS 볼륨, 보안그룹, 태그, Throttle까지 설정해주자

보안그룹은 MGN 기본 보안그룹을 같이 만들어주는게 편하다

 

CloudEndure와 달리 Converter 서버 인스턴스의 타입을 딱히 지정해주지 않는다

 

2) Agent 설치

위에서 설명한대로 하면 된다

설치 후 MGN 콘솔로 돌아와보면 Replication이 진행되는 상황을 확인할 수 있다

 

 

혹시라도 이런 오류가 난다면, Template setting에서 Use Private IP가 체크되어 있는건 아닌지, 설정된 보안그룹에 0.0.0.0/0에서 TCP 1500를 허용하는 인바운드 규칙이 없는건 아닌지 확인해보자

 

문제가 없다면 이렇게 복제가 진행된다

 

3) Launch settings (BLUEPRINT)

Test 서버와 Cutover 서버에 대한 설정을 할 수 있는 Launch setting 탭으로 가 보자

(CloudEndure의 BLUEPRINT)

 

 

General launch setting과 EC2 Launch Template이 나뉘어져 있다

CloudEndure에 익숙해진 나로썬 무지 낯설고 불편할 뿐이지만,,,,,막상 또 해보면 별 것 없다

 

General setting은 거의 건드릴 것 없고(사설IP 그대로 사용 시엔 Copy private IP를 Yes로 바꿔줘야 한다)

EC2 Launch Template의 Modify를 눌러보자

 

 

으음....EC2의 시작 템플릿을 사용하나보다

사실 시작 템플릿을 거의 써본적이 없어서 좀 해맸다

 

템플릿 수정 == 템플릿 새 버전 생성 이기 때문에, 버전 설명을 한 번 써주고 원하는대로 설정해주자

 

CloudEndure와 다른 점이 또 있다면, 키 페어를 지정할 수 있다는 것이다

 

 

해당 리전에 존재하는 키 페어를 지정해주면, 해당 키를 통해 타겟 서버에 쉽게 접근할 수 있다

 

타겟 서버의 보안그룹과 태그, 사설 IP까지도 여기서 지정해준 후 템플릿 버전 생성을 누르자

(사설 IP 지정해줄거면 해당 네트워크 인터페이스에서 보안그룹을 설정해줘야 한다)

 

 

새 버전(3) 이 생성되었다고 하는데, 이대로 끝은 아니고 이 3버전을 기본 버전으로 바꿔줘야 한다

시작 템플릿 보기 > 해당 템플릿 클릭 > 작업 > 기본 버전 설정 > 방금 생성된 버전 선택 후 기본 버전으로 설정

 

 

그러고 다시 MGN 콘솔로 돌아가 보면 EC2 Lanch Template이 바뀌어져 있다

 

4) Testing

CloudEndure와 다르게, Testing이 필수이다

 

 

Replication 준비가 끝났다면 Test and Cutover > Launch test instances를 눌러주자

Test in progress 단계로 넘어간 걸 확인할 수 있으며, 타겟 서브넷에 Conversion Server가 생성되었다가 사라지고, 타겟 서버가 생성되는걸 확인할 수 있다

 

Target 서버가 잘 생성되는걸 확인했다면, Test and Cutover > Mark as "Ready for cutover"를 눌러주자

얘를 눌러줘야만 cutover 진행이 가능하다...

이 때 test로 만든 Target Server가 종료된다

Ready for cutover 상태가 되었지만, 다시 Testing 단계로 되돌리고 싶은 경우엔 Revert to "Ready for testing" 을 눌러주면 된다

 

5) Cutover

Ready for cutover 단계가 되었다

Test and Cutover > Launch cutover instances를 눌러 cutover를 진행해주자

 

Cutover in progress 단계가 되며, EC2 콘솔에도 Conversion Server와 타겟 서버가 차례로 생기는걸 확인할 수 있다

혹시 문제가 있다면, Revert to "Ready for cutover"를 누른 후 다시 세팅하고 다시 cutover를 진행하면 된다

 

6) 마무리

미리 지정한 키로 타겟 서버에 접속까지 확인되면, Action > Mark as archived 를 눌러주자

 

 

Mark as archived는 cutover를 마친 서버에서만 진행할 수 있다

마이그레이션을 모두 끝낸 서버는 MGN 콘솔의 Source Server 탭에서 사라지게 되는데, 아카이브된 서버들은 따로 볼 수 있다 (그건 이따가 확인)

 

이제 진짜 마이그레이션을 끝내기 위해 Test and Cutover > Finalize cutover 를 눌러주자

이를 눌러주면 MGN 콘솔의 Source Server 탭에서 이 서버도 사라지고, EC2 콘솔에서 Replication Server도 사라진다

 

필요없는 스냅샷과 불륨들은 알아서 잘 지워주자

 

다시 MGN 콘솔의 Source Servers 탭으로 돌아와서, 아래의 세팅 버튼을 눌러주자

여기서 아래의 Show only archived servers를 누르고 Confirm을 눌러주면?

지금까지 했던 마이그레이션들을 확인할 수 있다 (아카이브된 플젝들)

 

어쩌다보니 글이 많이 길어져서, CloudEndure vs MGN 비교 요약글은 따로 썼다

 

728x90
728x90

댓글