샤딩된 클러스터를 Atlas로 라이브 마이그레이션(끌어오기)(MongoDB 6.0.13 이전 버전)
Atlas는 실시간 마이그레이션 프로세스를 이용하여 소스 샤딩된 클러스터를 Atlas 클러스터로 끌어올 수 있습니다. Atlas는 사용자가 애플리케이션을 대상 Atlas 클러스터로 전환할 때까지 소스의 데이터를 대상 클러스터와 동기화합니다.
다음 절차에서 전환 단계에 도달하면 애플리케이션 인스턴스를 중지하고 Atlas 클러스터를 가리키도록 한 다음, 해당 인스턴스를 다시 시작하여 소스 클러스터에 대한 쓰기를 중지하세요.
제한 사항
이 페이지의 절차를 사용하여 샤딩된 클러스터 를 MongoDB 6.0.13 이상으로 실시간 마이그레이션 하지 마세요. 학습 내용은 MongoDB 6.0.13+ 또는 7 라이브 마이그레이션(끌어오기)을 참조하세요.0.8+ Atlas 에 클러스터링합니다.
소스 및 대상 클러스터가 MongoDB 6.0.13 이상을 실행 중인 경우 이 절차를 사용하여 Atlas로 실시간 마이그레이션을 수행할 수 있습니다.
복제본 세트를 실시간 마이그레이션하려면 복제본 세트를 Atlas로 실시간 마이그레이션(끌어오기)을 참조하세요.
Global cluster 를 실시간 마이그레이션의 대상으로 사용할 수 없습니다.
실시간 마이그레이션은 소스 또는 대상 cluster에 대해 VPC Peering 또는 비공개 엔드포인트 를 지원하지 않습니다.
실시간 마이그레이션 중에 Atlas는 호스트 경고를 비활성화합니다.
필요한 액세스 권한
데이터를 실시간 마이그레이션하려면 Atlas에 대한 Project Owner
액세스 권한이 있어야 합니다.
2} 액세스 권한이 있는 사용자는 프로젝트에 자신을 으로 추가해야 Organization Owner
Project Owner
합니다.
전제 조건
MongoDB 4.4 이하에서 MongoDB 5.0 이상을 실행하는 Atlas 클러스터로 마이그레이션하는 경우 컬렉션에서 geoHaystack 인덱스를 제거하세요.
인증을 통해 소스 클러스터가 실행되는 경우, 모든 샤드 및 config 서버 복제본 세트에 존재하는 Atlas에 사용자를 지정합니다. 사용자는 다음에 대한 권한이 있어야 합니다.
샤드 cluster 밸런서를 중지하거나 시작합니다.
호스트의 모든 데이터베이스와 컬렉션을 읽습니다.
호스트에서 oplog를 읽습니다.
자세한 내용은 소스 클러스터 보안을 참조하세요.
중요
소스 클러스터 준비 상태
마이그레이션 경로
Atlas 실시간 마이그레이션(끌어오기)은 다음 마이그레이션 경로를 지원합니다.
Source Sharded Cluster MongoDB Version | Destination Atlas Sharded Cluster MongoDB Version |
---|---|
5.0 | 5.0 |
참고
소스 및 대상 클러스터가 MongoDB 6.0.13 이상을 실행 중인 경우 이 절차를 사용하여 Atlas로 실시간 마이그레이션을 수행할 수 있습니다.
샤드 클러스터의 경우, 소스 클러스터와 대상 클러스터의 주요 MongoDB 버전은 완전히 동일해야 합니다. 전체 5.0.x 의 주요 MongoDB 버전 버전은 5.0 입니다.
네트워크 액세스
다음 구성 요소에 대한 네트워크 권한을 구성합니다.
원본 클러스터 방화벽은 실시간 마이그레이션 서버의 트래픽을 허용합니다.
이 소스 클러스터의 모든 방화벽은 소스 클러스터에 대한 MongoDB 실시간 마이그레이션 서버 액세스 권한을 허용해야 합니다.
Atlas 실시간 마이그레이션 프로세스는 MongoDB로 제어되는 실시간 마이그레이션 서버를 통해 데이터를 스트리밍합니다. Atlas는 실시간 마이그레이션 프로세스 중에 MongoDB 실시간 마이그레이션 서버의 IP 범위를 제공합니다. 이 IP 범위에 소스 클러스터에 대한 액세스 권한을 허용하세요. 이렇게 하면 MongoDB 실시간 마이그레이션 서버를 소스 클러스터에 연결할 수 있습니다.
참고
조직의 네트워크 요구 사항이 엄격하고 MongoDB Live Migration 서버에 대한 필수 네트워크 액세스를 활성화할 수 없는 경우 커뮤니티 배포를 Atlas로 실시간 마이그레이션을 참조하세요.
애플리케이션 서버의 트래픽을 허용하는 Atlas 클러스터
Atlas는 프로젝트 IP 액세스 목록에 추가된 호스트에서 클러스터에 연결할 수 있도록 허용합니다. 애플리케이션 호스트의 IP 주소 또는 CIDR 블록을 프로젝트 IP 액세스 목록에 추가합니다. 마이그레이션 절차를 시작하기 전에 이 작업을 수행하세요.
Atlas는 MongoDB 마이그레이션 서버의 IP 주소를 프로젝트 IP 액세스 목록에 일시적으로 추가합니다. 마이그레이션 절차 중에는 이 항목을 편집하거나 삭제할 수 없습니다. 절차가 완료되면 Atlas가 이 항목을 제거합니다.
Atlas IP 액세스 목록에 항목을 추가하는 방법을 알아보려면 IP 액세스 목록 항목 구성을 참조하세요.
마이그레이션 전 유효성 검사
Atlas는 실시간 마이그레이션 절차를 시작하기 전에 소스 클러스터와 대상 클러스터에 대해 여러 가지 유효성 검사를 수행합니다.
소스 클러스터는 샤드 클러스터여야 합니다.
소스가 복제본 세트 클러스터인 경우 풀 타입(pull-type) 실시간 마이그레이션을 사용하여 먼저 이 클러스터를 Atlas 복제본 세트로 마이그레이션한 다음, 샤딩된 클러스터로의 클러스터 확장을 실행하세요.
소스가 독립형 인 경우 끌어오기 유형 실시간 마이그레이션 을 사용하기 전에먼저 독립형 을 복제본 세트 로 변환하세요 . 그런 클러스터 확장하다 를 샤딩된 클러스터 로 확장합니다.
소스 클러스터는 CSRS(구성 MongoDB 서버 복제본 세트)를 사용해야 합니다. 복제본 세트 구성 서버를 참조하세요.
Atlas의 소스 클러스터는 각 노드의 호스트 이름 및 포트에 연결되어 있어야 합니다.
Atlas는 소스 클러스터에서 샤딩된 클러스터 밸런서를 중지 및 시작할 수 있어야 합니다.
소스 클러스터의 기능 호환성 버전 및 주요 MongoDB 버전은 대상 cluster와 동일합니다. 전체 5.0.x 의 주요 MongoDB 버전 버전은 5.0 입니다.
소스 클러스터에 있는 호스트의 기능 호환성 버전을 확인하려면
mongosh
에서 다음 명령을 실행합니다.db.runCommand( { getParameter : 1, "featureCompatibilityVersion" : 1 } ) setFeatureCompatibilityVersion 데이터베이스 명령을 사용하여 필요에 따라
featureCompatibilityVersion
플래그를 설정합니다.대상 Atlas 샤딩된 클러스터의 샤드 수는 소스 샤딩된 클러스터와 동일해야 합니다.
소스 클러스터 보안.
다양한 기본 제공 역할이 충분한 권한을 제공합니다. 예시:
소스 클러스터의 경우 사용자는
readAnyDatabase
,clusterMonitor
,backup
역할이 있어야 합니다.실시간 마이그레이션 프로세스를 실행할 데이터베이스 사용자에게 이러한 역할이 있는지 확인하려면
admin
데이터베이스에서 db.getUser() 명령을 실행합니다.use admin db.getUser("admin") { "_id" : "admin.admin", "user" : "admin", "db" : "admin", "roles" : [ { "role" : "backup", "db" : "admin" }, { "role" : "clusterMonitor", "db" : "admin" } { "role" : "readAnyDatabase", "db" : "admin" } ] } ... 이외에도 소스 클러스터의 데이터베이스 사용자는 데이터베이스의 oplog를 읽을 수 있는 역할이 있어야
admin
합니다. 자세히 알아보려면 Oplog 액세스를참조하십시오.MongoDB 3.4를 실행하는 소스 클러스터의 경우 사용자는 최소한
clusterMonitor
및readAnyDatabase
역할을 모두 가지고 있어야 합니다. 예를 들면 다음과 같습니다.use admin db.createUser( { user: "mySourceUser", pwd: "mySourceP@$$word", roles: [ "clusterMonitor", "readAnyDatabase" ] } ) MongoDB 3.2를 실행하는 소스 클러스터의 경우 사용자는 최소한
clusterManager
및readAnyDatabase
역할과local
데이터베이스에 대한 읽기 액세스 권한이 모두 있어야 합니다. 여기에는 사용자 지정 역할이 필요합니다. 이 역할은 다음 명령을 사용해서 생성할 수 있습니다.use admin db.createRole( { role: "migrate", privileges: [ { resource: { db: "local", collection: "" }, actions: [ "find" ] } ], roles: ["readAnyDatabase", "clusterManager"] } ) db.createUser( { user: "mySourceUser", pwd: "mySourceP@$$word", roles: [ "migrate" ] } ) MongoDB 2.6 또는 3.0을 실행하는 소스 클러스터의 경우 사용자에게는 최소한
readAnyDatabase
역할이 있어야 합니다. 예를 들면 다음과 같습니다.use admin db.createUser( { user: "mySourceUser", pwd: "mySourceP@$$word", roles: [ "readAnyDatabase" ] } )
실시간 마이그레이션 절차 중 프롬프트가 나타나면 Atlas의 사용자 이름과 비밀번호를 지정하세요.
Atlas는 인증을 적용하는 소스 클러스터에 연결할 때 SCRAM만 지원합니다.
SCRAM 인증에 대한 지원은 MongoDB 3.0부터 시작되었습니다. 소스 클러스터에서 MongoDB 2.6을 실행 중이라면 SCRAM 인증을 활성화하지 않고도 풀 실시간 마이그레이션을 사용하여 마이그레이션할 수 있습니다.
팁
마이그레이션할 때 자격 증명을 숨기려면 원본 클러스터에서 마이그레이션에 필요한 최소 권한이 있는 임시 사용자를 추가 한 다음, 마이그레이션 프로세스를 완료한 후 사용자를 삭제 하는 것이 좋습니다.
MongoDB가 라이브 마이그레이션 서버를 보호하는 방법
Atlas로의 어떤 풀 타입 실시간 마이그레이션에서든 Atlas는 실시간 마이그레이션을 실행하고 소스의 데이터를 대상 클러스터로 전송하는 서버를 관리합니다.
MongoDB는 Atlas로 전송되는 데이터의 무결성과 기밀성을 보호하기 위해 다음과 같은 조치를 취합니다.
MongoDB는 Atlas 관리형 실시간 마이그레이션 서버와 대상 클러스터 간에 전송되는 데이터를 암호화합니다. 소스 클러스터와 Atlas 관리형 마이그레이션 서버 간에 전송되는 데이터를 암호화해야 하는 경우 소스 클러스터에서 TLS를 구성하세요.
MongoDB는 Atlas의 다른 부분에 대한 액세스 권한을 보호하듯이 Atlas 관리형 마이그레이션 서버 인스턴스에 대한 액세스 권한을 보호합니다.
드문 일이지만 중요 서비스를 조사하고 복원하는 데 개입이 필요한 경우, MongoDB는 최소 권한 원칙을 준수하면서 중요 문제의 해결에 필요한 최소한의 제한 시간 동안 권한이 있는 소수의 사용자에게만 Atlas 클러스터에 액세스할 수 있는 권한을 부여합니다. MongoDB는 이러한 사용자가 Atlas 클러스터에 로그인하고 Bastion host를 통해 SSH 연결을 설정할 수 있도록 MFA를 요구합니다. 권한이 있는 사용자에게 이 유형의 액세스 권한을 부여하려면 MongoDB 고위 경영진의 승인을 받아야 합니다. MongoDB는 다른 MongoDB 담당자가 MongoDB Atlas 클러스터에 액세스하도록 허용하지 않습니다.
MongoDB는 권한이 있는 사용자 계정을 권한이 있는 활동에만 사용할 수 있도록 허용합니다. 권한이 없는 활동을 수행하려면 권한이 있는 사용자가 별도의 계정을 사용해야 합니다. 권한 있는 사용자 계정은 공유 자격 증명을 사용할 수 없습니다. 권한이 있는 사용자 계정은 Atlas 보안 백서 4.3.3절에 설명된 비밀번호 요구 사항을 따라야 합니다.
Atlas에서 권한 있는 사용자를 포함한 모든 MongoDB 담당자가 클러스터에 액세스하는 것을 제한할 수 있습니다. 이러한 액세스 권한을 제한하기로 했는데 MongoDB의 판단에 따라 지원 문제 해결에 해당 액세스가 필요한 경우, MongoDB는 먼저 사용자의 권한을 요청해야 합니다. 그런 다음 사용자는 최대 24시간 동안 권한이 있는 사용자의 액세스 권한을 일시적으로 복원할지 여부를 결정할 수 있습니다. 이 임시 24시간 액세스 권한의 허용은 언제든지 취소할 수 있습니다. 이 제한을 활성화하면 지원 문제의 응답 및 해결에 소요되는 시간이 길어질 수 있으며, 결과적으로 Atlas 클러스터의 가용성에 악영향을 미칠 수 있습니다.
MongoDB는 분기별로 권한이 있는 사용자의 액세스 권한 허용을 검토합니다. MongoDB는 해당 권한이 더 이상 필요 없는 경우(예: 권한이 있는 사용의 역할 변경 또는 퇴사 후 24시간 이내) 권한이 있는 사용자의 액세스 권한을 취소합니다.뿐만 아니라 MongoDB 담당자의 모든 액세스를 Atlas 클러스터에 기록하고, 최소 6년 동안 감사 로그를 보관하며 타임스탬프, 작업자, 작업 및 결과를 기록합니다. MongoDB는 자동 검토 및 수동 검토를 조합해서 이러한 감사 로그를 스캔합니다.
Atlas 보안에 대해 자세히 알아보려면 Atlas 보안 백서를 참조하세요. 특히 'MongoDB Atlas 클러스터에 대한 MongoDB 담당자 액세스 권한' 섹션을 잘 읽어 보세요.
인덱스 키 제한
MongoDB 배포에 인덱스 키 제한을 초과하는 키가 있는 인덱스가 포함된 경우 실시간 마이그레이션 프로시저를 시작하기 전에 크기가 큰 키가 포함되지 않도록 인덱스를 수정합니다.
고려 사항
네트워크 암호화
풀 실시간 마이그레이션 중에 소스 클러스터가 그 데이터에 TLS 암호화를 사용하지 않을 경우, 소스 클러스터에서 Atlas로 전송되는 트래픽은 암호화되지 않습니다. 풀 실시간 마이그레이션 절차를 시작하기 전에 이 작업이 허용되는지 확인하세요.
데이터베이스 사용자 및 역할
Atlas는 어떤 사용자 또는 역할 데이터도 대상 클러스터로 마이그레이션하지 않습니다.
소스 클러스터가 인증을 사용하지 않는 경우, Atlas가 인증 없이 실행하는 것을 지원하지 않으므로 Atlas로 사용자를 생성해야 합니다.
소스 클러스터가 인증을 시행하는 경우 애플리케이션이 대상 Atlas 클러스터에서 사용하는 자격 증명을 다시 생성해야 합니다. Atlas는 사용자 인증에 SCRAM 을 사용합니다. Atlas에서 데이터베이스 사용자를 생성하는 방법을 알아보려면 데이터베이스 사용자 구성을 참조하세요.
SCRAM 인증에 대한 지원은 MongoDB 3.0부터 시작되었습니다. 소스 클러스터에서 MongoDB 2.6을 실행 중이라면 SCRAM 인증을 활성화하지 않고도 풀 실시간 마이그레이션을 사용하여 마이그레이션할 수 있습니다.
소스 클러스터 밸런서
Atlas 실시간 마이그레이션은 절차 시작 시 소스 클러스터에서 샤딩된 클러스터 밸런서를 중지하고 절차 종료 시 밸런서를 시작합니다.
실시간 마이그레이션을 취소하면 Atlas가 소스 클러스터에서 밸런서를 다시 시작합니다.
참고
경우에 따라 Atlas는 실시간 마이그레이션 프로세스 종료 시 소스 클러스터에서 밸런서를 다시 시작할 수 없습니다. 밸런서가 다시 시작되지 못해도 실시간 마이그레이션은 성공할 수 있습니다. 단, 소스 클러스터 밸런서를 수동으로 다시 시작 해야 한다는 내용의 경고 배너가 표시됩니다.
대상 클러스터 구성
대상 Atlas 클러스터를 구성할 경우 다음 사항을 고려하세요.
실시간 마이그레이션 프로세스는 MongoDB 관리형 실시간 마이그레이션 서버를 통해 데이터를 스트리밍합니다. 각 서버는 소스 클러스터와 가장 가까운 리전에 호스팅되는 인프라에서 실행됩니다. 사용 가능한 리전은 다음과 같습니다.
- 유럽
프랑크푸르트
아일랜드
London
- Americas
미국 동부
미국 서부
- APAC
뭄바이
싱가포르
시드니
Tokyo
Atlas의 대상 클러스터(애플리케이션 서버 또는 소스 클러스터에 호스팅된 배포에 비해 네트워크 지연 시간이 가장 짧음)에 클라우드 리전을 사용합니다. 대상 Atlas 클러스터의 기본 리전과 동일한 리전의 클라우드에서 애플리케이션의 서버를 실행하는 것이 가장 좋습니다. 자세한 내용은 클라우드 공급자를 참조하세요.
oplog 컬렉션의 무제한 증가를 방지하려면 실시간 마이그레이션 프로세스 기간 동안 고정된 oplog 크기를 설정합니다 . 자세히 알아보려면 필수 액세스 및 Atlas 구성 옵션을 참조하세요.
Global cluster 를 실시간 마이그레이션의 대상으로 지정할 수 없습니다.
중요
실시간 마이그레이션 프로세스가 시작되면 대상 Atlas 클러스터를 수정할 수 없습니다. 대상 클러스터를 확장하려면 실시간 마이그레이션 프로세스를 취소 하고 클러스터를 확장한 후 실시간 마이그레이션 프로세스를 다시 시작하세요.
대상 cluster 네트워크 액세스
실시간 마이그레이션 중에는 대상 클러스터의 mongos
프로세스가 종료되고 mongos
서버를 통한 클러스터 연결이 일시 중단됩니다. 마이그레이션이 완료되면 mongos
프로세스가 자동으로 다시 시작됩니다.
대상 클러스터의 워크로드 방지
대상 클러스터에서 어떤 워크로드(실시간 마이그레이션 프로세스와 겹치지 않는 네임스페이스에서 실행 중인 워크로드 포함)도 실행하지 마세요. 이 작업을 수행하면 실시간 마이그레이션 프로세스 중에 발생 가능한 잠금 충돌 및 성능 저하를 방지할 수 있습니다.
여러 마이그레이션을 동일한 대상 클러스터로 동시에 실행하지 마세요.
실시간 마이그레이션 프로세스가 동기화되는 동안 대상 클러스터에 대한 애플리케이션의 전환 프로세스를 시작하지 마세요.
클라우드 백업 피하기
Atlas는 라이브 마이그레이션 중에 대상 클러스터의 온디맨드 클라우드 백업 스냅샷 생 성을 중단합니다. 이 페이지의 실시간 마이그레이션 절차에서 컷오버 단계를 완료하면 Atlas는 백업 정책에 따라 클라우드 백업 스냅샷 촬영을 재개합니다.
네임스페이스 변경 방지
마이그레이션 프로세스 중에는 renameCollection
명령을 사용하거나 $out
집계 단계가 포함된 집계 파이프라인을 실행하는 등 네임스페이스를 변경하지 마세요.
선거 피하기
실시간 마이그레이션 프로세스는 일시적인 네트워크 중단과 소스 클러스터 또는 대상 클러스터에서의 투표 기간 동안 마이그레이션을 계속하기 위한 최선의 방법입니다. 다만 이러한 이벤트로 인해 실시간 마이그레이션 프로세스가 실패할 수 있습니다. 실시간 마이그레이션 프로세스가 자동으로 복구되지 않으면 프로세스를 처음부터 다시 시작하세요.
롤링 재시작
마이그레이션 프로세스가 완료되면 클러스터는 각 구성원을 한 번에 하나씩 다시 시작합니다. 이를 롤링 재시작이라고 하며 결과적으로 기본에서 장애 조치가 발생합니다. 원활한 마이그레이션을 보장하려면 데이터를 대상 클러스터로 마이그레이션하기 전에 기본 장애 조치(failover) 테스트 절차를 실행하는 것이 좋습니다.
실시간 마이그레이션 취소
Cancel 을 클릭하여 언제든지 프로세스를 취소할 수 있습니다. Atlas는 cluster에 대한 정상적 액세스가 가능해질 때까지 대상 cluster에 대해 Sharded Cluster Live Import in Progress 메시지를 표시합니다.
완료되기 전에 실시간 마이그레이션 프로세스를 취소하면 Atlas에서 해당 시점까지 마이그레이션된 데이터가 제거되지 않습니다. 대상 클러스터와 동일한 Atlas 클러스터를 사용하여 실시간 마이그레이션 프로세스를 다시 시작하면 Atlas가 해당 클러스터에서 모든 데이터를 지웁니다.
대상 cluster 테스트
대상 클러스터로 데이터를 마이그레이션한 다음, 마이그레이션 프로세스를 중지하고 대상 클러스터를 떠나는 동안 대상 클러스터를 테스트하는 동시에, 소스 클러스터를 실행 중인 상태로 두고 애플리케이션에 데이터를 제공하는 것이 좋습니다.
프로덕션 데이터로 대상 클러스터 를 테스트하려면 테스트 단계까지 마이그레이션 절차 를 따르세요. 전체 마이그레이션 프로세스 를 수행할 준비가 되면 테스트 단계를 건너뛰고 전환 단계로 진행하세요.
샤드 cluster 마이그레이션
참고
스테이징 및 프로덕션 마이그레이션
실시간 마이그레이션 절차의 일부를 먼저 실행하여 단계 구성 환경을 만든 후에 해당 절차를 반복하여 프로덕션 환경을 생성하는 것이 좋습니다. 다음 절차에는 절차를 취소하고 단계 구성 환경을 생성하기 적절한 시기에 대한 신호가 포함되어 있습니다.
단계 구성 환경에서 대상 Atlas 클러스터의 MongoDB 버전을 지원하는 최신 드라이버 버전을 사용하여 애플리케이션 동작 및 성능을 테스트하세요. 그런 다음 실시간 마이그레이션 절차를 전부 반복하여 애플리케이션을 소스 클러스터에서 Atlas 대상 클러스터로 전환하세요.
중요
실시간 마이그레이션 절차가 실행되는 동안에는 복제본 세트 노드를 제거하거나 featureCompatibilityVersion
과 같은 mongod
런타임 설정을 수정하는 등 소스 클러스터 구성을 변경하지 않습니다.
마이그레이션 전 체크리스트
실시간 마이그레이션 절차를 시작하기 전에
대상 클러스터가 아직 없다면 새 Atlas 배포를 생성하고 필요에 따라 구성하세요. Atlas 클러스터 생성에 대한 전체 설명서는 클러스터 생성 단원을 참조하세요.
Atlas 클러스터가 배포된 후에는 애플리케이션이 실행되는 모든 클라이언트 하드웨어에서 해당 클러스터로 연결할 수 있는지 확인하세요. 연결 문자열을 테스트하면 가동 중지 시간을 최소화하면서 데이터 마이그레이션 프로세스를 완료할 수 있습니다.
대표 클라이언트 컴퓨터에
mongosh
를 다운로드하여 설치합니다(아직 설치하지 않은 경우).Atlas UI의 연결 문자열을 사용하여 대상 클러스터에 연결하세요. 자세한 내용은
mongosh
통해 연결을 참조하세요.
대상 클러스터에 연결된 것을 확인하고 나면 실시간 마이그레이션 절차를 시작하세요.
절차
마이그레이션 프로세스를 시작합니다.
대상 Atlas 클러스터를 선택합니다.
대상 Atlas 클러스터로 이동하여 을(를) 클릭합니다. 클러스터 목록에서 은(는) 클러스터 이름 아래에 있습니다. 클러스터 세부 정보를 볼 때 은(는) 화면 오른쪽, Connect 및 Configuration 버튼 옆에 나타납니다.
Migrate Data to this Cluster를 클릭합니다.
Atlas는 실시간 마이그레이션을 진행하는 방법에 대한 지침이 포함된 안내 화면을 표시합니다. 이 프로세스에서는 소스 클러스터의 데이터가 새 대상 클러스터로 동기화됩니다. 안내가 끝난 후에는 애플리케이션으로 새 클러스터를 가리킬 수 있습니다.
마이그레이션을 원활하게 하려면 원하는 소스 클러스터에 대해 다음과 같은 세부 정보를 수집하세요.
Atlas는 안내 화면 상단에 실시간 마이그레이션을 담당하는 MongoDB 실시간 마이그레이션 서버의 IP 주소를 표시합니다. 표시된 IP 주소에 대한 액세스 권한을 허용하려면 소스 클러스터 방화벽을 구성하세요.
소스 샤딩된 클러스터 의
mongos
호스트 이름 및 포트를 제공된 텍스트 상자에 입력합니다. 예를 예시mongos.example.net:27017
입니다.소스 클러스터에서 인증을 시행하면 제공된 텍스트 상자에 사용자 이름 및 비밀번호를 입력하세요.
Atlas 라이브 마이그레이션에 필요한 사용자 권한에 대한 지침은 소스 클러스터 보안을 참조하세요.
소스 cluster가
TLS/SSL
을(를) 사용하고 공공 CA(Certificate Authority, 인증 기관)를 사용하지 않는 경우, Is encryption in transit enabled? 스위치를 전환하고 소스 cluster CA 파일의 내용을 제공된 텍스트 상자에 복사합니다.
Atlas를 소스 클러스터에 연결할 수 있는지 확인하려면 Validate(을)를 클릭합니다.
유효성 검사에 실패하면 이를 확인합니다.
소스 클러스터 방화벽에 대한 실시간 마이그레이션 서버 네트워크 액세스 권한 을 부여했습니다.
입력된 사용자 자격 증명(있는 경우)은 소스 클러스터에 있으며 필수 권한이 있습니다.
Is encryption in transit enabled? 토글은 소스 클러스터에 필요한 경우에만 활성화됩니다.
제공된 CA 파일이 유효하고 올바른 파일입니다(있는 경우).
입력된 호스트 이름은 유효하며 공용 인터넷으로 접속할 수 있습니다.
마이그레이션 프로세스를 시작하려면 Start Migration을 클릭합니다.
Atlas의 UI에는 실시간 마이그레이션 진행 상황이 표시됩니다. 실시간 마이그레이션 도중에는 지표를 보거나 대상 클러스터 관련 데이터에 액세스할 수 없습니다.
마지막 oplog 테일링 단계에서는 지연 시간 값이 표시됩니다. 이 값은 소스 클러스터와 대상 클러스터 간의 현재 지연을 나타냅니다. 이 지연 시간은 소스의 oplog 생성 속도에 따라 변동될 수 있지만, oplog 항목을 대상 클러스터로 복사하면 시간이 지날수록 감소해야 합니다.
View Progress per Shard 을(를) 클릭하여 동기화 진행 상황과 샤드당 남은 마이그레이션 시간을 확인합니다. 특정 샤드에 대한 초기 동기화 프로세스가 실패하는 경우 Restart 을 클릭하여 동기화를 다시 시작할 수 있습니다.
지연 타이머와 Prepare to Cutover 버튼이 녹색으로 바뀌면 다음 단계로 진행합니다.
(선택 사항) 대상 cluster를 테스트합니다.
테스트를 건너뛰고 마이그레이션 을 완료하려면 3 단계로 진행합니다.
마이그레이션 프로세스 를 드라이런(dry 실행 )하고 대상 클러스터 의 성능 및 데이터 무결성을 테스트하려면 이 점 에서 Cancel 버튼을 클릭하면 됩니다. 소스 클러스터 는 대상 클러스터 와의 데이터 동기화를 중지하지만 전송된 데이터는 모두 남아 있으므로 새 클러스터 로 애플리케이션을 테스트할 수 있습니다.
테스트가 완료되고 전체 마이그레이션 프로세스를 수행할 준비가 되면 1단계부터 다시 시작하세요. 테스트 실행 중에 생성된 데이터베이스와 컬렉션이 모두 삭제되었다가 재구축됩니다.
컷오버를 수행합니다.
컷오버는 애플리케이션의 읽기 및 쓰기를 소스 클러스터 에서 대상 클러스터 로 지시하는 3단계 프로세스 입니다.
참고
스테이징 마이그레이션
애플리케이션을 테스트하기 위해 스테이징 환경을 생성하는 경우 optime gap 에 기록하여 소스 cluster와 비교하여 스테이징 환경이 얼마나 뒤처지는지 식별합니다.
실시간 마이그레이션 을 취소하려면 Cancel 을(를) 누릅니다. Atlas 는 해당 점 에서 마이그레이션을 종료하고 마이그레이션 된 데이터를 그대로 유지합니다. Atlas 는 클러스터 가 정상적으로 액세스 있을 때까지 대상 클러스터 에 대한 Sharded Cluster Live Import in Progress 메시지를 표시합니다. 학습 내용은 실시간 마이그레이션 취소 하기를 참조하세요. 취소가 완료되면 부분적으로 마이그레이션된 데이터에 대해 스테이징 애플리케이션 을 테스트할 수 있습니다.
소스 클러스터와 대상 클러스터가 거의 동기화되었다는 것이 감지될 경우, Atlas는 120시간(5일)까지 연장 가능한 타이머를 시작하여 실시간 마이그레이션 절차의 전환 단계를 개시합니다. 120시간이 지나면 Atlas는 소스 클러스터와의 동기화를 중지합니다. 1} 타이머 아래의 을 클릭하여 남은 시간을 24시간 연장할 수 Extend time 있습니다.<time> left to cut over
마이그레이션이 만료되려고 하는 경우 Atlas는 다음 예와 유사한 이메일을 보냅니다.
A migration to your Atlas cluster will expire in <number> hours! Navigate to your destination cluster to start the cutover process. If you don't take any action within <number> hours, the migration will be cancelled and you will need to start again. You can also extend the migration process if you need more time. 중요
전환 절차를 수행하려면 애플리케이션과 소스 클러스터에 대한 모든 쓰기를 중지해야 합니다. 종속 애플리케이션에 대한 서비스 중단을 최소화하기 위해 유지 관리 기간을 예약 및 발표하는 것이 좋습니다.
애플리케이션을 대상 Atlas cluster 로 전환할 준비가 되면 Prepare to Cutover 을(를) 클릭합니다. Atlas 는 전환을 진행하는 방법에 대한 지침이 포함된 안내 화면을 표시합니다. optime gap 은(는) 대상 클러스터 가 소스 클러스터 에 비해 얼마나 뒤쳐져 있는지를 표시합니다. 대상 클러스터 가 optime gap 를 닫을 수 있도록 하려면 애플리케이션 과 소스 클러스터 에 대한 모든 쓰기를 중지해야 합니다.
Atlas는 일련의 페이지를 표시하여 컷오버 프로세스의 각 단계를 안내합니다. 다음 목록의 일부 항목은 사용자가 수행해야 하는 작업을 설명하고, 다른 항목은 Atlas에서 표시하는 정보 메시지를 설명합니다.
애플리케이션을 중지하세요. 이렇게 하면 소스 클러스터에서 쓰기가 더 이상 발생하지 않습니다.
Atlas는 Almost done! Waiting for Atlas to clean up ... 메시지가 포함된 화면을 표시합니다. Atlas가 마이그레이션을 완료합니다. 이 작업에는 몇 시간이 걸릴 수 있습니다. 마이그레이션을 마무리하는 동안 Atlas는 메타데이터 변경을 완료하고, 대상 클러스터의 IP 액세스 목록에서 MongoDB Application Server 서브넷을 제거하고, 라이브 마이그레이션에서 대상 클러스터로 데이터를 가져오는 데 사용한 데이터베이스 사용자를 제거합니다.
컷오버 프로세스가 12시간 이상 진행 중인 경우 Atlas는 마이그레이션 프로세스를 확인하거나 지원팀에 문의할 것을 제안하는 이메일을 보냅니다.
Atlas는 아직 마이그레이션을 완료하는 중이지만 대상 클러스터는 쓰기를 수락할 준비가 되어 있습니다. 다운타임을 최소화하려면 지금 애플리케이션을 다시 시작하고 새로운 Atlas 대상 클러스터에 연결할 수 있습니다. 마이그레이션이 완전히 완료될 때까지 소스 클러스터를 삭제하지 마세요.
Connect to your new cluster 을(를) 클릭합니다. Atlas 가 연결 방법을 선택할 수 있는 Connect to Atlas 페이지로 리디렉션합니다.
대상 클러스터에서 쓰기를 재개합니다.
애플리케이션이 대상 Atlas 클러스터와 작동하고 있는지 확인하고 대상 클러스터에서 데이터를 확인합니다.
마이그레이션이 성공하면 You have successfully migrated to Atlas 페이지가 표시됩니다.
마이그레이션 지원
실시간 마이그레이션 프로세스의 어느 단계에서든 마이그레이션이 실패하면 Atlas는 마이그레이션 결과를 살펴볼 수 있는 링크가 포함된 이메일을 통해 그 사실을 알립니다.
이 문서에서 다루는 내용 외에 마이그레이션 지원과 관련하여 궁금한 점이 있거나 마이그레이션 중에 오류가 발생하는 경우 Atlas UI를 통해 지원을 요청하세요.
지원 티켓을 제출하려면 다음을 수행합니다.
Atlas 에서 Project Support 페이지로 이동합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.
Projects 메뉴 옆에 있는 Options 메뉴를 펼친 다음 Project Support 를 클릭합니다.
프로젝트 지원 페이지가 표시됩니다.
지원 요청
Request Support를 클릭합니다.
Issue Category에서
Help with live migration
를 선택합니다.0}에 Priority 대해 적절한 우선순위를 선택합니다. 궁금한 점이
Medium Priority
있다면 을(를) 선택해 주세요. 마이그레이션에 실패한 경우High Priority
다음을 선택하세요.0}의 Request Summary 경우
Live Migration
요약에 을 포함해 주세요.More details경우 질문 또는 마이그레이션 오류에 대한 기타 관련 세부 정보를 포함하십시오.
양식을 제출하려면 Request Support 버튼을 클릭합니다.