CSP (Cloud Service Provider)/AWS

MongoDB Migration with Aws DocumentDB

HemMu 2022. 7. 1. 11:24

MongoDB는 확장성과 개발자 민첩성을 염두에 두고 설계된 오픈 소스 문서 지향 데이터베이스이다.
MongoDB에서는 동적 스키마를 사용하여 JSON과 유사한 문서를 저장한다.

Amazon DocumentDB완전관리형이며 MongoDB와 호환되는 AwsDocument NoSQL Database서비스이.

 

이 글에서는 Stie-to-Site 연결을 통해 DMS 서비스로 Migrate하는 시나리오.

 

Site-to-Site DMS Architecture

Site-to-Site 연결은 다음 글을 참고하자.

2022.06.27 - [Cloud/AWS] - Aws site-to-site VPN연결

 

Aws site-to-site VPN연결

기본적으로 Amazon VPC로 시작하는 인스턴스는 자체(원격) 네트워크와 통신할 수 없다. 그러나 AWS Site-toSite VPN(Site-to-Site VPN) 연결을 생성하고 연결을 통해 트래픽을 전달하도록 라우팅을 구성하여 V

btcd.tistory.com

 

먼저 스키마를 복제하는데 사용하는 복제 인스턴스를 위한 서브넷 그룹을 생성한다.

Subnet Group

원하는 VPC의 Subnet을 선택하여 서브넷 그룹을 생성해준다.

* 가져올 MongoDB가 있는 VPC를 선택해야함.

 

복제인스턴스

다음 Local Deivce에서 스키마를 받아올 복제 인스턴스를 생성한다.

인스턴스 타입을 지정해주고 아까 생성한 서브넷그룹을 사용한다.

* 복제인스턴스는 프리티어를 지원함.

 

소스 엔드포인트

다음은 Local Device에서 복제 인스턴스에 스키마를 복제해줄 엔드포인트를 생성한다.

엔드포인트 식별자는 그냥 Aws 콘솔에 표시될 이름이다.

이 글에서는 MongoDB를 대상으로 하기때문에 소스 엔진은 MongoDB로 선택한다.

소스 엔드포인트

서버이름은 엔드포인트가 식별 할 MongoDB서버의 Private IP를 기입한다.

 

포트는 MongoDB의 기본포트인 27017로 설정하나 다른 포트를 사용했다면 그 포트번호를 기입한다.

 

사용자이름과 암호는 Migrate할 DB의 User이름과 암호를 작성한다.

인증 소스는 위의 db.auth가 가능한 User의 DB명을 기입한다.

 

데이터베이스 이름은 복제인스턴스에 복제가 끝났을 때 만들어질 DB이름을 기입한다.

* 설정이 끝났으면 아래의 테스트를 클릭했을 때 Success가 나오면 된다.

** 실패라고 나오면 MongoDB의 설정이랑 맞지 않아 연결이 실패한 것이다.

대상 엔드포인트

다음은 복제인스턴스에서 Aws DocumentDB에 스키마를 옮길 엔드포인트를 생성한다.

엔드포인트 식별자는 Aws 콘솔에 표시될 이름이고 이 글에서는 소스 엔진은 Document DB로 선택한다.

 

대상 엔드포인트

서버이름은 Document DB 클러스터 엔드포인트를 기입한다.

* 미리 Document DB가 생성 되어 있어야 함.

 

SSL 모드는 verify-full로 선택하는데 DocumentDB는 인증서가 없으면 접속이 불가능하기 때문이다.

* verify-full로 설정 후 CA인증서를 선택해주는데 없다면 DocumentDB로 이동하여 클러스터 연결 탭의 인증서 번들이 있는데 그걸 사용하자.

 

사용자 이름과 암호는 DocumentDB의 User이름과 Password를 기입한다.

데이터베이스 이름은 DocumentDB에 생성 될 데이터베이스명이다.

* 테스트해보자.

 

마이그레이션 작업

모두 생성과 테스트연결이 완료되었으면 지금까지 만든 연결 파이프라인으로 Migration Task를 생성한다.

이전에 생성한 인스턴스와 엔드포인트를 선택해준다.

마이그레이션 유형

마이그레이션 유형은 다음과 같다.

 

기존 데이터 마이그레이션 : 한 번만 작업

기존 데이터 마이그레이션 및 지속적인 변경 사항 복제 : 일정시간마다 작업

데이터 변경 사항만 복제 : 변경사항만 작업

 

원하는 유형을 선택해주자.

 

원하는 스키마를 Task에 할당하는 조건을 작성해준다.

여기서는 다 때려박았다.

 

테이블

Migration Task 구성완료 후 시작하여 작업이 완료되면 테이블에 스키마가 표시된다.

 

DocumentDB 클러스터에 접속해서 확인해보자.

딩가딩