개요
MongoDB Search와 벡터 검색은 mongot 와 mongod 사이의 두 개의 내부 통신 채널을 사용합니다.
소스 연결 동기화 (
mongot→mongod/mongos):mongot은 복제본 세트에서 데이터 및 메타데이터를 읽어 검색 인덱스를 빌드하고 유지합니다. 이 연결에 대한 TLS는mongot설정 파일의syncSource섹션에서 설정할 수 있습니다.쿼리 서버 연결 (
mongod→mongot):mongod는 MongoDB Search 및 벡터 검색 쿼리 및 인덱스 관리 명령을 gRPC를 통해mongot에 전송합니다.mongot설정 파일의server.grpc.tls섹션에서 이 연결에 대한 TLS를 구성합니다.
동기화 소스 연결을 위한 TLS 구성
mongot 인덱싱을 위한 데이터를 동기화하기 위해 MongoDB 클라이언트로 복제본 세트에 연결합니다. 이 연결을 암호화하려면 mongot 설정 파일의 syncSource.replicaSet 섹션에서 scramAuth.tls 블록을 설정합니다.
syncSource: replicaset: hostAndPort: "localhost:27017" #Replace with the mongod host and port. scramAuth: username: "mongot" passwordFile: "/etc/mongot/secrets/passwordFile" tls: enabled: true tlsCertificateKeyFile: "/path/to/mongot-client.pem" tlsCertificateKeyFilePasswordFile: "etc" caFile: "/path/to/ca.pem"
scramAuth.tls 구성에 caFile 을 지정하지 않으면 mongot 는 시스템 키스토어를 사용하여 서버 인증서를 확인합니다. mongot 이 신뢰하는 인증서를 제어하려면 CA 파일을 지정합니다.
mongot이 mongos 라우터를 통해 샤딩된 클러스터에 연결하는 경우, syncSource.router.scramAuth.tls를 true(으)로 설정해야 합니다.
쿼리 서버에 대한 TLS 구성
mongod gRPC를 통해 mongot 에 연결하여 MongoDB Search 및 벡터 검색 쿼리를 전송합니다. 이 연결을 암호화하려면 mongot 설정 파일에 server.grpc.tls 를 구성합니다.
쿼리 서버는 다음 TLS 모드를 지원합니다.
모드 | 설명 |
|---|---|
| TLS를 비활성화합니다. |
| TLS 활성화. |
| 상호 TLS를 활성화합니다. |
쿼리 서버에 TLS 사용
쿼리 서버에서 TLS를 활성화하려면 server.grpc.tls.mode 를 "TLS" 으로 설정하고 mongot 인증서 및 개인 키 PEM 파일의 경로를 지정하세요.
server: grpc: address: "<host>:<port>" tls: mode: "TLS" certificateKeyFile: "/etc/mongot-tls/mongot-combined.pem"
쿼리 서버에 mTLS 사용
쿼리 서버에서 상호 TLS를 활성화하려면 server.grpc.tls.mode 를 "mTLS"(으)로 설정합니다. mongot 가 mongod에 인증할 수 있도록 인증서 키 파일과 CA 파일을 지정합니다.
server: grpc: address: "<host>:<port>" tls: mode: "mTLS" certificateKeyFile: "/etc/mongot-tls/mongot-combined.pem" caFile: "/etc/mongot-tls/ca.pem"