AWS DMS는 AWS Database Migration Service 에 약자이다.
AWS DMS는 데이터베이스를 빠르고 안전하게 AWS로 마이그레이션하도록 돕는 클라우드 서비스입니다.
여기서 마이그레이션(Migration)이란 시스템, 데이터, 애플리케이션 등을 한 환경에서 다른 환경으로 옮기는 과정을 의미한다.
AWS DMS의 가장 큰 특징은 마이그레이션 중에 원본 데이터베이스가 완전히 작동 상태를 유지하여, 애플리케이션 가동 중지 시간을 최소화할 수 있다는 점이다.
AWS SCT(Schema conversion Tool)를 함께 사용해야 합니다.
DMS는 크게 세 가지 구성 요소로 작동합니다.
마이그레이션 작업을 수행하는 컴퓨팅 서버입니다.
원본 (Source)와 대상(Target)데이터베이스 사이의 중개자 역활을 하며,
데이터를 읽고 포맷을 변환하여 대상에 씁니다.
DMS가 데이터베이스에 접속하기 위한 연결 정보 입니다.
복제 인스턴스 내에서 실행되는 실제 작업 단위입니다.
어떤 테이블을 옮길지, 어떤 방식으로 옮길지(전체 로드 vs CDC)를 정의합니다.
그러면 어떻게 연결하는지 공식문서에서 권장하는 표준 워크플로우를 살펴보자
IAM 역활(Role)이 필요합니다.마이 그레이션 유형을 선택합니다.
1. 기존 데이터 마이그레이션(Full Load): 현재 있는 데이터만 한 번에 옮깁니다.
2. 기존 데이터 마이글에ㅣ션 및 지속적인 변경 사항 복제(Full Load + CDC): 기존 데이터를 옮기는 동안 발생하는 변경 사항을 캡처하여, 마이그레이션이 끝난 후에도 실시간 동기화를 유지합지다.
(다운타임 최소화 전략에 필수)
3. 데이터 변경 사항만 복제(CDC only): 이미 데이터가 있는 상태에서 변경분만 동기화 합니다.
AWS SCT (Schema Conversion Tool)
다른 종류의 데이터베이스 마이그레이션(ex: Oracle -> PostgreSQL)시 필수 도구 입니다.
로컬 PC에 설치하여 사용하며, 소스 DB 스키마를 분석하여 타켓 DB용 SQL로 변환해 줍니다.
변환되지 않는 부분(Stored Procedure 등)은 리포트로 알려주어 수동 수정이 필요함을 경고합니다.
CDC (Change Data Capture)
DMS는 소스 테이터베이스의 로그(Oracle의 Redo Log, MySQL의 Binlog 등)를 읽어서 변경 사항을 추적합니다.
따라서 소스 DB설정에서 바이너리 로그 활성화등의 사전 작업이 필수적 입니다.
참고문헌
AWS DMS 사용자 가이드
https://docs.aws.amazon.com/ko_kr/dms/latest/userguide/Welcome.html
AWS SCT 사용자 가이드
https://docs.aws.amazon.com/ko_kr/SchemaConversionTool/latest/userguide/CHAP_Welcome.html
마이그레이션 소스 및 대상 지원 목록 (현재 지원되는 DB 버전과 엔진을 확인)
https://docs.aws.amazon.com/ko_kr/dms/latest/userguide/CHAP_Source.html