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