일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- terraform
- Solution Architecture
- jenkins
- 솔데스크
- LoadBalancer Controller
- kubernetes 동작 원리
- EFS CSI Driver
- Firelens
- EKS 클러스터
- 딥레이서 보상함수
- 쿠버네티스 컴포넌트
- Aurora cluster
- blue-green
- grafana on kubernetes
- Kubernetes
- 로드밸런서 컨트롤러
- helm
- 그라파나 시각화
- AWS 딥레이서
- 깃허브 액션
- SAA 합격 후기
- 그라파나 대시보드
- 메탈LB
- Kubernets on Jenkins
- headless service
- 쿠버네티스
- Prometheus install
- github action 사용법
- 딥레이서
- livenessPorbe
mingming
AWS SCT & DMS 이기종 데이터베이스 마이그레이션 본문
구현하고자 하는 아키텍쳐는 위와 같습니다. 기존 운영중인 오라클 데이터베이스를 Aurora PostgreSQL로 마이그레이션 하려합니다. 마이그레이션 과정은 다음과 같습니다.
- 먼저, SCT를 이용해 오라클 데이터베이스의 스키마를 변환 후 Aurora postgreSQL로 적용시킵니다.
- DMS 서비스를 이용해 데이터를 이관합니다.
SCT(Schema Conversion Tool)
AWS SCT(AWS Schema Conversion Tool)는 관계형 데이터베이스를 AWS 클라우드의 관리형 데이터베이스 서비스로 마이그레이션하기 위한 도구입니다. 온프레미스 데이터베이스를 Amazon RDS, Amazon Aurora, Amazon Redshift 등의 클라우드 기반 데이터베이스로 이주할 때 사용됩니다. SCT는 데이터베이스 스키마를 변환하고, 마이그레이션할 데이터베이스를 대상 서비스에 맞게 최적화하여 클라우드로의 마이그레이션을 단순화하고 자동화합니다.
SCT 설치
SCT가 지원하는 운영체제는 다음 SCT 사용설명서 링크에서 확인할 수 있습니다. 저는 윈도우10 환경에서 설치를 진행하였습니다.
위의 링크에서 설치 파일 다운로드 후 압축을 풀어준 설치파일을 실행하 설치를 진행합니다.
설치 완료 후 해당 경로의 SCT 실행 파일을 실행시킵니다.
SCT Project
상단의 File을 클릭하여 New Project Wizard를 선택합니다.
Step1.
Source engine 과 Target engine을 선택합니다.
Step2.
Source Database의 서버 정보를 입력후 연결을 확인합니다. 현재 온프레미스와 Site to Site VPN 연결을 해둔 상태이기 때문에 사설 아이피로 통신이 가능합니다.
Step3.
변환할 스키마를 선택합니다. 필요한 스키마만 선택할 수있습니다.
Step4.
스키마 이관 적합성 검사를 진행합니다. 평가 보고서를 pdf로 받아볼 수 있습니다.
Step5.
target database의 연결정보를 입력 후 연결을 확인합니다.
Mapping rule
Oracle과 PostgreSQL의 스키마를 일치시키기 위해 mapping rule을 추가해주어야 합니다. Oracle의 테이블 과 컬럼은 대문자로 되어있어 이를 소문자로 바꾸는 규칙과 숫자형의 데이터 타입을 바꿔주는 규칙입니다. 룰을 설정 후 json으로 내보낼 수 있습니다.
mapping rule 설정 후 target database에 스키마 적용 후 스키마가 정상적으로 적용되었는지 확인합니다. 이렇게 스키마 변환 작업은 마무리 됩니다.
DMS
SCT를 이용해 스키마 이관 작업은 마무리되었으나 데이터는 넘기지 않은 상태입니다. AWS DMS 서비스를 이용해 데이터를 손쉽게 이관할 수 있습니다. 작업 단계는 다음과 같습니다.
- Source와 Target Endpoint를 생성하여 연결이 잘 되는지 확인합니다.
- 서브넷 그룹을 생성합니다. 이때 서브넷 그룹은 Replication Instace가 위치하는 서브넷 그룹입니다.
- Replication Instance를 생성합니다. 실제 작업을 수행하는 Instance입니다.
- Source DB에서 Target DB로 마이그레이션 하기 위한 마이그레이션 태스크(task)를 생성합니다.
- Task를 실행 후 데이터가 잘 넘어갔는지 확인합니다.
Migration Task
- 마이그레이션 유형: 기존 데이터 마이그레이션
- 대상 테이블 준비 모드: 아무 작업 안함
- 선택규칙: 소스DB에서 SESAC 스키마의 모든 테이블을 마이그레이션하므로 스키마의 모든 테이블 이름을 다 포함하도록 설정합니다.
- 변환규칙: PostgreSQL은 기본적으로 소문자를 취급하기 때문에 스키마와 테이블,컬럼들을 소문자 변경하도록 변환규칙을 설정합니다.
Task 결과 확인
이렇게 데이터베이스 마이그레이션 작업이 완료되었습니다. 오라클과 포스트그레의 데이터 타입이 다르기 때문에 추가해줘야 할 규칙이 많아 애를 먹었습니다. 다만 현재 테이블의 개수가 적고 오브젝트 또한 테이블 뷰 시퀀스로 한정적이여서 그나마 무사히 작업을 마칠 수 있었습니다.
'AWS Service' 카테고리의 다른 글
ECS 컨테이너 서비스 인프라 구축 및 Codepipeline 배포 자동화 (0) | 2023.08.21 |
---|---|
MSA 리팩토링과 클라우드 마이그레이션 (1) | 2023.08.21 |
멀티 리전 & 하이브리드 환경 인프라 구축 (5) | 2023.08.09 |
솔데스크 Deepracer 경진대회 (0) | 2023.08.09 |