
이전 순서
현황 조사
서버, 데이터베이스, 정기 작업, 외부 연동, 트래픽, 지금의 월 비용을 목록으로 만듭니다. 서버에 걸어 둔 예약 작업처럼 문서에 없는 것도 이때 찾습니다.
이전 방식 결정
시스템마다 그대로 옮길지, 관리형 서비스로 바꿀지, 다시 만들지 정합니다.
새 환경 구축
새 환경은 Terraform 코드로 만듭니다. 같은 환경을 다시 만들 수 있고, 무엇이 바뀌었는지 코드 이력에 남습니다.
데이터 이전 리허설
운영 데이터의 사본으로 이전을 끝까지 해 보고 걸린 시간을 잽니다. 전환 당일의 중단 시간은 이 값을 기준으로 잡습니다.
전환
며칠 전에 DNS의 TTL을 낮춰 둡니다. 쓰기를 멈추고 마지막 데이터를 옮긴 뒤 행 수와 주요 합계를 옛 데이터베이스와 맞춰 보고 주소를 바꿉니다.
되돌리기 기준
무엇이 실패하면 옛 서버로 돌아갈지 전환 전에 정합니다. 옛 서버는 정한 기간이 지날 때까지 끄지 않고, 전환 뒤 새 데이터베이스에 쌓인 쓰기를 옛 쪽으로 옮기는 방법도 함께 정합니다.
이전 방식 세 가지
이 셋은 AWS가 정리한 7R의 Rehost, Replatform, Refactor입니다. SaaS로 바꾸기(Repurchase), 폐기(Retire), 유지(Retain)는 발주사가 사업 판단으로 정합니다.
- 그대로 옮기기
- 서버를 같은 구성으로 클라우드의 가상 서버에 올립니다. 가장 빠르지만 줄어드는 것은 하드웨어 관리뿐이고 OS 패치와 백업은 그대로 남습니다.
- 관리형 서비스로 바꾸기
- 직접 운영하던 데이터베이스를 RDS 같은 관리형 서비스로, 파일을 S3로 옮깁니다. 자동 백업과 마이너 버전 패치를 관리형 서비스에 맡기고, 메이저 버전 업그레이드는 표준 지원이 끝나기 전에 직접 일정을 잡습니다. 코드는 연결 설정과 파일을 읽고 쓰는 부분을 고칩니다.
- 다시 만들기
- 구조 때문에 확장이나 비용이 막힌 부분만 다시 만듭니다. 기간이 가장 길어서 한 번에 전부 하지 않습니다.
이전 뒤의 월 비용
서버 크기
지금 서버의 CPU와 메모리 사용률을 재고 그에 맞춰 고릅니다. 사용률이 낮은 서버를 같은 사양으로 옮기면 쓰지 않는 용량에 요금을 냅니다.
외부 전송량
AWS는 인터넷으로 나가는 데이터에 월 100GB를 넘는 만큼 요금을 받습니다. 파일 내려받기가 많은 서비스는 CDN을 앞에 둡니다.
눈에 덜 띄는 요금
NAT 게이트웨이의 데이터 처리 요금, 오래된 스냅샷, 개수만큼 요금이 붙는 공인 IPv4 주소처럼 콘솔 첫 화면에 잘 보이지 않는 요금을 산정에 넣습니다.
약정 할인
Savings Plans 같은 약정 할인은 전환 뒤 사용량이 안정되고 나서 검토합니다.
클라우드 마이그레이션 업체를 고를 때
클라우드 계정은 누구 명의인가
AWS 계정은 발주사 명의로 만들고 업체에는 IAM 권한만 줘야 합니다.
월 비용을 이전 전에 내놓는가
옮긴 뒤의 월 비용 예상을 항목별로 받아야 합니다.