자체 관리형 샤드 클러스터의 키 순환
샤드 클러스터 멤버는 키파일 을 사용하여 동일한 배포서버 의 멤버로 서로를 인증할 수 있습니다.
키 파일 에는 여러 개의 키가 포함될 수 있으며 멤버 간에 하나 이상의 키가 공통적으로 사용되는 경우 멤버십 인증이 설정됩니다. 이를 통해 다운타임 없이 키를 롤링 업그레이드할 수 있습니다.
다음 튜토리얼에서는 다운타임 없이 샤드 cluster의 키를 업데이트하는 프로세스를 단계별로 설명합니다. [1]
경고
이 튜토리얼의 예제 키는 설명 목적으로만 사용됩니다. 배포에 을(를) 사용하지 마세요 . 대신 원하는 방법을 사용하여 키 파일을 생성합니다(예: openssl rand -base64
756
등).
각 멤버의 키 파일에 다음 키가 포함된 샤드 클러스터를 생각해 보세요.
다음 절차는 새 키를 사용하도록 샤딩된 cluster 멤버를 업데이트합니다.
[1] | 이 튜토리얼은 MongoDB의 암호화된 스토리지 엔진 로컬 키 관리에 사용되는 키 파일 에는 적용되지 않습니다. 해당 키파일 에는 하나의 키만 포함할 수 있습니다. |
시작하기 전에
MongoDB 8.0 부터는 directShardOperations
역할 을 사용하여 샤드 에 대해 직접 명령을 실행해야 하는 유지 관리 작업을 수행할 수 있습니다.
경고
directShardOperations
역할 을 사용하여 명령을 실행하면 클러스터 가 올바르게 작동하지 않고 데이터가 손상될 수 있습니다. directShardOperations
역할 은 유지 관리 목적으로만 사용하거나 MongoDB 지원 의 지침 에 따라 사용하세요. 유지 관리 작업 수행이 완료되면 directShardOperations
역할 사용을 중지합니다.
절차
1. 이전 키와 새 키를 포함하도록 키 파일 수정
이전 키와 새 키를 모두 포함하도록 각 멤버의 키 파일을 수정합니다.
경고
이 튜토리얼의 예제 키는 설명 목적으로만 사용됩니다. 배포서버에 사용하지 마세요 . 대신 원하는 방법을 사용하여 키 파일을 생성합니다(예: openssl rand -base64
756
등).
여러 키 문자열을 키 문자열의 시퀀스로 지정할 수 있습니다(선택적으로 따옴표로 묶음).
1. 각 멤버 다시 시작
모든 키 파일에 이전 키와 새 키가 모두 포함되면 각 멤버를 한 번에 하나씩 다시 시작합니다.
Config 서버
config 서버 복제본 세트(CSRS)의 각 세컨더리 멤버에 대해 mongosh
를 멤버에 연결합니다.
db.shutdownServer()
메서드를 사용하여 멤버를 종료합니다:use admin db.shutdownServer() 멤버를 다시 시작합니다.
프라이머리의 경우 mongosh
를 멤버에 연결하고
rs.stepDown()
를 사용하여 멤버를 물러나게 합니다:rs.stepDown() db.shutdownServer()
메서드를 사용하여 멤버를 종료합니다:use admin db.shutdownServer() 멤버를 다시 시작합니다.
샤드 복제본 세트
샤드 복제본 세트 의 각 세컨더리 멤버에 대해 mongosh
를 멤버에 연결하고 다음을 수행합니다.
db.shutdownServer()
메서드를 사용하여 멤버를 종료합니다:use admin db.shutdownServer() 멤버를 다시 시작합니다.
각 샤드 복제본 세트 의 프라이머리에 대해 mongosh
를 멤버에 연결하고
rs.stepDown()
를 사용하여 멤버를 물러나게 합니다:rs.stepDown() db.shutdownServer()
메서드를 사용하여 멤버를 종료합니다:use admin db.shutdownServer() 멤버를 다시 시작합니다.
mongos
라우터
각 mongos/router 인스턴스 에 대해 mongosh
를 mongos
인스턴스에 연결하고 다음을 수행합니다.
db.shutdownServer()
메서드를 사용하여 멤버를 종료합니다:use admin db.shutdownServer() 멤버를 다시 시작합니다.
모든 멤버가 다시 시작되면 이제 멤버는 멤버십 인증을 위해 이전 키 또는 새 키를 허용합니다.
3. 키 파일 콘텐츠를 새 키로만 업데이트
경고
이 튜토리얼의 예제 키는 설명 목적으로만 사용됩니다. 배포서버에 사용하지 마세요 . 대신 원하는 방법을 사용하여 키 파일을 생성합니다(예: openssl rand -base64
756
등).
새 비밀번호만 포함하도록 각 멤버의 키 파일을 수정합니다.
4. 각 멤버 다시 시작
모든 키 파일에 새 키만 포함되면 각 멤버를 한 번에 하나씩 다시 시작합니다.
Config 서버
config 서버 복제본 세트(CSRS)의 각 세컨더리 멤버에 대해 mongosh
를 멤버에 연결하고 다음을 수행합니다.
db.shutdownServer()
메서드를 사용하여 멤버를 종료합니다:use admin db.shutdownServer() 멤버를 다시 시작합니다.
프라이머리의 경우 mongosh
를 멤버에 연결하고
rs.stepDown()
를 사용하여 멤버를 물러나게 합니다:rs.stepDown() db.shutdownServer()
메서드를 사용하여 멤버를 종료합니다:use admin db.shutdownServer() 멤버를 다시 시작합니다.
샤드 복제본 세트
샤드 복제본 세트 의 각 세컨더리 멤버에 대해 mongosh
를 멤버에 연결하고 다음을 수행합니다.
db.shutdownServer()
메서드를 사용하여 멤버를 종료합니다:use admin db.shutdownServer() 멤버를 다시 시작합니다.
각 샤드 복제본 세트 의 프라이머리에 대해 mongosh
를 멤버에 연결하고
rs.stepDown()
를 사용하여 멤버를 물러나게 합니다:rs.stepDown() db.shutdownServer()
메서드를 사용하여 멤버를 종료합니다:use admin db.shutdownServer() 멤버를 다시 시작합니다.
mongos
라우터
각 mongos/router 인스턴스 에 대해 mongosh
를 mongos
인스턴스에 연결하고 다음을 수행합니다.
db.shutdownServer()
메서드를 사용하여 멤버를 종료합니다:use admin db.shutdownServer() 멤버를 다시 시작합니다.
모든 멤버가 다시 시작되면 이제 멤버는 멤버십 인증을 위해 새 키만 허용합니다.