dropConnections
정의
dropConnections
dropConnections
명령은 지정된 호스트에 대한mongod
/mongos
인스턴스의 발신 연결을 삭제합니다.dropConnections
는admin
데이터베이스 에 대해 실행 되어야 합니다.
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
명령의 구문은 다음과 같습니다.
db.adminCommand( { dropConnections: 1, hostAndPort : [ "host1:port1", "host2:port2", ... ], comment: <any> } )
명령 필드
명령에는 다음 필드가 필요합니다.
필드 | 유형 | 설명 |
---|---|---|
hostAndPort | 배열 | 각 배열 요소는 원격 시스템의 호스트 이름과 포트를 나타냅니다. |
comment | any | 선택 사항. 이 명령에 첨부할 사용자 제공 코멘트입니다. 설정되면 이 설명은 다음 위치에서 이 명령의 레코드와 함께 표시됩니다.
댓글은 유효한 모든 BSON types (문자열, 정수, 객체, 배열 등)이 될 수 있습니다. |
액세스 제어
배포에서 인증/권한 부여를 시행하는 경우 dropConnections
명령은 클러스터 리소스에 적용되는 dropConnections
조치가 필요합니다.
privilege
배열에 다음 문서가 포함된 admin
데이터베이스에 사용자 정의 역할 을 생성합니다.
{ "resource" : { "cluster" : true } }, "actions" : [ "dropConnections" ] }
db.createUser()
를 사용하여admin
데이터베이스에 사용자 지정 역할로 사용자를 만듭니다.or
db.grantRolesToUser()
를 사용하여admin
데이터베이스의 기존 사용자에게 역할을 부여합니다.
예를 예시 , 다음 작업은 dropConnections
를 지원 수 있는 권한으로 admin
데이터베이스 에 사용자 정의 역할 을 생성합니다.
db.getSiblingDB("admin").createRole( { "role" : "dropConnectionsRole", "privileges" : [ { "resource" : { "cluster" : true }, "actions" : [ "dropConnections" ] } ], "roles" : [] } )
admin
데이터베이스의 사용자에게 사용자 지정 역할을 할당합니다.
db.getSiblingDB("admin").createUser( { "user" : "dropConnectionsUser", "pwd" : "replaceThisWithASecurePassword", "roles" : [ "dropConnectionsRole" ] } )
생성된 사용자는 dropConnections
를 실행할 수 있습니다.
사용자 생성에 대한 더 많은 예는 자체 관리 배포서버에서 사용자 생성하기 를 참조하세요. 기존 데이터베이스 사용자에게 권한을 추가하는 방법에 대한 튜토리얼 은 기존 사용자의 액세스 수정을 참조하세요.
행동
dropConnections
는 원격 시스템의 호스트 이름과 포트를 모두 포함하지 않는 hostAndPort
요소를 자동으로 무시합니다.
예시
oldhost.example.com:27017
에서 최근에 제거된 멤버가 있는 복제본 세트 를 생각해 보세요. 각 활성 복제본 세트 멤버에 대해 다음 dropConnections
명령을 실행하면 oldhost.example.com:27017
에 대한 발신 연결이 남아 있지 않습니다.
db.adminCommand( { "dropConnections" : 1, "hostAndPort" : [ "oldhost.example.com:27017" ] } )
이 명령은 다음과 유사한 출력을 반환합니다.
{ "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1551375968, 1), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } }, "operationTime" : Timestamp(1551375968, 1) }
명령을 사용하여 connPoolStats
또는 mongod
mongos
의 연결 풀 상태를 확인할 수 있습니다.