문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

mongos

이 페이지의 내용

  • 개요
  • 고려 사항
  • 옵션
  • 주요 옵션
  • 샤드 클러스터 옵션
  • TLS 옵션
  • SSL 옵션(사용 중단됨)
  • 감사 옵션
  • 프로파일러 옵션
  • LDAP 인증 또는 권한 부여 옵션
  • 추가 옵션

샤딩된 클러스터의 경우 mongos 인스턴스는 클라이언트 애플리케이션과 샤딩된 클러스터 간의 인터페이스를 제공합니다. mongos 인스턴스는 쿼리를 라우팅하고 작업을 샤드에 씁니다. 애플리케이션의 관점에서 보면 mongos 인스턴스는 다른 MongoDB 인스턴스와 동일하게 작동합니다.

  • mongos 바이너리의 이름을 변경하지 마세요.

  • mongos 지연 시간을 최소화하기 위해 헤지된 읽기( hedged read )를 지원합니다.

  • MongoDB가 TLS 1 지원을 비활성화합니다. TLS가 1 인 시스템에서 0 암호화.1+를 사용할 수 있습니다.

  • mongos 바이너리는 mongod 기능 호환성 버전(fCV) 이 보다 큰 인스턴스에 연결할 수 없습니다. 예를 mongos 들어,6 0 mongos 70 70MongoDB 6 0 를 연결할 수 mongos 없습니다. 버전 를 .7 0 fCV 가 로 설정된 샤드 클러스터. . 그러나 MongoDB 은 연결할 수 6 있습니다. 버전0 을 . fCV 가 로 설정된 샤드 클러스터. .

  • mongod에는 MongoDB 엔지니어가 배포 문제를 해결하는 데 도움이 되는 풀타임 진단 데이터 캡처(Full Time Diagnostic Data Capture, FTDC) 메커니즘이 포함되어 있습니다. 이 스레드가 실패하면 원래 프로세스를 종료합니다. 가장 일반적인 오류를 방지하려면 프로세스를 실행하는 사용자에게 FTDC diagnostic.data 디렉토리를 생성할 권한이 있는지 확인하십시오. mongod의 경우 이 디렉토리는 storage.dbPath 내에 있습니다. mongos의 경우 systemLog.path과 유사합니다.

다음도 참조하세요.

참고

참고

  • MongoDB 5.0는 --serviceExecutor 명령줄 옵션과 해당 net.serviceExecutor 구성 옵션을 제거합니다.

--help, -h

옵션 및 mongos의 사용에 대한 정보를 반환합니다.

--version

mongos 출시 번호를 반환합니다.

--config <filename>, -f <filename>

런타임 구성 옵션에 대한 구성 파일을 지정합니다. 구성 파일은 mongos 의 런타임 구성에 선호되는 방법입니다. 옵션은 명령줄 구성 옵션과 동일합니다. 자세한 내용은 구성 파일 옵션을 참조하십시오.

구성 파일이 ASCII 인코딩을 사용하는지 확인합니다. mongos 인스턴스는 UTF-8을 포함하여 ASCII가 아닌 인코딩을 사용하는 구성 파일을 지원하지 않습니다.

--configExpand <none|rest|exec>

기본값: 없음

버전 4.2에 추가되었습니다.

구성 파일에서 확장 지시문을 사용할 수 있도록 합니다. 확장 지시문을 사용하면 구성 파일 옵션에 대해 외부 소스 값을 설정할 수 있습니다.

--configExpand 다음과 같은 확장 명령어를 지원합니다.

설명
none
기본값. mongos는 확장 지시문을 확장하지 않습니다. 구성 파일 설정에 확장 지시문을 사용하는 경우 mongos를 시작하지 못했습니다.
rest
mongos 은(는) 구성 파일을 구문 분석할 때 __rest 확장 지시문을 확장합니다.
exec
mongos 은(는) 구성 파일을 구문 분석할 때 __exec 확장 지시문을 확장합니다.

여러 확장 지시문을 쉼표로 구분된 목록으로 지정할 수 있습니다(예: rest, exec. 구성 파일에 --configExpand 에 지정되지 않은 확장 지시문이 포함되어 있으면 mongos 오류를 반환하고 종료됩니다.

확장 지시어에 대한 자세한 내용은 구성 파일에 대한 외부 소스 구성 파일 값을 참조하세요.

--verbose, -v

표준 출력 또는 로그 파일에 반환되는 내부 보고의 양을 늘립니다. 옵션을 여러 번 포함하여 -v 형식으로 자세한 정도를 늘립니다(예시: -vvvvv.

--quiet

출력량을 제한하려고 시도하는 자동 모드에서 mongos를 실행합니다.

이 옵션은 다음과 같은 활동을 억제합니다.

--port <port>

기본값: 27017

클라이언트 연결을 위해 mongos 인스턴스가 수신 대기하는 TCP 포트입니다.

버전 7.0.3에서 변경됨: --port 옵션은 0~65535의 값 범위를 허용합니다. 포트를 0으로 설정하면 운영 체제에서 할당한 임의의 포트를 사용하도록 mongos이(가) 구성됩니다.

--bind_ip <hostnames|ipaddresses|Unix domain socket paths>

기본값: localhost

mongos에서 클라이언트 연결을 수신해야 하는 호스트 이름 및/또는 IP 주소 및/또는 전체 Unix 도메인 소켓 경로 모든 인터페이스에 mongos을(를) 첨부할 수 있습니다. 여러 주소를 바인딩하려면 쉼표로 구분된 값 목록을 입력하세요.

예제

localhost,/tmp/mongod.sock

IPv4와 IPv6 주소를 모두 지정하거나, IPv4 또는 IPv6 주소로 해결되는 호스트 이름을 지정할 수 있습니다.

예제

localhost, 2001:0DB8:e132:ba26:0d5c:2774:e7f9:d513

참고

IPv6 주소 또는 IPv6 주소로 확인되는 호스트 이름을 --bind_ip 로 지정하는 경우 mongos--ipv6 로 시작해야 IPv6 지원을 활성화할 수 있습니다. IPv6 주소를 --bind_ip 에 지정해도 IPv6 지원이 활성화되지 않습니다.

링크-로컬 IPv6 주소 fe80::/10를 지정하는 경우 ( ), 구역 인덱스 를 추가해야 fe80::<address>%<adapter-name> 합니다. 해당 주소로 연결합니다(예: ).

예제

localhost,fe80::a00:27ff:fee0:1fcf%enp0s3

중요

변경된 IP 주소로 인해 구성이 업데이트되는 것을 방지하려면 IP 주소 대신 DNS 호스트 이름을 사용하세요. 특히 복제본 세트 구성원 또는 샤드 클러스터 구성원을 구성할 때 IP 주소 대신 DNS 호스트 이름을 사용하는 것이 중요합니다.

IP 주소 대신 호스트 이름을 사용하여 분할된 네트워크 범위에 걸쳐 클러스터를 구성합니다. MongoDB 5 부터 시작.0, IP 주소로만 구성된 노드는 시작 유효성 검사에 실패하여 시작되지 않습니다.

경고

공개적으로 액세스할 수 있는 IP 주소에 인스턴스를 바인딩하기 전에 무단 액세스로부터 클러스터를 보호해야 합니다. 보안 권장 사항의 전체 목록은 보안 검사 목록을 참조하세요. 최소한으로 인증을 활성화하고 네트워크 인프라를 강화하는 것을 고려하세요.

IP 바인딩에 대한 자세한 내용은 IP 바인딩 설명서를 참조하십시오.

모든 IPv4 주소에 바인딩하려면 0.0.0.0 ~을 입력하세요.

모든 IPv4 및 IPv6 주소에 바인딩하려면 MongoDB 4.2에서 시작하는 ::,0.0.0.0 또는 별표 "*" (파일 이름 패턴 확장을 방지하기 위해 별표를 따옴표로 묶음) 를 입력합니다. 또는 net.bindIpAll 설정을 사용하세요.

참고

  • --bind_ip--bind_ip_all은 상호 배타적입니다. 두 옵션을 모두 지정하면 mongos이(가) 오류를 발생시키고 종료됩니다.

  • 명령줄 옵션 --bind 는 구성 파일 설정 net.bindIp을(를) 재정의합니다.

--bind_ip_all

지정된 경우 mongos 인스턴스는 모든 IPv4 주소(예: 0.0.0.0)에 바인딩됩니다. mongos 이(가) --ipv6 로 시작하면 --bind_ip_all 도 모든 IPv6 주소(즉, ::)에 바인딩됩니다.

mongos --ipv6 로 시작하는 경우 IPv6 만 지원합니다. --bind_ip_all 만 지정해도 IPv6 지원이 활성화되지 않습니다.

경고

공개적으로 액세스할 수 있는 IP 주소에 인스턴스를 바인딩하기 전에 무단 액세스로부터 클러스터를 보호해야 합니다. 보안 권장 사항의 전체 목록은 보안 검사 목록을 참조하세요. 최소한으로 인증을 활성화하고 네트워크 인프라를 강화하는 것을 고려하세요.

IP 바인딩에 대한 자세한 내용은 IP 바인딩 설명서를 참조하십시오.

또는 --bind_ip 옵션을 ::,0.0.0.0로 설정하거나 MongoDB 4.2부터 별표 "*"로 설정할 수 있습니다(파일 이름 패턴 확장을 방지하려면 별표를 따옴표로 묶음).

참고

--bind_ip--bind_ip_all은 상호 배타적입니다. 즉, 둘 중 하나를 지정할 수는 있지만 둘 다 지정할 수는 없습니다.

--listenBacklog <number>

기본값: 대상 시스템 SOMAXCONN 상수

수신 대기열에 존재할 수 있는 최대 연결 수입니다.

경고

이 매개 변수를 사용하기 전에 로컬 시스템 설명서를 통해 제한 사항과 구성 요구 사항을 살펴보세요.

중요

정의되지 않은 동작을 방지하려면 이 매개변수의 값을 1과 로컬 시스템 SOMAXCONN 상수 사이에 지정하세요.

listenBacklog 매개 변수의 기본값은 컴파일 타임에 대상 시스템 SOMAXCONN 상수로 설정됩니다. SOMAXCONN은(는) 청취 시스템 호출에 대한 backlog 매개변수에 대해 문서화된 최대 유효 값입니다.

일부 시스템은 SOMAXCONN 상징적으로 해석하고 다른 시스템은 수치로 해석할 수 있습니다. 실제로 적용되는 실제 수신 백로그는 SOMAXCONN 상수 또는 --listenBacklog에 대한 인수의 숫자 해석과 다를 수 있으며 Linux의 net.core.somaxconn과 같은 시스템 설정에 의해 제약을 받을 수도 있습니다.

로컬 시스템의 SOMAXCONN 상수를 초과하는 listenBacklog 매개 변수 값을 전달하는 것은 표준상 정의되지 않은 동작입니다. 값이 높으면 자동으로 정수가 잘리거나, 무시되거나, 예기치 않은 리소스 소모가 발생하거나, 기타 부정적인 결과가 발생할 수 있습니다.

로컬 시스템이 SOMAXCONN 상수보다 높은 백로그 매개변수 값을 적용할 수 있는 것으로 경험적으로 알려진 연결 스파이크가 발생하는 워크로드가 있는 시스템에서 listenBacklog 매개변수를 더 높은 값으로 설정하면 백오프 상태로 강제 전환되는 연결 수를 줄여 클라이언트가 관찰하는 작업 지연 시간을 줄일 수 있습니다.

--maxConns <number>

mongos 수락하는 최대 동시 연결 수입니다. 이 설정은 운영 체제에 구성된 최대 연결 추적 임계값보다 높은 경우 아무런 효과가 없습니다.

이 옵션에 너무 낮은 값을 할당하지 마세요. 값이 너무 낮으면 정상적인 애플리케이션 작동 중에 오류가 발생합니다.

이는 여러 연결을 생성하고 연결을 닫지 않고 시간 초과를 허용하는 클라이언트가 있는 경우 mongos 에 특히 유용합니다.

이 경우 maxIncomingConnections을 클라이언트가 만드는 최대 연결 수 또는 연결 풀의 최대 크기보다 약간 높은 값으로 설정합니다.

이 설정은 mongos 가 개별 샤드 에서 연결 스파이크를 유발하는 것을 방지합니다. 이와 같은 스파이크는 샤드 클러스터의 작업 및 메모리 할당을 방해할 수 있습니다.

--logpath <path>

모든 진단 로깅 정보를 표준 출력이나 호스트의 시스템 시스템 로그 시스템이 아닌 로그 파일로 보냅니다. MongoDB는 사용자가 지정한 경로에 로그 파일을 생성합니다.

기본적으로 MongoDB는 기존 로그 파일을 덮어쓰지 않고 이동합니다. 대신 로그 파일에 추가하려면 --logappend 옵션을 설정합니다.

--syslog

모든 로깅 출력을 표준 출력이나 로그 파일(--logpath )이 아닌 호스트의 syslog 시스템으로 보냅니다.

--syslog 옵션은 Windows에서 지원되지 않습니다.

경고

syslog 데몬은 MongoDB가 메시지를 발행할 때가 아니라 메시지를 기록할 때 타임스탬프를 생성합니다. 이로 인해 특히 시스템 부하가 심한 경우 로그 항목에 잘못된 타임스탬프가 표시될 수 있습니다. 프로덕션 시스템에서는 정확한 타임스탬프를 보장하기 위해 --logpath 옵션을 사용하는 것이 좋습니다.

버전 4.2부터 MongoDB는 syslog로 보내는 로그 메시지에 구성 요소를 포함합니다.

... ACCESS [repl writer worker 5] Unsupported modification to roles collection ...
--syslogFacility <string>

기본값: 사용자

시스템 로그에 메시지를 기록할 때 사용되는 기능 수준을 지정합니다. 지정한 값은 운영 체제의 syslog 구현에서 지원되어야 합니다. 이 옵션을 사용하려면 --syslog 옵션을 활성화해야 합니다.

--logappend

mongos 인스턴스가 다시 시작되면 기존 로그 파일 끝에 새 항목을 추가합니다. 이 옵션을 사용하지 않으면 mongod 파일이 기존 로그를 백업하고 새 파일을 생성합니다.

--logRotate <string>

기본값: 이름 바꾸기

서버 로그 및/또는 감사 로그를 회전할 때 logRotate 명령의 동작을 결정합니다. 3} 또는 rename reopen를 지정합니다:

  • rename 로그 파일의 이름을 변경합니다.

  • reopen 일반적인 Linux/Unix 로그 회전 동작에 따라 로그 파일을 닫았다가 다시 엽니다. Linux/유닉스 로그 로테이트 유틸리티를 사용할 때는 reopen을 사용하여 로그 손실을 방지하세요.

    reopen 을 지정하는 경우 --logappend 도 사용해야 합니다.

--redactClientLogData

MongoDB Enterprise에서만 사용할 수 있습니다.

--redactClientLogData 와 함께 실행되는 mongos 는 로깅하기 전에 지정된 로그 이벤트와 함께 제공되는 모든 메시지를 수정합니다. 이렇게 하면 mongos 가 데이터베이스에 저장된 잠재적으로 민감한 데이터를 진단 로그에 쓰는 것을 방지할 수 있습니다. 오류 또는 작업 코드, 줄 번호, 소스 파일 이름과 같은 메타데이터는 여전히 로그에서 볼 수 있습니다.

--redactClientLogData 를 미사용 데이터 암호화TLS/SSL(전송 암호화) 과 함께 사용하면 규제 요구 사항을 준수할 수 있습니다.

예를 들어, MongoDB 배포는 하나 이상의 컬렉션에 PII(개인 식별 정보)를 저장할 수 있습니다. mongos 는 CRUD 작업, 샤딩 메타데이터 등과 관련된 이벤트를 기록합니다. mongos 가 이러한 로깅 작업의 일부로 PII를 노출할 수 있습니다. --redactClientLogData 과 함께 실행되는 mongos 는 로그에 출력되기 전에 이러한 이벤트와 함께 제공되는 모든 메시지를 제거하여 PII를 효과적으로 제거합니다.

mongos 로 실행되는 에 대한 진단은 로그 이벤트와 --redactClientLogData 관련된 데이터가 부족하여 더 어려울 수 있습니다. 가 로그 출력에 --redactClientLogData 미치는 영향에 대한 예는 프로세스 로깅 매뉴얼 페이지를 참조하십시오.

실행 중인 mongos에서 setParameter을(를) redactClientLogData 매개 변수와 함께 사용하여 이 설정을 구성합니다.

--timeStampFormat <string>

기본값: ISO8601-local

로그 메시지의 타임스탬프에 사용되는 시간 형식입니다. 다음 값 중 하나를 지정하세요.

설명
iso8601-utc
ISO-8601 형식의 협정 세계시(UTC)로 타임스탬프를 표시합니다. 예를 들어, 에포크가 시작되는 시점의 뉴욕의 경우입니다. 1970-01-01T00:00:00.000Z
iso8601-local
ISO-8601 형식의 현지 시간으로 타임스탬프를 표시합니다. 예를 들어, 에포크가 시작될 때 뉴욕의 경우는 다음과 같습니다. 1969-12-31T19:00:00.000-05:00

참고

--timeStampFormat 은(는) 더 이상 ctime 을(를) 지원하지 않습니다. ctime 형식의 날짜의 예는 다음과 같습니다: Wed Dec 31 18:17:54.811.

--pidfilepath <path>

mongos 프로세스의 프로세스 ID(PID)를 저장할 파일 위치를 지정합니다. mongod 또는 mongos 프로세스를 실행하는 사용자는 이 경로에 쓸 수 있어야 합니다. --pidfilepath 옵션을 지정하지 않으면 프로세스에서 PID 파일을 생성하지 않습니다. 이 옵션은 일반적으로 --fork 옵션과 함께 사용할 때만 유용합니다.

참고

Linux

Linux에서 PID 파일 관리는 일반적으로 배포판의 init 시스템에서 담당합니다(일반적으로 /etc/init.d 디렉토리의 서비스 파일 또는 systemctl 로 등록된 시스템 단위 파일). 이러한 init 시스템 중 하나를 사용하지 않는 경우에만 --pidfilepath 옵션을 사용합니다. 자세한 내용은 운영 체제의 해당 설치 가이드 를 참조하세요.

참고

macOS

macOS에서 PID 파일 관리는 일반적으로 brew 에서 처리합니다. macOS 시스템에서 brew 를 사용하지 않는 경우에만 --pidfilepath 옵션을 사용합니다. 자세한 내용은 운영 체제의 해당 설치 가이드를 참조하세요.

--keyFile <file>

MongoDB 인스턴스가 샤드 클러스터 또는 복제본 세트 에서 서로를 인증하는 데 사용하는 공유 암호를 저장하는 키 파일의 경로를 지정합니다. --keyFile 은 을 client authorization 의미합니다. 자세한 내용은 내부/멤버십 인증 을 참조하세요.

MongoDB 4.2부터 내부 멤버십 인증을 위한 키 파일은 YAML 형식을 사용하여 키 파일에 여러 키를 허용합니다. YAML 형식은 두 가지 모두 허용됩니다.

  • 단일 키 문자열(이전 버전과 동일)

  • 키 문자열의 순서

YAML 형식은 텍스트 파일 형식을 사용하는 기존의 단일 키 키파일과 호환됩니다.

--setParameter <options>

MongoDB MongoDB Server 파라미터에 설명된 MongoDB 파라미터 중 하나를 지정합니다. setParameter 필드를 여러 개 지정할 수 있습니다.

--noscripting

스크립팅 엔진을 비활성화합니다. 이를 비활성화하면 $where 쿼리 연산자, mapReduce 명령어, $accumulator$function과 같이 JavaScript 코드의 서버 측 실행을 수행하는 작업을 사용할 수 없습니다.

이러한 작업을 사용하지 않는 경우 서버 측 스크립팅을 비활성화하세요.

--nounixsocket

UNIX 도메인 소켓에서 수신을 비활성화합니다. --nounixsocket 는 Unix 기반 시스템에만 적용됩니다.

다음 중 하나가 참이 아닌 한 mongos 프로세스는 항상 UNIX 소켓을 수신합니다.

mongos 공식 .deb에서 설치됨 및 .rpm 패키지는 bind_ip 기본적으로 구성이 127.0.0.1로 설정되어 있습니다.

--unixSocketPrefix <path>

기본값/tmp

UNIX 소켓의 경로입니다. --unixSocketPrefix 는 Unix 기반 시스템에만 적용됩니다.

이 옵션에 값이 없으면 mongos 프로세스가 /tmp을(를) 접두사로 사용하여 소켓을 만듭니다. 다음 중 하나에 해당하지 않는 한 MongoDB는 UNIX 소켓에서 생성하고 수신 대기합니다.

--filePermissions <path>

기본값: 0700

UNIX 도메인 소켓 파일의 권한을 설정합니다.

--filePermissions Unix 기반 시스템에만 적용됩니다.

--fork

백그라운드에서 mongos 프로세스를 실행하는 데몬 모드를 활성화합니다. --fork 옵션은 Windows에서 지원되지 않습니다.

기본적으로 mongos 는 데몬으로 실행되지 않습니다. --fork 또는 데몬화를 처리하는 제어 프로세스(예: upstart 또는 systemd)를 사용하여 mongos 를 데몬으로 실행합니다.

--fork 옵션을 사용하려면 다음 중 하나를 사용하여 mongos 에 대한 로그 출력을 구성해야 합니다.

--transitionToAuth

가 배포의 다른 및 인스턴스와의 인증 및 비인증 연결을 수락하고 생성할 수 mongos mongod 있도록 허용합니다. 인증 mongos 없는 구성에서 내부 인증 으로 복제본 세트 또는 샤드 클러스터의 롤링 전환을 수행하는 데 사용됩니다. 과 같은 내부 인증 메커니즘을 --keyFile 지정해야 합니다.

예를 들어 내부 인증키파일을 사용하는 경우, mongos는 일치하는 키파일을 사용하여 배포의 모든 mongod 또는 mongos와의 인증된 연결을 생성합니다. 보안 메커니즘이 일치하지 않는 경우 mongos는 대신 인증되지 않은 연결을 활용합니다.

--transitionToAuth 와 함께 실행되는 mongos사용자 액세스 제어 를 적용하지 않습니다. 사용자는 액세스 제어 검사 없이 배포에 연결하여 읽기, 쓰기 및 관리 작업을 수행할 수 있습니다.

참고

mongos 내부 인증 을 사용하고 없이 실행하는 은(는) 클라이언트가 --transitionToAuth 사용자 액세스 제어 를 사용하여 연결해야 합니다.mongos mongos 없이 를 다시 시작하기 전에 적절한 --transitionToAuth 사용자 를 사용하여 에 연결하도록 클라이언트를 업데이트합니다.

--networkMessageCompressors <string>

기본값: snappy, zstd, zlib

mongos 인스턴스와 다음 간의 통신에 사용할 기본 압축기를 지정합니다.

  • 샤딩된 클러스터의 다른 멤버

  • mongosh

  • OP_COMPRESSED 메시지 형식을 지원하는 드라이버입니다.

MongoDB는 다음과 같은 압축 옵션을 지원합니다.

mongod mongos 인스턴스 모두 기본적으로 순서대로 snappy,zstd,zlib 압축기로 설정됩니다.

네트워크 압축을 사용하지 않으려면 값을 disabled로 설정합니다.

중요

양쪽 당사자가 네트워크 압축을 활성화하면 메시지가 압축됩니다. 그렇지 않으면 양 당사자 간의 메시지는 압축되지 않습니다.

여러 압축기를 지정하는 경우 통신 개시자뿐만 아니라 압축기를 나열하는 순서도 중요합니다. 예를 들어 이 다음 네트워크 압축기 mongoshzlib,snappy 지정하고 이 mongod 지정하는 snappy,zlib mongosh 경우 와 mongod 사이의 메시지는 zlib 을 사용합니다.

당사자가 공통 압축기를 하나 이상 공유하지 않는 경우 당사자 간의 메시지는 압축되지 않습니다. 예를 들어 mongosh 이 네트워크 압축기 zlib 를 지정하고 mongodsnappy 지정하는 경우 mongoshmongod 사이의 메시지는 압축되지 않습니다.

--timeZoneInfo <path>

시간대 데이터베이스를 로드할 전체 경로입니다. 이 옵션을 제공하지 않으면 MongoDB는 내장된 시간대 데이터베이스를 사용합니다.

Linux 및 macOS 패키지에 포함된 구성 파일은 기본적으로 구역 데이터베이스 경로를 /usr/share/zoneinfo로 설정합니다.

기본 제공 시간대 데이터베이스는 Olson/IANA 시간대 데이터베이스 의 복사본입니다. . MongoDB 릴리스와 함께 업데이트되지만 시간대 데이터베이스 릴리스 주기는 MongoDB 릴리스 주기와 다릅니다. 시간대 데이터베이스의 최신 릴리스는 다운로드 사이트 에서 사용할 수 있습니다. .

wget https://downloads.mongodb.org/olson_tz_db/timezonedb-latest.zip
unzip timezonedb-latest.zip
mongos --timeZoneInfo timezonedb-2017b/

경고

MongoDB는 타사 timelib 를 사용합니다. 라이브러리를 사용하여 시간대 간의 정확한 변환을 제공합니다. 최근timelib 업데이트로 인해 버전의 MongoDB에서 구역 변환이 정확하지 않을 수 있습니다.

이전 MongoDB 버전의 시간대 5 데이터베이스에0 447 4명시적으로2 14연결합니다. , . . 및 . .timeZoneInfo,시간대 데이터베이스 다운로드 . 매개변수를 사용합니다.

--outputConfig

버전 4.2에 추가되었습니다.

YAML로 형식이 지정된 mongos 인스턴스의 구성 옵션을 stdout 로 출력하고 mongos 인스턴스를 종료합니다. 외부에서 가져온 구성 파일 값 을 사용하는 구성 옵션의 경우 --outputConfig 는 해당 옵션에 대해 확인된 값을 반환합니다.

경고

여기에는 이전에 외부 소스를 통해 난독화된 모든 구성 비밀번호와 암호가 포함될 수 있습니다.

활용 사례는 다음 문서를 참조하세요.

--configdb <replicasetName>/<config1>,<config2>...

샤딩된 클러스터config 서버를 지정합니다.

분할된 클러스터에 대한 구성 서버는 복제본 세트로 배포됩니다. 복제본 세트 구성 서버는 WiredTiger 스토리지 엔진을실행해야 합니다.

구성 서버 복제본 세트 이름과 구성 서버 복제본 세트 멤버 중 하나 이상의 호스트 이름 및 포트를 지정합니다.

sharding:
configDB: <configReplSetName>/cfg1.example.net:27019, cfg2.example.net:27019,...

샤딩된 클러스터의 mongos 인스턴스는 동일한 config 서버 복제본 세트 이름을 지정해야 하지만, 복제본 세트의 다른 멤버의 호스트 이름과 포트를 지정할 수 있습니다.

--localThreshold

기본값: 15

mongos 가 클라이언트에서 읽기 작업을 전달할 세컨더리 복제본 세트 멤버를 결정하는 데 사용하는 핑 시간(밀리초)을 지정합니다. 기본값 15 은 모든 클라이언트 드라이버의 기본값에 해당합니다.

mongos세컨더리 멤버로 읽기를 허용하는 요청을 받으면 mongos는 다음 작업을 수행합니다.

  • 핑 시간이 가장 짧은 세트의 멤버를 찾습니다.

  • 세트에서 가장 가까운 적합한 멤버로부터 핑 시간 15밀리초 이내에 있는 복제 세트 멤버의 목록을 생성합니다.

    --localThreshold 옵션에 값을 지정하면 mongos 는 이 값에서 허용하는 지연 시간 내에 있는 복제본 멤버 목록을 구성합니다.

  • 이 목록에서 무작위로 읽을 멤버를 선택합니다.

--localThreshold 설정으로 비교된 멤버에 사용된 핑 시간은 최근 핑 시간의 이동 평균으로, 최대 10 초마다 계산됩니다. 결과적으로 mongos 가 평균을 다시 계산할 때까지 일부 쿼리가 임계값을 초과하는 멤버에게 도달할 수 있습니다.

자세한 내용은 읽기 기본 설정 문서의 복제본 세트에 대한 읽기 기본 설정 섹션을 참조하십시오.

참조:

MongoDB가 지원하는 설명서 전체를 활용하려면 TLS/SSL에 mongodmongos를 구성하세요.

--tlsMode <mode>

버전 4.2에 추가되었습니다.

모든 네트워크 연결에 TLS를 사용하도록 설정합니다. --tlsMode 옵션의 인수는 다음 중 하나일 수 있습니다.

설명
disabled
서버가 TLS를 사용하지 않습니다.
allowTLS
서버 간 연결이 TLS를 사용하지 않습니다. 수신 연결의 경우, 서버는 TLS와 비TLS를 모두 허용합니다.
preferTLS
서버 간 연결이 TLS를 사용합니다. 수신 연결의 경우, 서버는 TLS와 비TLS를 모두 허용합니다.
requireTLS
서버가 TLS로 암호화된 연결만 사용하고 허용합니다.

--tlsCAFile 또는 tls.CAFile이(가) 지정되지 않았고 x.509 인증을 사용하지 않는 경우 tlsUseSystemCA 매개변수를 true(으)로 설정해야 합니다. 따라서 MongoDB는 TLS 활성화 서버에 연결할 때 시스템 전체 CA 인증서 저장소를 사용합니다.

x.509 인증을 사용하는 경우 --tlsCertificateSelector사용하지 않는 한 --tlsCAFile 또는 tls.CAFile 을 지정해야 합니다.

TLS 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--tlsCertificateKeyFile <filename>

버전 4.2에 추가되었습니다.

참고

macOS 또는 Windows에서는 PEM 파일을 지정하는 대신 운영 체제의 보안 저장소에 있는 인증서를 사용할 수 있습니다. --tlsCertificateSelector 을(를) 참조하세요.

TLS 인증서와 키가 모두 포함되어 있는 .pem 파일을 지정합니다.

TLS 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--tlsCertificateKeyFilePassword <value>

버전 4.2에 추가되었습니다.

인증서 키 파일(예: --tlsCertificateKeyFile)을 해독하기 위한 비밀번호를 지정합니다. 인증서 키 파일이 암호화된 경우에만 --tlsCertificateKeyFilePassword 옵션을 사용합니다. 모든 경우에 mongos 는 모든 로깅 및 보고 출력에서 비밀번호를 삭제합니다.

TLS 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--clusterAuthMode <option>

기본값: keyFile

클러스터 인증에 사용되는 인증 모드입니다. 내부 x.509 인증 사용하는 경우 여기에서 지정하세요. 이 옵션은 다음 값 중 하나를 .

설명
keyFile
인증에 키파일을 사용합니다. 키파일만 허용합니다.
sendKeyFile
롤링 업그레이드 목적으로 사용됩니다. 인증 시 키파일을 전송하지만 키파일과 x.509 인증서를 모두 허용할 수 있습니다.
sendX509
롤링 업그레이드 목적으로 사용됩니다. 인증 시 x.509 인증서를 전송하지만 키파일과 x.509 인증서를 모두 허용할 수 있습니다.
x509
권장하는 옵션입니다. 인증 시 x.509 인증서를 전송하고 x.509 인증서만 허용합니다.

--tlsCAFile 또는 tls.CAFile이(가) 지정되지 않았고 x.509 인증을 사용하지 않는 경우 tlsUseSystemCA 매개변수를 true(으)로 설정해야 합니다. 따라서 MongoDB는 TLS 활성화 서버에 연결할 때 시스템 전체 CA 인증서 저장소를 사용합니다.

x.509 인증을 사용하는 경우 --tlsCertificateSelector사용하지 않는 한 --tlsCAFile 또는 tls.CAFile 을 지정해야 합니다.

TLS 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--tlsClusterFile <filename>

버전 4.2에 추가되었습니다.

참고

macOS 또는 Windows에서는 PEM 파일 대신 운영 체제의 보안 저장소에 있는 인증서를 사용할 수 있습니다. --tlsClusterCertificateSelector 을(를) 참조하세요.

클러스터 또는 복제 세트의 구성원 인증을 위한 x.509 인증서 키 파일이 들어 있는 .pem 파일을 지정합니다.

--tlsClusterFile 에서 내부 클러스터 인증을 위한 .pem 파일 또는 대체 --tlsClusterCertificateSelector 를 지정하지 않으면 클러스터는 --tlsCertificateKeyFile 옵션에 지정된 .pem 파일 또는 --tlsCertificateSelector 에서 반환한 인증서를 사용합니다.

x.509 인증을 사용하는 경우 --tlsCertificateSelector사용하지 않는 한 --tlsCAFile 또는 tls.CAFile 을 지정해야 합니다.

mongod / mongos 는 x가 표시된 경우 연결 시 경고를 기록합니다.509 인증서가 mongod/mongos 호스트 시스템 시간으로부터 30 일 이내에 만료됩니다. x를 참조하세요. 자세한 내용은 509 인증서 만료 임박 트리거 경고 를 참조하세요.

TLS 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--tlsClusterPassword <value>

버전 4.2에 추가되었습니다.

x를 해독하기 위한 비밀번호를509 --tlsClusterFile --tlsClusterPassword 지정합니다. 으)로 지정된 인증서-키 파일입니다. 인증서 키 파일이 암호화된 경우에만 옵션을 사용합니다. 모든 경우에 는 mongos 모든 로깅 및 보고 출력에서 비밀번호를 삭제합니다.

  • Linux/BSD에서 개인 키가 x.509 파일이 암호화되어 있고 --tlsClusterPassword 옵션을 지정하지 않으면 MongoDB에 암호를 입력하라는 메시지가 표시됩니다. TLS/SSL 인증서 암호를 참조하세요.

  • macOS 또는 Windows에서 비공개 키가 x.509 파일이 암호화된 경우 --tlsClusterPassword 옵션을 명시적으로 지정해야 합니다. 또는 클러스터 PEM 파일 대신 보안 시스템 저장소의 인증서( --tlsClusterCertificateSelector 참조)를 사용하거나 암호화되지 않은 PEM 파일을 사용할 수 있습니다.

TLS 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--tlsCAFile <filename>

버전 4.2에 추가되었습니다.

인증 기관의 루트 인증서 체인이 포함된 .pem 파일을 지정합니다. 상대 경로 또는 절대 경로를 사용하여 .pem 파일의 이름을 지정합니다.

macOS 또는 Windows에서는 PEM 키 파일 대신 운영 체제의 보안 저장소에 있는 인증서를 사용할 수 있습니다. --tlsCertificateSelector 을(를) 참조하세요. 보안 저장소를 사용할 때는 --tlsCAFile 을(를) 지정할 필요는 없지만 지정할 수도 있습니다.

TLS 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--tlsClusterCAFile <filename>

버전 4.2에 추가되었습니다.

연결을 설정하는 클라이언트가 제공한 인증서를 검증하는데 사용된 인증 기관의 루트 인증서 체인이 포함된 .pem 파일을 지정합니다. 상대 경로 또는 절대 경로를 사용하여 .pem 파일의 파일 이름을 지정합니다.

연결을 설정하는 클라이언트의 인증서 유효성을 검사하기 위해 --tlsClusterCAFile.pem 파일을 지정하지 않으면 클러스터는 --tlsCAFile 옵션에 지정된 .pem 파일을 사용합니다.

--tlsClusterCAFile 은 TLS 핸드셰이크의 클라이언트와 서버 간, 서버와 클라이언트 간 인증에 별도의 인증 기관을 사용할 수 있도록 허용합니다.

macOS 또는 Windows에서는 PEM 키 파일 대신 운영 체제의 보안 저장소에 있는 인증서를 사용할 수 있습니다. --tlsClusterCertificateSelector 을(를) 참조하세요. 보안 저장소를 사용할 때는 --tlsClusterCAFile 을(를) 지정할 필요는 없지만 지정할 수도 있습니다.

--tlsCAFile 이(가) 설정되어 있어야 합니다.

TLS 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--tlsCertificateSelector <parameter>=<value>

버전 4.2에 추가됨: Windows 및 macOS에서 --tlsCertificateKeyFile대안으로 사용할 수 있습니다.

--tlsCertificateKeyFile--tlsCertificateSelector 옵션은 상호 배타적입니다. 하나만 지정할 수 있습니다.

운영 체제의 인증서 저장소에서 일치하는 인증서를 선택하기 위해 인증서 속성을 지정합니다.

--tlsCertificateSelector<property>=<value> 형식의 인수를 허용하며, 여기서 속성은 다음 중 하나일 수 있습니다.

속성
값 유형
설명
subject
ASCII 문자열
인증서의 주체 이름 또는 일반 이름
thumbprint
16진수 문자열

16진수로 표현되는 일련의 바이트로, SHA-1 다이제스트로 공개 키를 식별하는 데 사용됩니다.

thumbprint을(를) fingerprint(이)라고 부르기도 합니다.

시스템 SSL 인증서 저장소를 사용할 때 온라인 인증서 상태 프로토콜(OCSP)을 사용해 인증서의 해지 상태를 확인할 수 있습니다.

참고

thumbprint로 설정된 net.tls.certificateSelector 또는 --tlsCertificateSelector를 사용하는 경우 rotateCertificates 명령 또는 db.rotateCertificates() 셸 메서드를 사용할 수 없습니다.

--tlsClusterCertificateSelector <parameter>=<value>

버전 4.2에 추가됨: Windows 및 macOS에서 --tlsClusterFile대안으로 사용할 수 있습니다.

--tlsClusterFile--tlsClusterCertificateSelector 옵션은 상호 배타적입니다. 하나만 지정할 수 있습니다.

운영 체제의 인증서 저장소에서 내부 인증에 사용할 일치하는 인증서를 선택하기 위해 인증서 속성을 지정합니다.

--tlsClusterCertificateSelector<property>=<value> 형식의 인수를 허용하며, 여기서 속성은 다음 중 하나일 수 있습니다.

속성
값 유형
설명
subject
ASCII 문자열
인증서의 주체 이름 또는 일반 이름
thumbprint
16진수 문자열

16진수로 표현되는 일련의 바이트로, SHA-1 다이제스트로 공개 키를 식별하는 데 사용됩니다.

thumbprint을(를) fingerprint(이)라고 부르기도 합니다.

mongod / mongos 는 x가 표시된 경우 연결 시 경고를 기록합니다.509 인증서가 mongod/mongos 호스트 시스템 시간으로부터 30 일 이내에 만료됩니다. x를 참조하세요. 자세한 내용은 509 인증서 만료 임박 트리거 경고 를 참조하세요.

--tlsCRLFile <filename>

버전 4.2에 추가되었습니다.

인증서 해지 목록이 포함된 .pem 파일을 지정합니다. 상대 경로 또는 절대 경로를 .pem 파일의 이름을 지정합니다.

참고

  • macOS에서는 CRL 파일을 지정할 수 없습니다. 대신 OCSP(온라인 인증서 상태 프로토콜)를 사용하여 인증서의 해지 상태를 확인하는 시스템 SSL 인증서 저장소를 사용할 수 있습니다. MongoDB 4 의 --tlsCertificateSelector 을(를) 참조하세요.2+ 시스템 SSL 인증서 저장소를 사용합니다.

  • 인증서 해지를 확인하기 위해 MongoDB enables 는 CRL 파일을 지정하거나 시스템 SSL 인증서 저장소를 사용하는 대신 기본적으로 OCSP(온라인 인증서 상태 프로토콜)를 사용합니다.

TLS 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--tlsAllowConnectionsWithoutCertificates

버전 4.2에 추가되었습니다.

서버가 CA 파일을 사용하도록 구성되어 있는 경우를 제외하고 서버는 클라이언트 인증서 검증을 우회하도록 기본 설정되어 있습니다. CA 파일이 제공된 경우 다음 규칙이 적용됩니다.

  • 인증서를 제공하지 않는 클라이언트의 경우, mongod 또는 mongos 는 연결이 성공적으로 이루어졌다고 가정하여 TLS/SSL 연결을 암호화합니다.

  • 인증서를 제시하는 클라이언트의 경우, mongos--tlsCAFile 지정한 루트 인증서 체인을 사용해 인증서 유효성 검사를 실행하고, 유효하지 않은 인증서를 가진 클라이언트를 거부합니다.

mongos 인증서를 제공하지 않거나 제공할 수 없는 클라이언트를 포함하는 혼합 배포가 있는 경우 --tlsAllowConnectionsWithoutCertificates 옵션을 사용합니다.

TLS 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--tlsAllowInvalidCertificates

버전 4.2에 추가되었습니다.

클러스터 내 다른 서버에서 TLS 인증서에 대한 유효성 검사를 우회하고 유효하지 않은 인증서를 연결에 사용할 수 있도록 허용합니다.

참고

x.509 인증을 사용할 때 --tlsAllowInvalidCertificates 또는 tls.allowInvalidCertificates: true을(를) 지정하는 경우, 유효하지 않은 인증서는 TLS 연결을 설정하는 데는 충분하지만, 인증에는 충분하지 않습니다.

--tlsAllowInvalidCertificates 설정을 사용할 때 MongoDB는 유효하지 않은 인증서 사용과 관련된 경고를 기록합니다.

TLS 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--tlsAllowInvalidHostnames

버전 4.2에 추가되었습니다.

프로세스 간 인증을 위해 복제본 세트 또는 샤드 클러스터의 다른 구성원에 연결할 때 TLS 인증서의 호스트 이름 유효성 검사를 비활성화합니다. 이렇게 하면 인증서의 호스트 이름이 구성된 호스트 이름과 일치하지 않을 때 mongos가 다른 구성원을 연결할 수 있습니다.

TLS 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--tlsDisabledProtocols <protocol(s)>

버전 4.2에 추가되었습니다.

TLS로 실행 중인 MongoDB 서버가 1개 또는 그 이상의 특정 프로토콜을 사용하는 수신 연결을 허용하지 않도록 방지합니다. 여러 프로토콜을 지정하려면 쉼표로 구분된 프로토콜 목록을 사용합니다.

--tlsDisabledProtocols 은(는) TLS1_0, TLS1_1, TLS1_2TLS1_3 프로토콜을 인식합니다.

  • macOS에서는 TLS1_1을(를) 비활성화하고 TLS1_0TLS1_2을(를) 전부 활성화된 상태로 둘 수 없습니다. TLS1_0,TLS1_1와(과) 같이 다른 2개의 프로토콜 중 적어도 하나를 비활성화해야 합니다.

  • 여러 프로토콜을 나열하려면 쉼표로 구분된 프로토콜 목록으로 지정합니다( 예: TLS1_0,TLS1_1).

  • 인식할 수 없는 프로토콜을 지정하면 서버가 시작되지 않습니다.

  • 지정된 비활성화 프로토콜은 기본으로 설정된 비활성화 프로토콜을 덮어씁니다.

MongoDB는 TLS 1 사용을 비활성화합니다.0 if TLS 1. 시스템에서 1+를 사용할 수 있습니다. 비활성화된 TLS를 1 활성화합니다.0, none ~ --tlsDisabledProtocols 을 지정합니다.

복제본 세트와 샤드 클러스터의 구성원은 적어 하나의 공통된 프로토콜을 사용해야 합니다.

다음도 참조하세요.

--tlsFIPSMode

버전 4.2에 추가되었습니다.

TLS 라이브러리의 FIPS 모드를 사용하도록 mongos 에 지시합니다. --tlsFIPSMode 옵션을 사용하려면 시스템에 FIPS를 준수하는 라이브러리가 있어야 합니다.

참고

FIPS와 호환되는 TLS/SSL은 MongoDB Enterprise 에서만 사용할 수 있습니다. 자세한 내용 은 FIPS용 MongoDB 구성 을 참조하세요.

중요

모든 SSL 옵션은 버전 4.2부터 사용되지 않습니다. SSL 옵션과 동일한 기능을 가진 TLS 옵션을 대신 사용하세요. SSL 프로토콜은 사용이 중단되었으며 MongoDB는 TLS 1.0 이상의 버전을 지원합니다.

참조:

MongoDB가 지원하는 설명서 전체를 활용하려면 TLS/SSL에 mongodmongos를 구성하세요.

--sslOnNormalPorts

버전 2.6 이후 사용 중단됨: 대신 --tlsMode requireTLS을(를) 사용하세요.

mongos에서 TLS/SSL을 활성화하세요.

--sslOnNormalPorts 을 사용하면 mongos 기본 MongoDB 포트 또는 --port 에서 지정한 포트의 모든 연결에 대해 TLS/SSL 암호화가 필요합니다. 기본적으로 --sslOnNormalPorts 는 비활성화되어 있습니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--sslMode <mode>

버전 4.2 이후 사용 중단됨: 대신 --tlsMode을(를) 사용하세요.

모든 네트워크 연결에 TLS/SSL 또는 혼합 TLS/SSL을 활성화합니다. --sslMode 옵션의 인수는 다음 중 하나일 수 있습니다.

설명
disabled
서버가 TLS/SSL을 사용하지 않습니다.
allowSSL
서버 간 연결이 TLS/SSL을 사용하지 않습니다. 수신 연결의 경우, 서버는 TLS/SSL과 비TLS/비SSL을 모두 허용합니다.
preferSSL
서버 간 연결이 TLS/SSL을 사용합니다. 수신 연결의 경우, 서버는 TLS/SSL과 비TLS/비SSL을 모두 허용합니다.
requireSSL
서버가 TLS로 암호화된 연결만 사용하고 허용합니다.

--tlsCAFile/net.tls.CAFile (또는 그 별칭 --sslCAFile/net.ssl.CAFile)이(가) 지정되지 않았고 x.509 인증을 사용하지 않는 경우 tlsUseSystemCA 매개변수를 true(으)로 설정해야 합니다. 따라서 MongoDB는 TLS 활성화 서버에 연결할 때 시스템 전체 CA 인증서 저장소를 사용합니다.

--tlsCertificateSelector 또는 --net.tls.certificateSelector을(를) 사용하지 않는 한, x.509 인증을 사용하려면 반드시 --tlsCAFile 또는 net.tls.CAFile을(를) 지정해야 합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--sslPEMKeyFile <filename>

버전 4.2 이후 사용 중단됨: 대신 --tlsPEMKeyFile을(를) 사용하세요.

참고

macOS 또는 Windows에서는 PEM 파일 대신 운영 체제의 보안 저장소에 있는 인증서를 사용할 수 있습니다. --sslCertificateSelector 을(를) 참조하세요.

TLS/SSL 인증서와 키가 모두 포함되어 있는 .pem 파일을 지정합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--sslPEMKeyPassword <value>

버전 4.2 이후 사용 중단됨: 대신 --tlsPEMKeyPassword을(를) 사용하세요.

인증서 키 파일(예: --sslPEMKeyFile)을 해독하기 위한 비밀번호를 지정합니다. 인증서 키 파일이 암호화된 경우에만 --sslPEMKeyPassword 옵션을 사용합니다. 모든 경우에 mongos 는 모든 로깅 및 보고 출력에서 비밀번호를 삭제합니다.

  • Linux/BSD에서 PEM 파일의 개인 키가 암호화되어 있고 --sslPEMKeyPassword 옵션을 지정하지 않은 경우, MongoDB는 암호를 입력하라는 메시지를 표시합니다. TLS/SSL 인증서 암호를 참조하세요.

  • macOS 또는 Windows에서 PEM 파일의 개인 키가 암호화된 경우 --sslPEMKeyPassword 옵션을 명시적으로 지정해야 합니다. 또는 PEM 키 파일 대신 보안 시스템 저장소( --sslCertificateSelector 참조)의 인증서를 사용하거나 암호화되지 않은 PEM 파일을 사용할 수 있습니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--sslClusterFile <filename>

버전 4.2 이후 사용 중단됨: 대신 --tlsClusterFile을(를) 사용하세요.

참고

macOS 또는 Windows에서는 PEM 키 파일 대신 운영 체제의 보안 저장소에 있는 인증서를 사용할 수 있습니다. --sslClusterCertificateSelector 을(를) 참조하세요.

클러스터 또는 복제 세트의 구성원 인증을 위한 x.509 인증서 키 파일이 들어 있는 .pem 파일을 지정합니다.

--sslClusterFile 에서 내부 클러스터 인증을 위한 .pem 파일 또는 대체 --sslClusterCertificateSelector 를 지정하지 않으면 클러스터는 --sslPEMKeyFile 옵션에 지정된 .pem 파일 또는 --sslCertificateSelector 에서 반환한 인증서를 사용합니다.

--tlsCertificateSelector 또는 --net.tls.certificateSelector을(를) 사용하지 않는 한, x.509 인증을 사용하려면 반드시 --tlsCAFile 또는 net.tls.CAFile을(를) 지정해야 합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--sslClusterPassword <value>

버전 4.2 이후 사용 중단됨: 대신 --tlsClusterPassword을(를) 사용하세요.

x를 해독하기 위한 비밀번호를509 --sslClusterFile --sslClusterPassword 지정합니다. 으)로 지정된 인증서-키 파일입니다. 인증서 키 파일이 암호화된 경우에만 옵션을 사용합니다. 모든 경우에 는 mongos 모든 로깅 및 보고 출력에서 비밀번호를 삭제합니다.

  • Linux/BSD에서 개인 키가 x.509 파일이 암호화되어 있고 --sslClusterPassword 옵션을 지정하지 않으면 MongoDB에 암호를 입력하라는 메시지가 표시됩니다. TLS/SSL 인증서 암호를 참조하세요.

  • macOS 또는 Windows에서 비공개 키가 x.509 파일이 암호화된 경우 --sslClusterPassword 옵션을 명시적으로 지정해야 합니다. 또는 클러스터 PEM 파일 대신 보안 시스템 저장소의 인증서( --sslClusterCertificateSelector 참조)를 사용하거나 암호화되지 않은 PEM 파일을 사용할 수 있습니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--sslCAFile <filename>

버전 4.2 이후 사용 중단됨: 대신 --tlsCAFile을(를) 사용하세요.

인증 기관의 루트 인증서 체인이 포함된 .pem 파일을 지정합니다. 상대 경로 또는 절대 경로를 사용하여 .pem 파일의 이름을 지정합니다.

macOS 또는 Windows에서는 PEM 키 파일 대신 운영 체제의 보안 저장소에 있는 인증서를 사용할 수 있습니다. --sslCertificateSelector 을(를) 참조하세요. 보안 저장소를 사용할 때는 --sslCAFile 을(를) 지정할 필요는 없지만 지정할 수도 있습니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--sslClusterCAFile <filename>

버전 4.2 이후 사용 중단됨: 대신 --tlsClusterCAFile을(를) 사용하세요.

연결을 설정하는 클라이언트가 제공한 인증서를 검증하는데 사용된 인증 기관의 루트 인증서 체인이 포함된 .pem 파일을 지정합니다. 상대 경로 또는 절대 경로를 사용하여 .pem 파일의 파일 이름을 지정합니다.

연결을 설정하는 클라이언트의 인증서 유효성을 검사하기 위해 --sslClusterCAFile.pem 파일을 지정하지 않으면 클러스터는 --sslCAFile 옵션에 지정된 .pem 파일을 사용합니다.

--sslClusterCAFile 은 TLS 핸드셰이크의 클라이언트와 서버 간, 서버와 클라이언트 간 인증에 별도의 인증 기관을 사용할 수 있도록 허용합니다.

macOS 또는 Windows에서는 PEM 키 파일 대신 운영 체제의 보안 저장소에 있는 인증서를 사용할 수 있습니다. --sslClusterCertificateSelector 을(를) 참조하세요. 보안 저장소를 사용할 때는 --sslClusterCAFile 을(를) 지정할 필요는 없지만 지정할 수도 있습니다.

--sslCAFile 이(가) 설정되어 있어야 합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--sslCertificateSelector <parameter>=<value>

버전 4.2 이후 사용 중단됨: 대신 --tlsCertificateSelector을(를) 사용하세요.

Windows 및 macOS에서 --tlsCertificateKeyFile 의 대안으로 사용할 수 있습니다.

--tlsCertificateKeyFile--sslCertificateSelector 옵션은 상호 배타적입니다. 하나만 지정할 수 있습니다.

운영 체제의 인증서 저장소에서 일치하는 인증서를 선택하기 위해 인증서 속성을 지정합니다.

--sslCertificateSelector<property>=<value> 형식의 인수를 허용하며, 여기서 속성은 다음 중 하나일 수 있습니다.

속성
값 유형
설명
subject
ASCII 문자열
인증서의 주체 이름 또는 일반 이름
thumbprint
16진수 문자열

16진수로 표현되는 일련의 바이트로, SHA-1 다이제스트로 공개 키를 식별하는 데 사용됩니다.

thumbprint을(를) fingerprint(이)라고 부르기도 합니다.

시스템 SSL 인증서 저장소를 사용할 때 온라인 인증서 상태 프로토콜(OCSP)을 사용해 인증서의 해지 상태를 확인할 수 있습니다.

--sslClusterCertificateSelector <parameter>=<value>

버전 4.2 이후 사용 중단됨: 대신 --tlsClusterCertificateSelector을(를) 사용하세요.

Windows 및 macOS에서 --sslClusterFile 의 대안으로 사용할 수 있습니다.

--sslClusterFile--sslClusterCertificateSelector 옵션은 상호 배타적입니다. 하나만 지정할 수 있습니다.

운영 체제의 인증서 저장소에서 내부 인증에 사용할 일치하는 인증서를 선택하기 위해 인증서 속성을 지정합니다.

--sslClusterCertificateSelector<property>=<value> 형식의 인수를 허용하며, 여기서 속성은 다음 중 하나일 수 있습니다.

속성
값 유형
설명
subject
ASCII 문자열
인증서의 주체 이름 또는 일반 이름
thumbprint
16진수 문자열

16진수로 표현되는 일련의 바이트로, SHA-1 다이제스트로 공개 키를 식별하는 데 사용됩니다.

thumbprint을(를) fingerprint(이)라고 부르기도 합니다.

--sslCRLFile <filename>

버전 4.2 이후 사용 중단됨: 대신 --tlsCRLFile을(를) 사용하세요.

인증서 해지 목록이 포함된 .pem 파일을 지정합니다. 상대 경로 또는 절대 경로를 .pem 파일의 이름을 지정합니다.

참고

  • macOS에서는 CRL 파일을 지정할 수 없습니다. 대신 OCSP(온라인 인증서 상태 프로토콜)를 사용하여 인증서의 해지 상태를 확인하는 시스템 SSL 인증서 저장소를 사용할 수 있습니다. MongoDB 4 의 --tlsCertificateSelector 을(를) 참조하세요.2+ 시스템 SSL 인증서 저장소를 사용합니다.

  • 인증서 해지를 확인하기 위해 MongoDB enables 는 CRL 파일을 지정하거나 시스템 SSL 인증서 저장소를 사용하는 대신 기본적으로 OCSP(온라인 인증서 상태 프로토콜)를 사용합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--sslAllowConnectionsWithoutCertificates

버전 4.2 이후 사용 중단됨: 대신 --tlsAllowConnectionsWithoutCertificates을(를) 사용하세요.

인증서를 제공하지 않는 클라이언트의 경우, mongod 또는 mongos 는 연결이 성공적으로 이루어졌다고 가정하여 TLS/SSL 연결을 암호화합니다.

인증서를 제시하는 클라이언트의 경우, mongos은(는) --sslCAFile이(가) 지정한 루트 인증서 체인을 사용하여 인증서 유효성 검사를 실행하고, 유효하지 않은 인증서를 가진 클라이언트를 거부합니다.

mongos 인증서를 제공하지 않거나 제공할 수 없는 클라이언트를 포함하는 혼합 배포가 있는 경우 --sslAllowConnectionsWithoutCertificates 옵션을 사용합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--sslAllowInvalidCertificates

버전 4.2 이후 사용 중단됨: 대신 --tlsAllowInvalidCertificates을(를) 사용하세요.

클러스터 내 다른 서버에서 TLS/SSL 인증서에 대한 유효성 검사를 우회하고 유효하지 않은 인증서를 연결에 사용할 수 있도록 허용합니다.

참고

MongoDB 4.0부터는 다음과 같은 x.509 인증 옵션을 지정할 경우 유효하지 않은 인증서로도 TLS 연결을 설정할 수는 있지만, 인증에는 충분하지 않습니다.

  • --sslAllowInvalidCertificates 또는 net.ssl.allowInvalidCertificates: true(MongoDB 4.0 이상의 경우)

  • --tlsAllowInvalidCertificates 또는 net.tls.allowInvalidCertificates: true(MongoDB 4.2 이상의 경우)

--sslAllowInvalidCertificates 설정을 사용할 때 MongoDB는 유효하지 않은 인증서 사용과 관련된 경고를 기록합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--sslAllowInvalidHostnames

버전 4.2 이후 사용 중단됨: 대신 --tlsAllowInvalidHostnames을(를) 사용하세요.

프로세스 간 인증을 위해 복제본 세트 또는 샤드 클러스터의 다른 구성원에 연결할 때 TLS/SSL 인증서의 호스트 이름 유효성 검사를 비활성화합니다. 이렇게 하면 인증서의 호스트 이름이 구성된 호스트 이름과 일치하지 않을 때 mongos가 다른 구성원을 연결할 수 있습니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

--sslDisabledProtocols <protocol(s)>

버전 4.2 이후 사용 중단됨: 대신 --tlsDisabledProtocols을(를) 사용하세요.

TLS/SSL로 실행 중인 MongoDB 서버가 1개 또는 그 이상의 특정 프로토콜을 사용하는 수신 연결을 허용하지 않도록 방지합니다. 여러 프로토콜을 지정하려면 쉼표로 구분된 프로토콜 목록을 사용합니다.

--sslDisabledProtocols 은(는) TLS1_0, TLS1_1, TLS1_2TLS1_3 프로토콜을 인식합니다.

  • macOS에서는 TLS1_1을(를) 비활성화하고 TLS1_0TLS1_2을(를) 전부 활성화된 상태로 둘 수 없습니다. TLS1_0,TLS1_1와(과) 같이 다른 2개의 프로토콜 중 적어도 하나를 비활성화해야 합니다.

  • 여러 프로토콜을 나열하려면 쉼표로 구분된 프로토콜 목록으로 지정합니다( 예: TLS1_0,TLS1_1).

  • 인식할 수 없는 프로토콜을 지정하면 서버가 시작되지 않습니다.

  • 지정된 비활성화 프로토콜은 기본으로 설정된 비활성화 프로토콜을 덮어씁니다.

MongoDB는 TLS 1 사용을 비활성화합니다.0 if TLS 1. 시스템에서 1+를 사용할 수 있습니다. 비활성화된 TLS를 1 활성화합니다.0, none ~ --sslDisabledProtocols 을 지정합니다.

복제본 세트와 샤드 클러스터의 구성원은 적어 하나의 공통된 프로토콜을 사용해야 합니다.

다음도 참조하세요.

--sslFIPSMode

버전 4.2 이후 사용 중단됨: 대신 --tlsFIPSMode을(를) 사용하세요.

mongos 가 TLS/SSL 라이브러리의 FIPS 모드를 사용하도록 지시합니다. --sslFIPSMode 옵션을 사용하려면 시스템에 FIPS를 준수하는 라이브러리가 있어야 합니다.

참고

FIPS와 호환되는 TLS/SSL은 MongoDB Enterprise 에서만 사용할 수 있습니다. 자세한 내용 은 FIPS용 MongoDB 구성 을 참조하세요.

--auditCompressionMode

버전 5.3에 추가.

감사 로그 암호화 를 위한 압축 모드를 지정합니다. 또한 --auditEncryptionKeyUID 또는 --auditLocalKeyFile 를 사용하여 감사 로그 암호화를 활성화해야 합니다.

--auditCompressionMode 다음 값 중 하나로 설정할 수 있습니다.

설명
zstd
zstd 알고리즘을 사용하여 감사 로그를 압축합니다.
none (기본값)
감사 로그를 압축하지 마세요.

참고

MongoDB Enterprise 에서만 사용할 수 있습니다. MongoDB Enterprise와 Atlas의 구성 요구 사항은 서로 다릅니다.

--auditDestination

감사를 활성화하고 mongos이(가) 감사 이벤트를 보내는 위치를 지정합니다.

--auditDestination 다음 값 중 하나를 가질 수 있습니다.

설명
syslog

시스템 로그에 감사 이벤트를 JSON 형식으로 출력합니다. Windows에서는 사용할 수 없습니다. 감사 메시지의 시스템 로그 심각도 수준은 info이고, 시설 수준은 user입니다.

시스템 로그 메시지 제한으로 인해 감사 메시지가 잘릴 수 있습니다. 감사 시스템은 잘림을 감지하지 못하며, 잘림이 발생함으로 인한 오류도 감지하지 못합니다.

console
stdout에 감사 이벤트를 JSON 형식으로 출력합니다.
file
--auditFormat 에 지정된 형식으로 --auditPath 에 지정된 파일에 감사 이벤트를 출력합니다

참고

MongoDB EnterpriseMongoDB Atlas 에서만 사용할 수 있습니다.

--auditEncryptionKeyUID

버전 6.0에 추가.

감사 로그 암호화를 위한 Key Management Interoperability Protocol(KMIP) 키의 고유 식별자를 지정합니다.

--auditEncryptionKeyUID--auditLocalKeyFile 는 함께 사용할 수 없습니다.

참고

MongoDB Enterprise 에서만 사용할 수 있습니다. MongoDB Enterprise와 Atlas의 구성 요구 사항은 서로 다릅니다.

--auditFormat

--auditDestination 인 경우 감사 출력 파일의 형식을 file 지정합니다. 옵션은 다음 값 중 하나를 --auditFormat 가집니다.

감사 이벤트를 JSON 형식으로 파일에 출력하면 BSON 형식으로 파일에 출력하는 것보다 서버 성능이 더 저하됩니다.

참고

MongoDB EnterpriseMongoDB Atlas 에서만 사용할 수 있습니다.

--auditLocalKeyFile

버전 5.3에 추가.

감사 로그 암호화를 위한 로컬 감사 키 파일의 경로와 파일 이름을 지정합니다.

참고

키가 보호되지 않았으므로 테스트에만 --auditLocalKeyFile 를 사용합니다. 키를 보호하려면 --auditEncryptionKeyUID 및 외부 키 관리 상호 운용성 프로토콜(KMIP) 서버를 사용합니다.

--auditLocalKeyFile--auditEncryptionKeyUID 는 함께 사용할 수 없습니다.

참고

MongoDB Enterprise 에서만 사용할 수 있습니다. MongoDB Enterprise와 Atlas의 구성 요구 사항은 서로 다릅니다.

--auditPath

--auditDestination 의 값이 file 인 경우 감사 출력 파일을 지정합니다. --auditPath 옵션은 전체 경로 이름 또는 상대 경로 이름을 사용할 수 있습니다.

참고

MongoDB EnterpriseMongoDB Atlas 에서만 사용할 수 있습니다.

--auditFilter

감사 시스템에서 기록하는 작업 유형을 제한하는 필터를 지정합니다. 이 옵션은 다음과 같은 형식으로 쿼리 문서에 대한 문자열을 표현합니다.

{ <field1>: <expression1>, ... }

<field>은(는) param 문서에서 반환된 필드를 포함해 감사 메시지에 있는 그 어떤 필드도 될 수 있습니다. <expression>은(는) 쿼리 조건 표현식입니다.

감사 필터를 지정하려면 필터 문서를 작은따옴표 안에 입력하고 문서를 문자열로 전달합니다.

구성 파일에서 감사 필터를 지정하려면 구성 파일의 YAML 형식을 사용해야 합니다.

참고

MongoDB EnterpriseMongoDB Atlas 에서만 사용할 수 있습니다.

--slowms <integer>

기본값: 100

느린 작동 시간 임계값(밀리초 단위)입니다. 이 임계값보다 오래 실행되는 작업은 느린 것으로 간주됩니다.

logLevel0으로 설정하면, MongoDB는 slowOpSampleRate 의해 결정되는 속도로 느린 작업을 진단 로그에 기록합니다.

logLevel를 더 높게 설정하면 대기 시간에 관계없이 모든 작업이 진단 로그에 표시됩니다.

mongos 인스턴스의 경우 mongos에서 프로파일링을 사용할 수 없으므로 진단 로그에만 영향을 미치고 프로파일러에는 영향을 주지 않습니다.

--slowOpSampleRate <double>

기본값: 1.0

기록해야 하는 느린 작업의 비율입니다. --slowOpSampleRate 은 0 ~ 1 사이의 값을 허용합니다.

인스턴스의 mongos 경우 에서--slowOpSampleRate 프로파일링을 사용할 수 없으므로 는 진단 로그에만 영향을 미치고 프로파일러에는 영향을 미치지 않습니다.mongos

--ldapServers <host1>:<port>,<host2>:<port>,...,<hostN>:<port>

MongoDB Enterprise에서만 사용할 수 있습니다.

mongos 사용자를 인증하거나 사용자가 특정 데이터베이스에서 수행할 수 있는 작업을 결정하는 LDAP 서버입니다. 지정된 LDAP 서버에 복제된 인스턴스가 있는 경우 각 복제된 서버의 호스트와 포트를 쉼표로 구분된 목록으로 지정할 수 있습니다.

LDAP 인프라가 여러 LDAP 서버에 걸쳐 LDAP 디렉토리를 분할하는 경우,하나 의 LDAP 서버 또는 해당 서버의 복제된 --ldapServers 인스턴스를 으로 지정합니다. MongoDB는 RFC 에 정의된 대로 다음과 같은 LDAP 참조를 4511 4지원합니다.1.10. 인프라의 모든 LDAP 서버를 나열하는 데 --ldapServers 를 사용하지 마세요.

이 설정은 setParameter을(를) 사용하여 실행 중인 mongos에서 구성할 수 있습니다.

설정하지 않으면 mongos 은(는) LDAP 인증 또는 권한 부여사용할 수 없습니다.

--ldapValidateLDAPServerConfig <boolean>

MongoDB Enterprise에서만 사용할 수 있습니다.

mongos 인스턴스가 시작의 일부로 LDAP server(s) 의 가용성을 확인하는지 여부를 결정하는 플래그입니다.

  • true인 경우 mongos 인스턴스는 가용성 확인을 수행하고 LDAP 서버를 사용할 수 있는 경우에만 계속 시작됩니다.

  • false인 경우 mongos 인스턴스는 가용성 검사를 생략합니다. 즉, LDAP 서버를 사용할 수 없는 경우에도 인스턴스가 시작됩니다.

--ldapQueryUser <string>

MongoDB Enterprise에서만 사용할 수 있습니다.

LDAP 서버에 연결하거나 쿼리를 수행할 때 mongos이 바인딩되는 ID입니다.

다음 중 하나라도 해당하는 경우에만 필요합니다.

--ldapQueryUser--ldapQueryPassword 와 함께 사용해야 합니다.

설정하지 않으면 mongos은 LDAP 서버에 바인딩을 시도하지 않습니다.

이 설정은 setParameter을(를) 사용하여 실행 중인 mongos에서 구성할 수 있습니다.

참고

Windows MongoDB 배포는 --ldapBindWithOSDefaults--ldapQueryUser 대신 를 --ldapQueryPassword 사용할 수 있습니다.--ldapQueryUser 와 를 --ldapBindWithOSDefaults 동시에 지정할 수는 없습니다.

--ldapQueryPassword <string>

MongoDB Enterprise에서만 사용할 수 있습니다.

--ldapQueryUser 을(를) 사용할 때 LDAP 서버에 바인딩하는 데 사용되는 비밀번호입니다. --ldapQueryPassword--ldapQueryUser 와 함께 사용해야 합니다.

설정하지 않으면 mongos은 LDAP 서버에 바인딩을 시도하지 않습니다.

이 설정은 setParameter을(를) 사용하여 실행 중인 mongos에서 구성할 수 있습니다.

참고

Windows MongoDB 배포는 --ldapBindWithOSDefaults--ldapQueryPassword 대신 를 --ldapQueryPassword 사용할 수 있습니다.--ldapQueryPassword 와 를 --ldapBindWithOSDefaults 동시에 지정할 수는 없습니다.

--ldapBindWithOSDefaults <bool>

기본값: false

Windows 플랫폼용 MongoDB Enterprise에서만 사용할 수 있습니다.

LDAP 서버에 연결할 때 mongos이(가) Windows 로그인 자격 증명을 사용하여 인증하거나 바인딩할 수 있도록 허용합니다.

다음과 같은 경우에만 필요합니다.

--ldapBindWithOSDefaults 을 사용하여 --ldapQueryUser--ldapQueryPassword 을(를) 대체합니다.

--ldapBindMethod <string>

기본값: 단순

MongoDB Enterprise에서만 사용할 수 있습니다.

mongos 이(가) LDAP 서버에 인증하는 데 사용하는 메서드입니다. --ldapQueryUser--ldapQueryPassword 와 함께 사용하여 LDAP 서버에 연결합니다.

--ldapBindMethod 다음 값을 지원합니다.

  • simple - mongos는 간단한 인증을 사용합니다.

  • sasl - mongos는 인증에 SASL 프로토콜을 사용합니다.

sasl 을 지정하면 --ldapBindSaslMechanisms 를 사용하여 사용 가능한 SASL 메커니즘을 구성할 수 있습니다. mongos 는 기본적으로 DIGEST-MD5 메커니즘을 사용합니다.

--ldapBindSaslMechanisms <string>

기본값입니다: DIGEST-MD5

MongoDB Enterprise에서만 사용할 수 있습니다.

쉼표로 구분된 mongos이(가) LDAP 서버에 인증할 때 사용할 수 있는 SASL 메커니즘의 목록입니다. mongos 및 LDAP 서버는 하나 이상의 메커니즘에 동의해야 합니다. mongos은(는) 런타임 시 호스트 컴퓨터에 설치된 모든 SASL 메커니즘 라이브러리를 동적으로 로드합니다.

mongos 호스트와 원격 LDAP 서버 호스트 둘 다에서 선택한 SASL 메커니즘에 적합한 라이브러리를 설치하고 구성합니다. 운영 체제에는 기본적으로 특정 SASL 라이브러리가 포함되어 있을 수 있습니다. 설치 및 구성에 대한 지침은 각 SASL 메커니즘과 관련된 설명서를 참조하세요.

Kerberos 인증에 GSSAPI SASL 메커니즘을 사용하는 경우 mongos 호스트 컴퓨터에 대해 다음을 확인합니다.

Linux
Windows
Active Directory 서버에 연결하는 경우 Windows Kerberos 구성은 자동으로 티켓 부여 티켓을 생성합니다. 사용자가 시스템에 로그인할 때.--ldapBindWithOSDefaults truemongos 로 설정하여 가 Active Directory 서버에 연결할 때 생성된 자격 증명을 사용하고 쿼리를 실행할 수 있도록 허용합니다.

이 옵션을 사용하려면 --ldapBindMethodsasl 로 설정합니다.

참고

SASL 메커니즘의 전체 목록은 IANA 목록 을 참조하세요. . 해당 서비스와 호환되는 SASL 메커니즘을 확인하려면 해당 LDAP 또는 Active Directory 서비스의 설명서를 참조하세요.

MongoDB는 SASL 메커니즘 라이브러리의 출처가 아닙니다. 또한, MongoDB 설명서는 특정 SASL 메커니즘 설치나 구성을 위한 절대적인 출처가 아닙니다. 설명서와 지원은 SASL 메커니즘 라이브러리 공급업체나 소유자에게 요청하시기 바랍니다.

SASL에 관한 자세한 내용은 다음 리소스를 참조하세요.

--ldapTransportSecurity <string>

기본값: tls

MongoDB Enterprise에서만 사용할 수 있습니다.

기본적으로 mongos은 LDAP 서버에 대한 TLS/SSL 보안 연결을 만듭니다.

Linux 배포의 경우 파일에서 적절한 TLS 옵션을 구성해야 /etc/openldap/ldap.conf 합니다. 운영 체제의 패키지 관리자는 종속성을 통해 MongoDB Enterprise 설치의 일부로 이 파일을 libldap 생성합니다.TLS Options ldap.conf OpenLDAP 설명서 에서 에 대한 설명서를 참조하세요. 자세한 내용은

Windows 배포서버의 경우, 반드시 LDAP 서버 CA 인증서를 Windows 인증서 관리 도구에 추가해야 합니다.도구의 정확한 이름과 기능은 운영 체제의 버전에 따라 다를 수 있습니다.인증서 관리에 관한 자세한 정보는 Windows 버전별 설명서를 참조하세요.

--ldapTransportSecuritynone 로 설정하여 mongos 와 LDAP 서버 간의 TLS/SSL을 비활성화합니다.

경고

--ldapTransportSecurity 을(를) none 으)로 설정하면 mongos 와 LDAP 서버 간에 일반 텍스트 정보와 자격 증명이 전송될 수 있습니다.

--ldapTimeoutMS <int>

기본값: 10000

MongoDB Enterprise에서만 사용할 수 있습니다.

LDAP 서버가 요청에 응답할 때까지 mongos이(가) 기다려야 하는 시간(밀리초) 입니다.

--ldapTimeoutMS 값을 늘리면 실패의 원인이 연결 시간 초과인 경우 MongoDB 서버와 LDAP 서버 간의 연결 실패를 방지할 수 있습니다. --ldapTimeoutMS 값을 줄이면 MongoDB가 LDAP 서버의 응답을 기다리는 시간이 줄어듭니다.

이 설정은 setParameter을(를) 사용하여 실행 중인 mongos에서 구성할 수 있습니다.

--ldapRetryCount <int>

버전 6.1에 추가.

기본값: 0

MongoDB Enterprise에서만 사용할 수 있습니다.

네트워크 오류 후 서버 LDAP 관리자가 작업을 다시 시도한 횟수입니다.

--ldapUserToDNMapping <string>

MongoDB Enterprise에서만 사용할 수 있습니다.

인증을 위해 mongos 에 제공된 사용자 이름을 LDAP DN(고유 이름)에 매핑합니다. 다음 시나리오에서는 --ldapUserToDNMapping 를 사용하여 사용자 이름을 LDAP DN으로 변환해야 할 수 있습니다.

  • 사용자가 완전한 LDAP DN이 아닌 사용자 이름으로 MongoDB에서 인증하는 간단한 LDAP 바인딩을 사용해 LDAP 인증을 실행하는 경우

  • DN이 필요한 LDAP authorization query template 를 사용합니다.

  • x.509 또는 Kerberos 등의 다양한 인증 메커니즘을 사용해 MongoDB에서 인증하는 클라이언트의 사용자 이름을 권한 승인을 위해 완전한 LDAP DN으로 전환하는 경우

--ldapUserToDNMapping 은(는) 문서의 정렬된 배열을 나타내는 따옴표로 묶인 JSON 문자열을 기대합니다. 각 문서에는 정규 표현식 match 와 들어오는 사용자 이름을 변환하는 데 사용되는 substitution 또는 ldapQuery 템플릿이 포함되어 있습니다.

배열의 각 문서는 다음과 같은 형식을 갖습니다.

{
match: "<regex>"
substitution: "<LDAP DN>" | ldapQuery: "<LDAP Query>"
}
필드
설명
예제
match
제공된 사용자 이름과 일치하는 ECMAScript 형식의 정규 표현식(regex)입니다. 괄호로 묶인 각 섹션은 substitution 또는 ldapQuery에서 사용하는 regex 캡처 그룹을 나타냅니다.
"(.+)ENGINEERING" "(.+)DBA"
substitution

정규식과 일치하는 인증 이름을 LDAP DN으로 변환하는 LDAP DN(고유 이름)match 서식 지정 템플릿입니다. 중괄호로 묶인 각 숫자 값은 해당 정규식 캡처 그룹 으로 대체됩니다. match regex를 통해 인증 사용자 이름에서 추출합니다.

대체 결과는 RFC4514 이어야 합니다. 이스케이프된 문자열.

"cn={0},ou=engineering, dc=example,dc=com"
ldapQuery
정규식과 일치하는 인증 match 이름을 RFC4515 및 RFC 에 따라 인코딩된 LDAP 쿼리 URI에 삽입하는 LDAP 쿼리 서식4516 지정 템플릿입니다. 중괄호로 묶인 각 숫자 값은 해당 정규식 캡처 그룹 으로 대체됩니다.match 표현식을 통해 인증 사용자 이름에서 추출합니다. mongos 은(는) LDAP 서버에 대해 쿼리를 실행하여 인증된 사용자의 LDAP DN을 검색합니다. mongos 변환이 성공하려면 정확히 하나의 반환된 결과가 필요하거나 mongos 이 변환을 건너뜁니다.
"ou=engineering,dc=example, dc=com??one?(user={0})"

배열의 각 문서에 대해 substitution 또는 ldapQuery 사용해야 합니다. 동일한 문서에서 둘 다 지정할 수는 없습니다 .

인증 또는 권한 부여를 수행할 때 mongos 는 배열의 각 문서를 지정된 순서대로 진행하면서 match 필터와 비교하여 인증 사용자 이름을 확인합니다. 일치하는 항목이 발견되면 mongos 변환을 적용하고 사용자 인증을 위해 출력을 사용합니다. mongos는 배열의 나머지 문서를 확인하지 않습니다.

지정한 문서가 제공된 인증 이름과 일치하지 않는 경우 mongos는 계속해서 문서 목록에서 일치하는 항목을 추가로 찾습니다. 문서에서 일치하는 항목을 찾을 수 없거나 문서에서 설명하는 변환이 실패하면 mongos 오류를 반환합니다.

mongos 또한 LDAP 서버의 네트워킹 또는 인증 실패로 인해 변환 중 하나를 평가할 수 없는 경우에도 오류를 반환합니다. mongos 은 연결 요청을 거부하고 배열의 나머지 문서를 확인하지 않습니다.

MongoDB 5 부터 시작.0, --ldapUserToDNMapping 는 매핑 문서 대신 빈 문자열 "" 또는 빈 배열 [ ] 을 허용합니다. --ldapUserToDNMapping 에 빈 문자열 또는 빈 배열을 제공하는 경우 MongoDB는 인증된 사용자 이름을 LDAP DN으로 매핑합니다. 이전에는 빈 매핑 문서를 제공하면 매핑이 실패했습니다.

예제

다음은 두 개의 변환 문서를 보여줍니다. 첫 번째 문서는 @ENGINEERING로 끝나는 모든 문자열과 일치하며 접미사 앞에 오는 모든 항목을 regex 캡처 그룹에 배치합니다. 두 번째 문서는 @DBA로 끝나는 모든 문자열과 일치하며, 접미사 앞에 오는 모든 항목을 regex 캡처 그룹에 배치합니다.

중요

--ldapUserToDNMapping에 배열을 문자열로 전달해야 합니다.

"[
{
match: "(.+)@ENGINEERING.EXAMPLE.COM",
substitution: "cn={0},ou=engineering,dc=example,dc=com"
},
{
match: "(.+)@DBA.EXAMPLE.COM",
ldapQuery: "ou=dba,dc=example,dc=com??one?(user={0})"
}
]"

사용자 이름이 alice@ENGINEERING.EXAMPLE.COM인 사용자가 첫 번째 문서와 일치합니다. Regex 캡처 그룹 {0}은 문자열 alice에 해당합니다. 결과 출력은 DN "cn=alice,ou=engineering,dc=example,dc=com"입니다.

사용자 이름이 bob@DBA.EXAMPLE.COM 인 사용자가 두 번째 문서와 일치합니다. Regex 캡처 그룹 {0}은 문자열 bob에 해당합니다. 결과 출력은 LDAP 쿼리 "ou=dba,dc=example,dc=com??one?(user=bob)"입니다. mongos 는 LDAP 서버에 대해 이 쿼리를 실행하여 결과 "cn=bob,ou=dba,dc=example,dc=com"를 반환합니다.

--ldapUserToDNMapping 이 설정되지 않은 경우 mongos 는 LDAP 서버에 대해 사용자를 인증하거나 권한을 부여하려고 시도할 때 사용자 이름에 변환을 적용하지 않습니다.

이 설정은 실행 중인 mongos에서 setParameter 데이터베이스 명령을 사용하여 구성할 수 있습니다.

--ipv6

IPv6 지원을 활성화합니다. mongos은 기본적으로 IPv6 지원을 사용하지 않도록 설정합니다.

--ipv6 를 설정해도 mongos 가 로컬 IPv6 주소 또는 인터페이스에서 수신 대기하도록 지시하지 않습니다 . IPv6 인터페이스에서 수신 대기하도록 mongos 를 구성하려면 다음 중 하나를 수행해야 합니다.

  • 하나 이상의 IPv6 주소 또는 호스트 이름으로 --bind_ip 를 구성하여 IPv6 주소로 확인 되거나

  • --bind_ip_alltrue 로 설정합니다.

← mongod