클러스터 관리
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 메뉴로 이동합니다.
-
클러스터 메뉴에서 연결할 클러스터를 선택합니다.
-
세부 정보 탭에서 엔드포인트와 포트를 확인합니다. 해당 정보는 Redis 명령어 실행 시 필요한 정보로, 클립보드 등에 복사하여 준비해 주세요.
-
생성한 가상 머신 인스턴스에서 클러스터 접속 명령을 실행합니다.
MemStore 클러스터 접속redis-cli -h {ENDPOINT} -p {PORT}항목 설명 {ENDPOINT}세부 정보 탭에서 확인한 엔드포인트 {PORT}접속 포트
- 기본값:6379
- 클러스터 생성 시 사용자가 지정한 포트
전송 암호화(TLS) 또는 사용자 인증을 사용하는 클러스터는 클러스터 설정에 맞는 Redis Client 옵션을 추가해야 합니다. 전송 암호화 사용 시 필요한 CA 파일은 클러스터 세부 정보 탭에서 다운로드할 수 있습니다.
클러스터 목록 조회
현재 프로젝트에 생성된 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) | 시간에 따른 커넥션 개수 - 최대 커넥션: 최대 연결 가능한 클라이언트 개수 - 활성 커넥션: 현재 연결된 클라이언트 개수 |
| 엔진 이름(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 엔진을 대상으로 합니다.
MemStore 클러스터의 자동 장애 조치 기능 사용 여부를 설정할 수 있습니다. 자동 장애 조치을 사용하면 노드 장애 시 자동으로 조치하여 서비스를 지속할 수 있습니다.
- 클러스터 모드를 사용하는 클러스터는 자동 장애 조치 기능을 기본으로 사용하며, 사용 여부를 변경할 수 없습니다.
- 클러스터 모드를 사용하지 않는 클러스터에서 자동 장애 조치을 사용하려면 클러스터가
Running상태이고, 1개 이상의 Replica 노드가 있어야 합니다.
- 카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
- Redis OSS > 클러스터 메뉴에서 자동 장애 조치을 설정할 클러스터의 [⋮] 버튼 > 자동 장애 조치 설정을 선택합니다.
- 팝업창에서 사용 여부를 설정하고, [저장] 버튼을 클릭합니다.
- 클러스터 상세 페이지에서 자동 장애 조치 사용 여부가 정상적으로 변경되었는지 확인합니다.
보안 그룹 조회
보안 탭에서 클러스터에 적용된 보안 그룹과 세부 정책을 조회할 수 있습니다.
클러스터에 접근하려면 보안 그룹에 클러스터 접속 포트가 허용되어 있어야 합니다.
- 사용자가 포트를 지정한 경우:
2000 ~ 50000범위에서 지정한 포트 - 기본 포트를 사용하는 경우:
TCP 6379
목록 내 연결된 보안 그룹 이름을 클릭하면 정책 관리를 위한 VPC > 보안 그룹 상세 페이지로 이동할 수 있습니다.
보안 그룹 수정
클러스터에 연결된 보안 그룹을 수정할 수 있습니다. 최소 1개 이상의 보안 그룹이 연결되어 있어야 합니다.
-
카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
-
클러스터 메뉴에서 보안 그룹을 수정할 클러스터의 [⋮] 버튼 > 보안 그룹 수정을 선택합니다.
-
보안 그룹 수정 팝업창에서 클러스터에 적용할 보안 그룹을 선택합니다.
구분 설명 선택한 클러스터 이름 보안 그룹을 수정할 클러스터 이름 보안 그룹 선택 적용할 보안 그룹 선택
- 선택한 보안 그룹은 칩 형태로 선택 박스 하단에 표시적용된 규칙 각 보안 그룹의 인바운드, 아웃바운드 규칙 확인 가능 -
[수정] 버튼을 클릭합니다.
인바운드, 아웃바운드 규칙은 VPC > 보안 그룹에서 관리할 수 있습니다.
파라미터 그룹 변경
클러스터에 연결된 파라미터 그룹을 변경할 수 있습니다.
변경 시, 클러스터의 엔진 버전과 클러스터 모드에 맞는 파라미터 그룹을 선택해야 하며, 설정된 파라미터 값이 변경되면 운영 중인 MemStore 서비스에 영향을 미칠 수 있습니다. 따라서 변경 전 적용될 파라미터 값을 확인하는 것을 권장합니다.
파라미터 그룹 변경이 이미 진행 중일 경우, 추가 변경 요청이 실패할 수 있습니다.
자세한 내용은 파라미터 그룹 생성 및 관리 문서를 참고해 주세요.
- 카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
- 클러스터 메뉴에서 파라미터 그룹을 변경할 클러스터의 [⋮] 버튼 > 파라미터 그룹 변경을 선택합니다.
- 팝업창에서 변경할 파라미터 그룹을 선택하고, [저장] 버튼을 클릭합니다.
노드 유형 변경
MemStore 클러스터의 노드 유형을 변경할 수 있습니다. 변경 시 클러스터에 포함된 모든 노드의 유형이 변경됩니다.
- 노드가 1개인 경우, 유형 변경 시 노드가 재시작되며 데이터가 유실됩니다. 노드가 2개 이상인 경우에만 해당 기능을 사용하길 권장합니다.
- 유형 변경 시 Switchover가 발생하며 일시적인 순단이 발생할 수 있습니다.
- 변경 전 작업 부하와 메모리 사용량을 확인해 주세요. 부하가 높은 상태이거나 변경할 노드 유형의 메모리가 부족한 경우 데이터 손실, 성능 저하, 변경 요청 실패 등이 발생할 수 있습니다.
- 카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
- 클러스터 메뉴에서 노드 유형을 변경할 클러스터의 [⋮] 버튼 > 노드 유형 변경을 선택합니다.
- 변경할 노드 유형을 선택하고, [변경] 버튼을 클릭합니다.
클러스터 삭제
더 이상 사용하지 않는 MemStore 클러스터를 삭제할 수 있습니다.
삭제한 MemStore 클러스터의 리소스는 종료 후 완전히 반납되며, 복구할 수 없습니다.
- 카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
- 클러스터 메뉴에서 삭제할 클러스터의 [⋮] 버튼 > Cluster 삭제를 선택합니다.
- 팝업창에서 영구 삭제를 입력합니다.
- 삭제하려는 클러스터에 남아 있는 자동 백업을 보존하려는 경우,
자동 백업을 보존합니다.체크 박스를 선택합니다. - [삭제] 버튼을 클릭합니다.
MemStore 사용자 계정
MemStore는 사용자 인증 옵션을 제공합니다. 사용자 인증을 사용하는 경우, 클러스터 생성 시 설정한 ID와 비밀번호로 인증 후 리소스에 접근할 수 있습니다. 사용자 인증을 사용하지 않는 경우, 암호 없는 default 계정으로 접근할 수 있습니다.
사용자 인증은 Redis OSS 엔진 버전 5 이하에서는 지원하지 않습니다.
명령어 제한
서비스의 안정적인 운영과 관리를 위해 다음 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 | 동기화 명령어 |