Droplet을 DO에서 AWS로 AWS Migration Application Service (MGN) 사용해 마이그레이션
Source: Dev.to
준비
시작하기 전에 다음 정보와 권한을 확인하세요:
- AWS 계정 – EC2, VPC 및 MGN 리소스를 생성할 수 있도록 활성화되고 권한이 부여된 계정.
- DigitalOcean 계정 – 마이그레이션하려는 Droplet에 대한 루트 SSH 접근 권한.
- AWS IAM 사용자 –
AWSApplicationMigrationAgentInstallationPolicy권한이 있는 IAM 사용자. 이 사용자를 사용하여 액세스 키 ID와 시크릿 액세스 키를 얻으세요.
Step 1: Initialize the VPC
- AWS 콘솔을 열고 VPC → Create VPC 로 이동합니다.
- 원하는 CIDR 블록, 이름 및 기타 설정으로 VPC를 구성합니다.
- 생성 후 VPC가 VPC 대시보드에 표시되는지 확인합니다.
단계 2: AWS MGN 초기화
선택한 리전에서 MGN을 처음 사용하는 경우:
- AWS 콘솔에 로그인합니다.
- AWS Application Migration Service를 검색하고 선택합니다.
- Get started를 클릭하여 서비스를 초기화합니다.
복제 설정
-
Replication settings 화면에서 Edit를 클릭합니다.
-
복제 인스턴스 템플릿을 구성합니다:
- Staging area subnet – 임시 데이터를 받을 VPC의 서브넷을 선택합니다.
- Replication Server instance type – DigitalOcean Droplet에 해당하는 인스턴스 유형을 선택합니다.
- 나머지 옵션은 기본값으로 둡니다.
-
Save template를 클릭합니다.
시작 템플릿
- Launch template → Edit로 이동합니다.
- 구성을 사용자 지정하려면 Activate instance type right‑sizing 선택을 해제합니다.
- 원하는 보안 그룹(SG)과 인스턴스 유형을 선택한 뒤 저장합니다.
단계 3: DigitalOcean Droplet에 복제 에이전트 설치
Note: 진행하기 전에 Droplet을 백업하십시오.
root사용자로 Droplet에 SSH 접속하고, 필요하면 root 비밀번호를 변경합니다.- AWS MGN 콘솔에서 Source servers를 열고 Add server를 클릭합니다.
- 운영 체제(예: Linux)를 선택하고 AWS에서 표시된 두 개의 명령을 복사합니다.
# Download the installer
sudo wget -O ./aws-replication-installer-init https://aws-application-migration-service-ap-southeast-1.s3.ap-southeast-1.amazonaws.com/latest/linux/aws-replication-installer-init
# Make it executable and run it (replace the region if needed)
sudo chmod +x aws-replication-installer-init
sudo ./aws-replication-installer-init --region ap-southeast-1
- 프롬프트가 나타나면 이전에 만든 Access Key ID와 Secret Access Key를 입력하고, 동기화할 디스크를 선택합니다.
- 설치에는 약 5‑10분이 소요되며, 이후 복제 에이전트가 AWS로 데이터를 복제하기 시작합니다.
Step 4: Configure Launch Settings (Target Server)
-
에이전트를 설치한 후, Droplet이 Source servers에 나타나며 Initial Sync가 진행 중입니다.
-
서버 이름을 클릭한 다음 Launch settings 탭을 선택합니다.
-
EC2 Launch Template 섹션에서 Edit을 클릭하고 다음 항목을 조정합니다:
- Instance Type – 예:
t3.medium,c5.large등. - Subnet – EC2 인스턴스가 실행될 서브넷을 선택합니다.
- Instance Type – 예:
-
런치 템플릿을 저장합니다.
5단계: 테스트 인스턴스 시작
5.1 테스트 인스턴스 시작
- 복제 상태가 “Ready for testing”(테스트 준비 완료) 로 표시되고 Data replication(데이터 복제)가 “Healthy”(정상) 일 때까지 기다립니다.
- 서버를 선택 → Test and cutover → Launch test instances(테스트 인스턴스 시작)를 클릭합니다.
- 라이프사이클 상태가 “Test in progress”(테스트 진행 중) 로 변경됩니다.
5.2 테스트 인스턴스 확인
- 테스트 인스턴스가 시작되면 MGN이 알림을 표시합니다.
- EC2 콘솔에서 원본 서버와 유사한 호스트 이름을 가진 인스턴스를 확인할 수 있습니다.
- 시작 로그를 보려면 MGN → Launch history(시작 기록) 로 이동합니다.
5.3 컷오버 시작
- MGN에서 서버를 선택 → Test and cutover → Mark as Ready for cutover(컷오버 준비 완료 표시)를 클릭합니다(이 작업은 테스트 인스턴스를 삭제합니다).
- 라이프사이클이 “Ready for cutover”(컷오버 준비 완료) 로 표시되면 Launch cutover instances(컷오버 인스턴스 시작)를 클릭합니다.
5.4 컷오버 과정 확인
- 새로운 EC2 인스턴스는 이전에 복제된 스냅샷을 기반으로 생성되며, 시작 템플릿에 정의된 구성대로 설정됩니다.
- EC2 인스턴스에서 애플리케이션과 데이터가 예상대로 동작하는지 확인합니다.
5.5 컷오버 마무리
- 확인이 완료되면 원본 DigitalOcean Droplet을 폐기할 수 있습니다.
추후 기사에서 마이그레이션에 대한 추가 트러블슈팅 및 교훈을 다룰 예정입니다. 읽어 주셔서 감사합니다.