클러스터 관리
MemStore 클러스터를 연결하고 조회, 모니터링, 보안 그룹, 파라미터 그룹 등 클러스터 운영 설정을 관리하는 방법을 설명합니다.
MemStore 클러스터를 안정적으로 운영하려면 메모리 사용률을 주기적으로 모니터링하는 것을 권장합니다. 설정된 maxmemory에 도달하면 maxmemory-policy(기본 값: allkeys-lru)정책에 따라 Eviction을 진행합니다.
- Valkey maxmemory: 인스턴스 유형(Flavor) 메모리의 2/3, 약 66%
- Redis OSS maxmemory: 시스템 가용 메모리의 약 66%
MemStore 클러스터 연결
MemStore 클러스터를 생성하고 설정을 완료한 후, Client를 사용하여 클러스터에 연결할 수 있습니다.
접속 환경 준비
MemStore 클러스터에 접속하려면 다음 접속 환경을 준비해야 합니다.
- 접속하려는 MemStore 클러스터와 동일한 네트워크를 사용하는 가상 머신(Virtual Machine) 인스턴스
- MemStore 클러스터의 엔드포인트에 접근할 수 있는 보안 그룹 설정
가상 머신 인스턴스의 보안 그룹 아웃바운드 규칙과 클러스터에 연결된 보안 그룹에는 클러스터 생성 시 설정한 포트를 허용합니다.
- 사용자가 포트를 지정한 경우:
2000 ~ 50000범위에서 지정한 포트 - 기본 포트를 사용하는 경우:
TCP 6379
클러스터 접속
엔진 Client를 사용해 MemStore 클러스터에 접속할 수 있습니다.
-
Virtual Machine > 인스턴스 생성 및 연결을 참고하여 가상 머신 인스턴스에 접근해 Redis/Valkey Client를 준비합니다. 엔진별 명령어를 인식하지 않을 때는 별도의 엔진 Client를 설치해야 합니다.
-
카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
-
클러스터 메뉴에서 연결할 클러스터를 선택합니다.
-
세부 정보 탭에서 클러스터 모드에 맞는 엔드포인트와 포트를 확인합니다.
- 클러스터 모드 미사용: 읽기/쓰기는 Primary 엔드포인트, 읽기 전용 연결은 Read 엔드포인트 사용
- 클러스터 모드 사용: Read 엔드포인트를 제공하지 않으며, 샤드/노드 목록 탭에서 각 노드의 엔드포인트 확인
-
생성한 가상 머신 인스턴스에서 클러스터 접속 명령을 실행합니다.
클러스터 모드 미사용 시redis-cli -h {ENDPOINT} -p {PORT}클러스터 모드 사용 시redis-cli -c -h {NODE_ENDPOINT} -p {PORT}항목 설명 {ENDPOINT}클러스터 모드 미사용 시 세부 정보 탭에서 확인한 Primary 또는 Read 엔드포인트 {NODE_ENDPOINT}클러스터 모드 사용 시 샤드/노드 목록 탭에서 확인한 노드 엔드포인트 {PORT}접속 포트
- 기본값:6379
- 클러스터 생성 시 사용자가 지정한 포트
전송 암호화(TLS) 또는 사용자 인증을 사용하는 클러스터는 접속 명령에 다음 옵션을 추가합니다.
- 사용자 인증 사용:
--user {ID} --pass {PASSWORD} - 전송 암호화 사용:
--tls --cacert {CA_FILE_PATH}
전송 암호화에 필요한 ca.crt 파일은 클러스터 세부 정보 탭에서 다운로드할 수 있습니다.
클러스터 목록 조회
현재 프로젝트에 생성된 MemStore 클러스터 목록을 조회할 수 있습니다.
-
카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
-
클러스터 메뉴에서 클러스터 목록을 확인합니다.
항목 설명 이름 클러스터 생성 시 입력한 이름
- 클러스터 이름을 클릭하여 상세 정보 확인 가능상태 현재 클러스터의 상태
- 자세한 설명은 주요 개념 > 클러스터 참고엔진 버전 클러스터 엔진 버전 노드 유형 클러스터 생성 시 선택한 노드 유형
- 마우스 오버 시 vCPU, Memory 정보 확인 가능
- 자세한 설명은 주요 개념 > 노드 유형 참고클러스터 모드 클러스터 모드 사용 여부 자동 장애 조치 노드 장애에 대한 자동 장애 조치 사용 여부
* Redis OSS만 제공자동 백업 보존 기간 자동 백업 보존 기간
- 보존 기간 변경 후 새로 생성되는 자동 백업부터 변경된 보존 기간 적용
- 마우스 오버 시 자동 백업 시작 시간 확인 가능샤드 수 클러스터 내 샤드 수
- 클러스터 모드 미사용 시 하이픈(-)으로 표시
* Redis OSS만 제공노드 수 클러스터 내 생성된 노드 수
* Redis OSS만 제공생성 일시 클러스터를 생성한 일시
클러스터 상세 조회
MemStore 클러스터의 상세 정보를 확인할 수 있습니다.
-
카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
-
클러스터 메뉴에서 상세 정보를 확인할 클러스터를 선택합니다.
-
각 탭에서 클러스터 정보를 확인합니다.
탭 구분 설명 세부 정보 클러스터 운영 상태, 엔드포인트 등 주요 클러스터 정보 샤드/노드 목록 클러스터에 구성된 샤드와 노드 목록 및 상태
- 자세한 설명은 샤드 및 노드 관리 참고백업 클러스터에 생성된 백업 정보와 백업 작업 메뉴
- 자세한 설명은 백업 관리 참고네트워크/보안 클러스터의 네트워크 및 연결된 보안 그룹 정보 접근 제어 클러스터 생성 시 설정한, 사용자 인증 및 전송 암호화 정보 모니터링 클러스터에 속한 노드의 모니터링 정보
- 세부 정보
- 샤드/노드
- 백업
- 네트워크/보안
- 접근 제어
- 모니터링
| 항목 | 설명 |
|---|---|
| 이름 | 클러스터 이름 |
| ID | 클러스터 ID |
| 설명 | 클러스터의 설명 |
| 운영 상태 | 클러스터의 운영 상태 - 자세한 설명은 주요 개념 > 클러스터 참고 |
| 생성자 | 클러스터를 처음 생성한 사용자 |
| 생성 일시 | 클러스터를 생성한 일시 |
| 클러스터 모드 | 클러스터 모드 사용 여부, 사용/미사용 |
| 노드 유형 | 클러스터의 노드 유형 |
| 샤드 | 클러스터 모드 사용일 때 노출, 샤드 개수 |
| 노드 | 노드 개수 및 자동 장애 조치 활성/사용 여부 |
| 엔진 버전 | 클러스터의 엔진 버전 |
| 라이선스 | 클러스터의 라이선스 버전 |
| 파라미터 그룹 | 적용된 파라미터 그룹과 파라미터 반영 상태 - 자세한 설명은 파라미터 반영 상태 참고 |
| 엔드 포인트 | 클러스터 모드 사용 시 읽기/쓰기가 가능한 엔드포인트 |
| Primary 엔드포인트 | 클러스터 모드 미사용 시 읽기/쓰기가 가능한 엔드포인트 |
| Read 엔드포인트 | 클러스터 모드 미사용 시 읽기 전용 엔드포인트 |
| 포트 | 클러스터 생성 시 사용자가 지정한 포트 - 기본값: 6379 |
주요 내용은 샤드 및 노드 관리를 참고
백업 탭에서 클러스터의 백업을 확인하고 수동 백업 생성, 복원, 복사, 내보내기, 삭제 작업을 수행할 수 있습니다.
- 백업
| 항목 | 설명 |
|---|---|
| 백업 개수 | 클러스터에 생성된 모든 백업 개수 |
| 자동 백업 시작 시간 | 클러스터에 설정된 자동 백업 시작 시간 |
| 자동 백업 보존 기간 | 클러스터에 설정된 자동 백업 보존 기간 - 보존 기간 변경 후 새로 생성되는 자동 백업부터 변경된 보존 기간 적용 |
- 백업 파일
| 항목 | 설명 |
|---|---|
| 이름 | 백업 이름 |
| 상태 | 백업 상태 - 자세한 설명은 백업 참고 |
| 유형 | 백업 유형 - 자동 백업 또는 수동 백업 |
| 백업 시점 메모리 | 백업 시점시의 메모리 크기 |
| 백업 파일 크기 | 백업 파일의 크기 |
| 캐시 크기 | 백업의 캐시 크기 |
| 백업 시작 시간 | 백업을 시작한 시간 |
| 보존 만료일시 | 자동 백업에만 표시되는 값으로, 백업 보존 기간에 따라 백업이 만료되어 삭제되는 시간 |
| 자동 백업 보존 기간 | 클러스터에 설정된 자동 백업 보존 기간 - 보존 기간 변경 후 새로 생성되는 자동 백업부터 변경된 보존 기간 적용 |
| [⋮] 버튼 | 복원, 복사, 내보내기, 삭제 - 자세한 설명은 백업 관리 참고 |
- 연결 정보
| 연결 정보 | 설명 |
|---|---|
| VPC | 클러스터가 생성된 VPC 이름 |
| 가용 영역 | 사용하고 있는 가용 영역의 형태 - Multi: 2개 이상의 가용 영역으로 구성 - Single: 1개의 가용 영역으로 구성 |
| 포트 | 클러스터 생성 시 사용자가 지정한 포트 - 기본값: 6379 |
| 엔드 포인트 | 클러스터 모드 사용 시 읽기/쓰기가 가능한 엔드포인트 |
| Primary 엔드포인트 | 클러스터 모드 미사용 시 읽기/쓰기가 가능한 엔드포인트 |
| Read 엔드포인트 | 클러스터 모드 미사용 시 읽기 전용 엔드포인트 |
-
토폴로지
클러스터의 전체 아키텍처를 토폴로지 형태로 확인 가능합니다. -
보안 그룹
연결된 보안 그룹과 설정된 세부 규칙을 확인할 수 있습니다.
클러스터에 접근하려면 보안 그룹에 클러스터 접속 포트가 허용되어 있어야 합니다.
사용자가 포트를 지정한 경우:2000 ~ 50000범위에서 지정한 포트
기본 포트를 사용하는 경우:TCP 6379
목록 내 연결된 보안 그룹 이름을 클릭하면 정책 관리를 위한 VPC > 보안 그룹 상세 페이지로 이동할 수 있습니다.
| 항목 | 설명 |
|---|---|
| 사용자 인증 | 사용자 인증 사용 시, DB 사용자 이름 확인 가능 |
| 전송 암호화 | 전송 암호화 사용 시, 만료기간과 CA 파일 다운로드 가능 |
주요 내용은 클러스터 모니터링을 참고
클러스터 모니터링
모니터링 탭에서 클러스터에 속한 노드의 상태와 리소스 사용량을 확인할 수 있습니다.
-
카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
-
클러스터 메뉴에서 모니터링할 클러스터를 선택합니다.
-
모니터링 탭을 클릭한 후, 정보를 확인합니다.
구분 설명 모니터링 노드 모니터링할 노드 선택 가능, Primary 노드는 뱃지 표기 조회 기간 모니터링 그래프에 표시할 데이터 기간
- 1시간(기본값) / 3시간 / 12시간 / 1일 / 7일뷰 모드 모니터링 그래프 뷰 모드 설정
- 1단, 2단, 3단 제공자동 새로고침 주기 자동 새로고침 주기 설정
- 자동 새로고침 안 함(기본값) / 10초 / 30초 / 1분 / 5분수동 새로고침(아이콘) 클릭 시 모니터링 결과 새로고침 조회 항목 모니터링 조회 항목 선택
- 엔진 이름(Valkey/Redis OSS) / CPU / 메모리 / 네트워크
모니터링 제공 데이터
| 항목 | 모니터링 데이터 | 설명 |
|---|---|---|
| 엔진 이름(Valkey/Redis OSS) | 명령별 호출 (Count/s) | 시간에 따른 초당 명령별 호출 횟수 |
| 엔진 이름(Valkey/Redis OSS) | 커넥션 (Count) | 시간에 따른 Connections 개수 - 최대 커넥션: 최대 연결 가능한 클라이언트 개수 - 활성 커넥션s: 현재 연결된 클라이언트 개수 |
| 엔진 이름(Valkey/Redis OSS) | 캐시 적중률 (%) | 시간에 따른 캐시 적중률 |
| 엔진 이름(Valkey/Redis OSS) | 만료 및 제거된 키 (Count) | 시간에 따른 만료 및 제거된 키 개수 |
| CPU | 총 사용률 (%) | 시간에 따른 CPU 총 사용 비율 |
| CPU | CPU 크레딧 (Count) | 크레딧을 사용하는 노드에만 노출 |
| 메모리 | 총 사용률 (%) | 시간에 따른 메모리 총 사용 비율 |
| 메모리 | 유형별 사용량 (Bytes) | 시간에 따른 메모리 유형별 사용량 |
| Network | 인바운드 트래픽 (Bytes/s) | 시간에 따른 초당 네트워크 수신량 |
| Network | 아웃바운드 트래픽 (Bytes/s) | 시간에 따른 초당 네트워크 전송량 |
| Network | 수신 패킷 개수 (pps) | 시간에 따른 초당 네트워크 수신 패킷량 |
| Network | 전송 패킷 TX(PPS) | 시간에 따른 초당 네트워크 전송 패킷량 |
자동 장애 조치 설정
Valkey는 노드가 2개 이상일 경우, 자동으로 자동 장애 조치 기능이 활성화되며 Redis OSS는 클러스터 생성 시 자동 장애 조치 기능 사용 여부를 선택할 수 있고, 운영 중에도 해당 기능의 사용 여부를 변경할 수 있습니다. 해당 기능을 사용하면 노드 장애 시 자동으로 조치하여 서비스를 지속할 수 있으며, 별도의 서비스 중단 없이 사용 여부를 변경할 수 있습니다. 해당 섹션의 설명은 Redis OSS 엔진을 대상으로 합니다.
- 클러스터 모드를 사용하는 클러스터는 자동 장애 조치 기능을 기본으로 사용하며, 사용 여부를 변경할 수 없습니다.
- 클러스터 모드를 사용하지 않는 클러스터에서 자동 장애 조치을 사용하려면 클러스터가
Running상태이고, 1개 이상의 Replica 노드가 있어야 합니다.
- 카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
- Redis OSS > 클러스터 메뉴에서 자동 장애 조치을 설정할 클러스터의 [⋮] 버튼 > 자동 장애 조치 설정을 선택합니다.
- 팝업창에서 사용 여부를 설정하고, [저장] 버튼을 클릭합니다.
- 클러스터 상세 페이지에서 자동 장애 조치 사용 여부가 정상적으로 변경되었는지 확인합니다.
보안 그룹 수정
클러스터에 연결된 보안 그룹을 수정할 수 있습니다. 최소 1개 이상의 보안 그룹이 연결되어 있어야 합니다.
-
카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
-
클러스터 메뉴에서 보안 그룹을 수정할 클러스터의 [⋮] 버튼 > 보안 그룹 수정을 선택합니다.
-
보안 그룹 수정 팝업창에서 클러스터에 적용할 보안 그룹을 선택합니다.
구분 설명 선택한 클러스터 이름 보안 그룹을 수정할 클러스터 이름 보안 그룹 선택 적용할 보안 그룹 선택
- 선택한 보안 그룹은 칩 형태로 선택 박스 하단에 표시적용된 규칙 각 보안 그룹의 인바운드, 아웃바운드 규칙 확인 가능 -
[수정] 버튼을 클릭합니다.
인바운드, 아웃바운드 규칙은 VPC > 보안 그룹에서 관리할 수 있습니다.
파라미터 그룹 변경
클러스터에 연결된 파라미터 그룹을 변경할 수 있습니다.
변경 시, 클러스터의 엔진 버전과 클러스터 모드에 맞는 파라미터 그룹을 선택해야 하며, 설정된 파라미터 값이 변경되면 운영 중인 MemStore 서비스에 영향을 미칠 수 있습니다. 따라서 변경 전 적용될 파라미터 값을 확인하는 것을 권장합니다.
파라미터 그룹 변경이 이미 진행 중일 경우, 추가 변경 요청이 실패할 수 있습니다.
자세한 내용은 파라미터 그룹 생성 및 관리 문서를 참고해 주세요.
- 카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
- 클러스터 메뉴에서 파라미터 그룹을 변경할 클러스터의 [⋮] 버튼 > 파라미터 그룹 변경을 선택합니다.
- 팝업창에서 변경할 파라미터 그룹을 선택하고, [저장] 버튼을 클릭합니다.
노드 유형 변경
MemStore 클러스터의 노드 유형을 변경할 수 있습니다. 변경 시 클러스터에 포함된 모든 노드의 유형이 변경됩니다.
- 노드가 1개인 경우, 유형 변경 시 노드가 재시작되며 데이터가 유실됩니다. 노드가 2개 이상인 경우에만 해당 기능을 사용하길 권장합니다.
- 유형 변경 시 Switchover가 발생하며 일시적인 순단이 발생할 수 있습니다.
- 변경 전 작업 부하와 메모리 사용량을 확인해 주세요. 부하가 높은 상태이거나 변경할 노드 유형의 메모리가 부족한 경우 데이터 손실, 성능 저하, 변경 요청 실패 등이 발생할 수 있습니다.
- 카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
- 클러스터 메뉴에서 노드 유형을 변경할 클러스터의 [⋮] 버튼 > 노드 유형 변경을 선택합니다.
- 변경할 노드 유형을 선택하고, [저장] 버튼을 클릭합니다.
클러스터 삭제
더 이상 사용하지 않는 MemStore 클러스터를 삭제할 수 있습니다.
삭제한 MemStore 클러스터의 리소스는 종료 후 완전히 반납되며, 복구할 수 없습니다.
- 카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
- 클러스터 메뉴에서 삭제할 클러스터의 [⋮] 버튼 > 클러스터 삭제를 선택합니다.
- 팝업창에서 영구 삭제를 입력합니다.
- 삭제하려는 클러스터에 남아 있는 자동 백업을 보존하려는 경우,
자동 백업을 보존합니다.체크 박스를 선택합니다. - [삭제] 버튼을 클릭합니다.
MemStore 사용자 계정
MemStore는 사용자 인증 옵션을 제공합니다. 사용자 인증을 사용하는 경우, 클러스터 생성 시 설정한 ID와 비밀번호로 인증 후 리소스에 접근할 수 있습니다. 사용자 인증을 사용하지 않는 경우, 암호 없는 default 계정으로 접근할 수 있습니다.
명령어 제한
서비스의 안정적인 운영과 관리를 위해 다음 Valkey, Redis OSS 명령어는 사용이 제한됩니다. 사용을 시도할 경우 NOPERM 에러를 반환합니다.
노드에 저장된 키가 많은 경우 KEYS, FLUSHALL, FLUSHDB 명령어 사용 시 노드가 중단될 수 있습니다.
- 클러스터 모드 사용 시
- 클러스터 모드 미사용 시
| 명령어 | 설명 |
|---|---|
| ACL | ACL 관련 명령어 |
| BGREWRITEAOF | AOF 파일 재작성 |
| BGSAVE | 백그라운드 저장 |
| CLIENT PAUSE | 클라이언트 일시 정지 |
| CLUSTER ADDSLOTS | 슬롯 추가 |
| CLUSTER BUMPEPOCH | 클러스터 에포크 증가 |
| CLUSTER DELSLOTS | 슬롯 제거 |
| CLUSTER FAILOVER | 클러스터 장애 조치 |
| CLUSTER FLUSHSLOTS | 슬롯 초기화 |
| CLUSTER FORGET | 노드 간 연결 해제 |
| CLUSTER MEET | 클러스터 노드 연결 |
| CLUSTER REPLICATE | 클러스터 노드 복제 |
| CLUSTER RESET | 클러스터 재설정 |
| CLUSTER SAVECONFIG | 클러스터 구성 저장 |
| CLUSTER SET-CONFIG-EPOCH | 클러스터 구성 에포크 설정 |
| CLUSTER SETSLOT | 슬롯 설정 변경 |
| CONFIG | Redis OSS 구성 설정 |
| DEBUG | 디버깅 명령어 |
| FAILOVER | 장애 조치 명령어 |
| MIGRATE | 데이터 마이그레이션 |
| MODULE | 모듈 관련 명령어 |
| PSYNC | 복제 상태 확인 |
| REPLCONF | 복제 설정 변경 |
| REPLICAOF | Replica 설정 |
| RESTORE-ASKING | 데이터 복원 요청 |
| SAVE | 데이터 저장 |
| SHUTDOWN | Redis 종료 |
| SLAVEOF | Replica 설정 |
| SORT | 정렬 명령어 |
| SYNC | 동기화 명령어 |
| 명령어 | 설명 |
|---|---|
| ACL | ACL 관련 명령어 |
| BGREWRITEAOF | AOF 파일 재작성 |
| BGSAVE | 백그라운드 저장 |
| CLIENT PAUSE | 클라이언트 일시 정지 |
| CLUSTER | 클러스터 관련 명령어 |
| CONFIG | Redis OSS 구성 설정 |
| DEBUG | 디버깅 명령어 |
| FAILOVER | 장애 조치 명령어 |
| MIGRATE | 데이터 마이그레이션 |
| MODULE | 모듈 관련 명령어 |
| PSYNC | 복제 상태 확인 |
| REPLCONF | 복제 설정 변경 |
| REPLICAOF | Replica 설정 |
| RESTORE-ASKING | 데이터 복원 요청 |
| SAVE | 데이터 저장 |
| SHUTDOWN | Redis 종료 |
| SLAVEOF | Replica 설정 |
| SORT | 정렬 명령어 |
| SYNC | 동기화 명령어 |