최근에 이직한 회사에서 Datalake 관련 프로젝트가 진행되어 기존 산업에서 구성한 여러가지 다양한 사례를 분석하였고, 여러가지 방법 중 데이터 AWS에서 제공하는 DMS를 이용하여 On-Prem의 데이터를 Full Load로 땡기는 방법에 대한 아이디어가 나와서 튜토리얼(?)로 한번 진행할 겸 영구 기억을 위한 문서도 함께 작성해본다.
AWS DMS 관련 구성 및 사용 방법은 AWS 사용자 설명서를 참고하여 진행해보았다.
(URL : https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html)
결과
결과
결과
이렇게 설정한 후 마이그레이션 태스크를 실행하면 내가 지정한 S3경로에 데이터 Full Load된 것을 확인할 수 있다.
최종결과
Check Point
복제 인스턴스 생성 시 아무리 작은 Spec의 인스턴스로 생성 요청을 하더라도 최소 20~30분 후에 사용 가능하다. 혹시나 오랜 시간 기다렸는데도 사용 가능 상태가 아닌 경우는 오류(?)가 아니니 인내를 가지고 기다려야 한다.
마이그레이션 태스크 생성에서 테이블 매핑 정의 시 Full Load할 선택 규칙을 최소 하나 이상 정의해야 하며 본인이 선택한 인스턴스의 Spce 범위 내에 Full Load 가능한 데이터 범위를 산정 후 설정해야 한다.
데이터 수집 범위가 적을 경우에는 마법사로도 충분히 정의할 수 있지만, task 내 수집 범위가 많을 경우에는 JSON 편집기로 정의할 수 있다.
(마이그레이션 태스크 또한 생성 시간이 오래 걸리는 것을 참고하기 바란다.)
작성 예시)
{
"rules": [
{
"rule-type": "selection",
"rule-id": "1", //rule 단위로 순차 처리 하므로, rule-id는 유니크해야 한다.
"rule-name": "1",
"object-locator": {
"schema-name": "원본 데이터베이스 스키마명",
"table-name": "원본 데이터베이스 테이블명"
},
"rule-action": "include",
"filters": []
}
:
]
}