다양한 방법 중 하나를 사용하여 온프레미스 MongoDB 배포서버에서 Atlas로 데이터를 마이그레이션할 수 있습니다. 최소한의 가동 중단 시간으로 많은 작업을 자동화해주는 Atlas 실시간 마이그레이션을 사용하실 것을 권장합니다. 그러나 데이터베이스 마이그레이션의 고유한 다양성과 복잡성을 수용하는 다른 도구를 사용할 수도 있습니다.
실시간 마이그레이션 개요
Atlas 실시간 마이그레이션은 데이터를 온프레미스 MongoDB 데이터베이스에서 Atlas로 이동하는 작업을 자동화합니다. Atlas 실시간 마이그레이션에는 다음 기능이 포함됩니다.
마이그레이션 호스트는 Atlas 클러스터로의 트래픽을 항상 암호화합니다. Atlas 노드 간 트래픽은 항상 암호화되며, 이 기능은 비활성화할 수 없습니다. 특정 역할 기반 액세스 제어(RBAC) 데이터베이스 역할(예:
backup,readAnyDatabase또는clusterMonitor)을 가진 사용자와 Atlas 프로젝트 소유자만 실시간 마이그레이션을 시작할 수 있습니다. 사용자는 SCRAM-SHA-1 또는 SCRAM-SHA-256을 사용하여 클러스터에 인증합니다.실시간 마이그레이션은 대부분의 작업을 자동화합니다. 완전 관리형 'pull' 방식에서 실시간 마이그레이션은 주요 지표를 모니터링하고, 마이그레이션 서버를 프로비저닝하고, 마이그레이션 명령의 엄격한 순서를 지정합니다. 또한, 마이그레이션할 Atlas 대상 클러스터 계층 구성을 선택할 수도 있습니다.
대상 클러스터를 확장해 비용을 관리하는 데 도움이 되는 자세한 지침을 확인해 보세요. 권장사항에는 적절한 클러스터 크기 조정과 임시 확장, 마이그레이션 후 최적 수준으로의 재조정이 포함됩니다.
실시간 마이그레이션 백그라운드에서 Mongosync 를 사용하므로 병렬 데이터 복사를 통한 빠른 전환이 가능합니다. 프로세스는 지속적인 데이터 동기화와 최종 전환 단계를 사용하여 가동 중단 시간 최소화 하여 일시적인 네트워크 중단 및 클러스터 선택을 관리 . 재시도 메커니즘과 마이그레이션 전 유효성 검사는 중단에 대한 회복 탄력성 강화합니다.
실시간 상태 업데이트 및 알림으로 마이그레이션을 모니터링합니다.
실시간 마이그레이션 방법
실시간 마이그레이션 서버가 Atlas로 데이터를 가져오게 할 수 있습니다. pull 실시간 마이그레이션 방식은 특정 MongoDB 버전 간의 마이그레이션 경로를 지원합니다. 자세한 내용은 지원되는 마이그레이션 경로를 참조하세요. 지원되지 않는 버전의 MongoDB를 사용하여 데이터베이스에서 데이터를 마이그레이션하려면 레거시 마이그레이션 또는 수동 마이그레이션 방법을 참조하세요.
Atlas로 데이터를 불러옵니다. Atlas가 소스 MongoDB 배포서버에서 데이터를 가져오고 배포의 방화벽을 통해 소스 배포에 액세스해야 합니다. 클러스터가 완전히 동기화되면 소스에서 쓰기 작업을 중지하고 애플리케이션을 Atlas 클러스터로 리디렉션한 다음 다시 시작하는 컷오버 프로세스를 따라야 합니다. 다음과 같은 고려 사항이 적용됩니다.
Cloud Manager 또는 Ops Manager에서 모니터링하지 않는 배포서버에 가장 적합합니다.
실시간 마이그레이션 서버로부터 인바운드 액세스를 허용하려면 소스 데이터베이스가 공개적으로 접근 가능해야 합니다.
소스 및 대상 클러스터 토폴로지가 일치해야 합니다. 예를 들어, 두 시스템 모두 복제본 세트이거나 동일한 수의 샤드를 가진 샤드 클러스터여야 합니다.
컷오버 중 가동 중단 시간 최소화를 위해 쓰기를 중지하고 새 연결 문자열로 애플리케이션을 다시 시작합니다. 마이그레이션 프로세스는 대상 클러스터에서 CPU를 많이 사용하며, 상당한 네트워크 대역폭을 필요로 합니다.
마이그레이션 프로세스를 원활히 진행하려면 소스 클러스터의 oplog 크기가 전체 마이그레이션 기간을 감당할 수 있는지 확인하세요. 소스 클러스터의 경우, 실시간 마이그레이션의 창은 oplog 복제 지연 창 내에 있어야 합니다. 최소 oplog window를 늘리거나 고정 oplog 크기를 늘려 이 요구 사항을 충족할 수 있습니다. 대상 클러스터의 경우, 마이그레이션 기간 동안 소스 클러스터보다 최소 두 계층 위에 있는 대상 클러스터 계층을 선택하는 것이 좋습니다. 대상 클러스터에서 저장 자동 확장이 비활성화되어 있는 경우 대상 클러스터의 oplog 크기를 충분히 높은 고정 값으로 늘립니다. 대상 클러스터에서 저장 자동 확장이 활성화되어 있는 경우에는 대상 클러스터에서 최소 oplog window 을 충분히 높게 설정합니다. 자세한 내용은 Oplog 요구 사항을 참조하세요.
전체 마이그레이션 권장사항과 지침은 클러스터를 Atlas로 실시간 마이그레이션(Pull)을 참조하세요.
마이그레이션 모니터링
진행 중인 마이그레이션과 이전 마이그레이션을 모두 검토하려면 Atlas의 Migration Hub 페이지로 이동하세요.
각 마이그레이션 프로세스를 클릭하면 초기 데이터 복사 예상 시간 및 종합 진행률 보고서를 비롯한 자세한 정보를 확인할 수 있습니다. 클러스터 카드를 사용하여 마이그레이션을 생성, 전환 또는 취소할 수 있습니다.
자세한 내용은 마이그레이션 모니터링을 참조하세요.
수동 마이그레이션 방법
Atlas 실시간 마이그레이션이 마이그레이션 요구 사항의 제약 조건을 충족하지 않는 경우, Atlas 외부에서 실행하는 다음 도구 중 하나를 사용해 기존 MongoDB 배포서버, JSON, 또는 CSV 파일의 데이터를 Atlas로 가져올 수 있습니다.
도구 | 설명 |
|---|---|
Mongosync 바이너리는 Atlas 실시간 마이그레이션 에서 사용하는 프라이머리 프로세스 입니다. 독립형 | |
기존 복제본 세트 또는 애플리케이션을 종료하지 않은 상태에서 MongoDB 복제본 세트에서 Atlas 클러스터로 마이그레이션하세요. mongomirror는 사용자/역할 데이터를 가져오거나 | |
기존 MongoDB 배포서버의 mongodump에서 가져온 | |
| |
GUI를 사용해 |
Atlas 클러스터 백업 데이터에서 다른 Atlas 클러스터로 복원할 수도 있습니다. 자세한 내용은 클러스터 복원을 참조하세요.
Atlas VNet 피어링 또는 Private Link 구성을 사용해야 하거나, 타사에서 소스 클러스터로의 직접 연결을 허용하지 않거나, Ops Manager 또는 Cloud Manager에 소스 클러스터가 없거나 가져오기를 원하지 않는 경우, MongoDB는 독립형 mongosync 방식을 권장합니다.
마이그레이션할 데이터 세트가 비교적 작고(<300GB), 장기간의 애플리케이션 가동 중단 시간을 견딜 수 있는 경우 MongoDB는 mongodump 및 mongorestore 방식을 권장합니다.
데이터 세트가 비교적 작고(<300 GB), 인덱스 문제가 없으며, 장기간의 애플리케이션 가동 중단 시간을 감당할 수 있는 경우, MongoDB는 mongoexport 및 mongoimport 방식을 권장합니다.
전환
마이그레이션이 '전환 준비' 상태에 도달하면 클러스터 카드에서 Cutover on target cluster 를 클릭한 다음 Prepare to Cutover 를 클릭하여 전환 프로세스를 시작합니다. 컷오버가 성공적으로 완료되면 애플리케이션이 새 대상 클러스터를 가리키도록 재구성합니다.
자세한 내용은 마이그레이션 모니터링을 참조하세요.
다음 단계
Atlas 엔터프라이즈 자산의 구성 요소에 대해 알아보려면 Atlas 조직, 프로젝트 및 클러스터에 대한 지침 페이지를 참조하거나 왼쪽 탐색을 사용하여 각 Well-Architected 프레임워크 핵심 요소에 대한 기능과 권장사항을 찾아보세요.