AWS에서 MongoDB 복제본 세트를 AWS의 MongoDB Atlas로 마이그레이션하기
MongoDB Atlas 실시간 마이그레이션 서비스를 통해 MongoDB database를 AWS에서 실행되는 완전 관리형 클라우드 데이터베이스인 MongoDB Atlas로 빠르고 안전하게 마이그레이션할 수 있습니다. 애플리케이션이 정상적으로 작동하는 동안 기존 MongoDB 데이터베이스에 연결하고 Atlas에서 실행되는 클러스터와 동기화하는 방식으로 작동합니다. 두 클러스터 간의 데이터가 동기화되면 애플리케이션에서 간단하게 데이터베이스 연결 문자열을 업데이트하여 Atlas의 클러스터로 컷오버할수 있습니다.
소요 시간: 10분
준비물
사용자 데이터는 현재 MongoDB database에 있습니다.
이 가이드는 AWS의 기존 자체 관리형 MongoDB deployment에서 AWS의 MongoDB Atlas로 마이그레이션하는 데 중점을 둡니다. MySQL, PostgreSQL 또는 DynamoDB와 같은 다른 데이터베이스 시스템에 데이터가 있는 경우 마이그레이션에 대한 도움을 받으려면 당사에 문의해 주세요.
호환성을 보장하려면 MongoDB 드라이버를 업데이트하고 애플리케이션 수준에서 필요한 코드를 변경하세요.
현재 배포 유형은 MongoDB 복제본 세트 또는 샤딩된 클러스터입니다.
현재 배포서버 서버가 독립형 인스턴스 인 경우 먼저 복제본 세트 로 변환해야 합니다.
복제본 세트를 마이그레이션하는 경우 해당 복제본은 MongoDB 2.6 또는 이상 버전을 실행 중이어야 합니다.
Atlas 실시간 마이그레이션 서비스는 데이터를 최신 데이터베이스 버전으로 직접 이동할 수 있습니다. 지원되는 업그레이드 경로에 대한 자세한 내용은 Atlas 설명서를 참조하세요.
2.6 이전 버전을 실행 하는 경우 업그레이드 지침은 MongoDB 를 2.6 으로 업그레이드하기를 참조하세요.
샤딩된 클러스터를 마이그레이션하는 경우 MongoDB 4.0 또는 이상 버전을 실행 중이어야 합니다.
Atlas 실시간 마이그레이션 서비스는 동일한 데이터베이스 버전으로 데이터를 직접 이동할 수 있습니다. 지원되는 업그레이드 경로에 대한 자세한 내용은 Atlas 설명서를 참조하세요.
4.0 이전 버전을 실행 하는 경우 업그레이드 지침은 MongoDB 를 4.0 으로 업그레이드하기를 참조하세요.
(선택 사항) 소스 배포에서 인증을 활성화합니다.
마이그레이션 프로세스 를 진행하려면 Amazon Web Services 의 소스 클러스터 에서 인증 이 활성화되어 있어야 합니다. 인증 활성화에 대한 지침은 Enable Auth ( 인증 활성화)를 참조하세요.
mongosh
명령을 사용하여 소스 클러스터 에서 인증 이 활성화되어 있는지 확인할 수 있습니다.mongosh <mongodb-connection-string> -u <mongodb-username> -p --authenticationDatabase admin 마이그레이션을 수행하는 데 사용할 AWS 소스 클러스터의 데이터베이스 사용자에게 필요한 MongoDB 역할이 있습니다.
사용자는
clusterMonitor
및backup
역할이 있어야 합니다. 마이그레이션 에 사용할 데이터베이스 사용자에게 적절한 역할이 있는지 확인하려면 관리 데이터베이스 에 대해 db.getUser() 명령을 실행 합니다.use admin db.getUser("admin") { "_id" : "admin.admin", "user" : "admin", "db" : "admin", "roles" : [ { "role" : "backup", "db" : "admin" }, { "role" : "clusterMonitor", "db" : "admin" } ] } ...
절차
AWS에서 실행되는 MongoDB Atlas에서 대상 복제본 세트를 시작합니다.
자세한 내용은 MongoDB 계정 만들기 및 새 클러스터 만들기 를 참조하세요.
참고
대상 클러스터는 M10
이상의 인스턴스 노드를 사용해야 합니다. 개발 또는 스테이징 환경인 경우에는 인스턴스 노드가 M10
또는 M20
인 클러스터를 배포하세요. 프로덕션 워크로드의 경우 M30
이상의 인스턴스 노드를 선택합니다.
AWS 소스 클러스터에 Atlas 라이브 마이그레이션 서비스의 IP 주소를 추가합니다.
Migrate Data to Cluster 모달의 상단에 Atlas는 소스 클러스터에서 액세스할 수 있어야 하는 IP 주소 범위를 표시합니다. 표시되는 주소 범위는 대상 cluster의 위치에 따라 달라지며 변경될 수 있으므로 모달에 표시된 주소 범위를 입력했는지 확인해야 합니다.
Amazon Web Services EC2 서버는 보안 그룹 를 사용하여 무단 네트워크 액세스 로부터 보호됩니다. . IP 액세스 목록 에 새 IP 주소 범위를 추가하려면 새 보안 그룹을 만들거나 기존 보안 그룹을 수정하여 표시된 IP 주소 범위에서 인바운드 네트워크 액세스 를 허용합니다.
다음은 Atlas 실시간 마이그레이션 서비스에 대한 액세스 권한을 부여하는 보안 그룹의 예입니다.
새 보안 그룹을 생성하는 경우 이를 소스 클러스터를 실행하는 EC2 인스턴스와 연결해야 합니다. AWS EC2 콘솔에서 Actions 드롭다운을 클릭하고 Change Security Group을 선택합니다.
보안 그룹 생성 또는 수정에 대한 자세한 내용은 보안 그룹에 규칙 추가하기를 Amazon Web Services 2 참조하세요. EC 문서에서 확인 가능합니다.
Atlas 실시간 마이그레이션 서비스로 AWS 자격 증명을 검증하세요.
Migrate Data to Cluster 모달에서 Atlas가 데이터 마이그레이션을 수행하는 데 사용할 소스 AWS 소스 클러스터의 프라이머리 노드 호스트 이름과 포트 번호를 입력합니다.
참고
주소는 공용 인터넷을 통해 확인할 수 있어야 하므로 노드의 개인 IP 주소를 사용하지 않도록 주의합니다.
Username/Password에 있는 AWS 소스 클러스터의 MongoDB 사용자 이름과 비밀번호를 입력합니다
소스 클러스터에서 TLS/SSL을 활성화한 경우 Is TLS/SSL enabled를 Yes로 토글하고 소스 AWS cluster에서 사용하는 CA(인증 기관) 파일을 업로드합니다.
컷오버를 수행합니다.
소스 클러스터와 대상 클러스터 동기화가 거의 완료될 시점에 Atlas는 연장 가능한 72시간 타이머를 시작하여 컷오버 절차를 시작합니다. 120시간이 지나면 Atlas는 소스 클러스터와의 동기화를 중지합니다. <time> left to cut over 타이머 밑에 있는 Extend time 링크를 클릭하면 남은 시간을 24시간까지 연장할 수 있습니다.
애플리케이션을 대상 Atlas 클러스터로 잘라낼 준비가 되면 Prepare to Cutover 클릭합니다.
Atlas는 컷오버를 진행하는 방법에 대한 지침이 포함된 워크스루 화면을 표시합니다. 이 단계는 아래에도 간략하게 설명되어 있습니다.
애플리케이션을 중지합니다. 이렇게 하면 소스 클러스터에 쓰기가 추가로 생성되지 않습니다.
optime 격차가 0이 될 때까지 기다리세요. 카운터가 0이 되면 소스 클러스터와 대상 클러스터가 서로 동기화됩니다.
실시간 마이그레이션 컷오버 UI의 3단계에서 제공된 새 연결 문자열을 사용하여 애플리케이션을 다시 시작합니다.
컷오버 절차가 완료됐고 애플리케이션이 Atlas 클러스터에서 정상 작동 하는지 확 다인했다면 Cut Over를 클릭해 마이그레이션 절차를 완료하세요. 이로써 Atlas로 수행할 수 있는 작업은 다음과 같습니다.
마이그레이션 계획을 완료로 표시합니다.
대상 클러스터 IP 액세스 목록에서 애플리케이션 서버 서브넷을 제거합니다.
실시간 마이그레이션이 데이터를 대상 클러스터로 가져오는 데 사용한 MongoDB 사용자를 제거합니다.
마이그레이션 지원
이 문서에서 다루는 내용 외에 마이그레이션 과 관련하여 궁금한 점이 있거나 마이그레이션 중에 오류가 발생하는 경우 지원 요청에 대한 Atlas 설명서를 참조하세요.
요약
Atlas 클러스터 를 생성하고, 이전 Amazon Web Services MongoDB 클러스터 에서 데이터를 마이그레이션하고,MongoDB Atlas 에서 실행 되는 새 클러스터 를 사용하도록 애플리케이션을 Amazon Web Services 업데이트했습니다. 데이터 마이그레이션 프로세스 에 대한 자세한 내용은 복제본 세트를 Atlas 및 mongomirror 로 실시간 마이그레이션을 참조하세요.