두 개의 자체 관리형 클러스터 연결
mongosync 유틸리티는 MongoDB 클러스터 간에 연결을 생성합니다. mongosync
는 다음 클러스터 중 하나에 연결할 수 있습니다.
MongoDB Atlas 호스팅 클러스터
자체 관리형 클러스터 및 Atlas 호스팅 클러스터
이 페이지에서는 MongoDB Cluster-to-Cluster Sync를 사용하여 자체 managed cluster를 연결하는 방법에 대해 설명합니다.
참고
최상의 성능을 위해 마이그레이션 하기 전에 소스 및 대상 클러스터를 최신 MongoDB Server 패치 출시하다 로 업그레이드 하세요. 자세한 내용 은 MongoDB 의 최신 자체 관리 패치 릴리스로 업그레이드를 참조하세요.
연결 문자열
mongosync
MongoDB URI 연결 string 을 사용하여 클러스터를 연결합니다.
SRV 연결 체계의 형식은 다음과 같습니다.
mongodb+srv://[username:password@][host.domain.TLD][:port][/defaultauthdb][?options] 표준 URI 연결 체계의 형식은 다음과 같습니다.
mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]
복제본 세트 구성에 나열된 것과 동일한 방식으로 mongod
인스턴스의 호스트 이름을 지정합니다.
샤딩된 클러스터 의 경우 mongod
인스턴스 대신 인스턴스의 호스트 이름을 지정합니다.mongos
참고
mongosync
replicaSet
옵션이 필요하지 않습니다.
mongosync
소스 및 대상 클러스터에 연결하려면 primary
읽기 설정이 필요합니다. 자세한 내용은 읽기 기본 설정 옵션을 참조하세요.
인증
소스 또는 대상 cluster에 인증이 필요한 경우 mongosync
호출할 때 올바른 자격 증명을 제공해야 합니다.
역할
mongosync
연결 문자열에 지정된 사용자는 소스 및 대상 cluster에 필요한 권한이 있어야 합니다. 권한은 환경과 쓰기 차단 또는 역동기화를 실행하려는지에 따라 달라집니다.
자체 managed 권한은 다음과 같습니다.
동기화 유형 | 필수 소스 권한 | 필수 대상 권한 |
---|---|---|
기본값 | ||
쓰기 차단 | ||
반전 |
서버 역할에 대한 자세한 내용 은 자체 관리 배포서버의 역할 기반 액세스 제어를 참조하세요.
사용자 권한을 업데이트 하려면 grantRolesToUser
를 참조하세요.
행동
호스팅
mongosync
유틸리티는 소스 또는 대상 클러스터 에 가까운 자체 hardware 에서 호스팅할 수 있습니다. 클러스터 의 mongod
또는 mongos
인스턴스 중 하나와 동일한 서버 에서 호스팅될 필요는 없습니다. 이러한 유연성 덕분에 대상 클러스터에서 실행 mongod
또는 mongos
인스턴스에 영향 을 최소화하면서 데이터를 대상 클러스터 로 푸시하거나 풀링할 수 있습니다.
초기 상태
mongosync
가 연결되면 IDLE
상태가 됩니다. 동기화를 시작하려면 시작 명령을 실행해야 합니다.
예시
연결 정보 수집
소스 클러스터인 cluster0
은(는) 다음 서버 및 포트에서 호스팅됩니다.
clusterOne01.facyCorp.com:20020
clusterOne02.fencyCorp.com:20020
clusterOne03.fanceCorp.com:20020
대상 cluster cluster1
은(는) 다음 서버 및 포트에서 호스팅됩니다.
clusterTwow01.facyCorp.com:20020
clusterTwo02.facyCorp.com:20020
clusterTwo03.facyCorp.com:20020
관리 사용자 clusterAdmin
가 각 cluster에 superSecret
비밀번호로 구성되어 있습니다.
소스 및 대상 cluster 연결 mongosync
일반 연결 문자열 형식은 다음과 같습니다.
mongodb://<user>:<password>@<ip-address>:<port>,<ip-address>:<port>,<ip-address>:<port>
수집한 연결 정보를 사용하여 cluster0
및 cluster1
에 대한 연결 문자열을 생성합니다.
cluster0: mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020 cluster1: mongodb://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com:20020,clusterTwo02.fancyCorp.com:20020,clusterTwo03.fancyCorp.com:20020
아래의 mongosync
명령 레이아웃은 표시되도록 수정되었습니다. mongosync
을 사용하여 cluster0
를 cluster1
에 연결하려면 다음 명령을 한 줄에 입력합니다.
mongosync \ --cluster0 "mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020" \ --cluster1 "mongodb://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com:20020,clusterTwo02.fancyCorp.com:20020,clusterTwo03.fancyCorp.com:20020"
mongodb+srv
연결 문자열을 mongosync
와 함께 사용할 수도 있습니다. 연결 에 옵션을 tls=true
추가할 필요가 mongodb+srv
string 없습니다. 예를 예시 다음과 같습니다.
mongosync \ --cluster0 "mongodb+srv://clusterAdmin:superSecret@clusterOne01.fancyCorp.com/" \ --cluster1 "mongodb+srv://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com/"
mongodb+srv
연결 문자열에 대한 자세한 내용은 SRV 연결 형식을 참조하세요.