클러스터 관리
MemStore 클러스터를 연결하고 조회, 모니터링, 보안 그룹, 파라미터 그룹 등 클러스터 운영 설정을 관리하는 방법을 설명합니다.
MemStore 클러스터를 안정적으로 운영하려면 시스템 가용 메모리 사용률이 50%를 넘지 않도록 주기적으로 모니터링하는 것을 권장합니다.
MemStore는 현재 maxmemory가 시스템 가용 메모리의 약 65%로 설정되어 있으며, 최대 메모리에 도달하면 allkeys-lru 정책에 따라 모든 키 중 가장 오랫동안 사용되지 않은 키를 삭제합니다.
MemStore 클러스터 연결
MemStore 클러스터를 생성하고 설정을 완료한 후, Redis Client를 사용하여 클러스터에 연결할 수 있습니다.
접속 환경 준비
MemStore 클러스터에 접속하려면 다음 접속 환경을 준비해야 합니다.
- 접속하려는 MemStore 클러스터와 동일한 네트워크를 사용하는 가상 머신(Virtual Machine) 인스턴스
- MemStore 클러스터의 엔드포인트에 접근할 수 있는 보안 그룹 설정
연결된 보안 그룹에는 클러스터 생성 시 설정한 포트를 허용합니다.
- 사용자가 포트를 지정한 경우:
2000 ~ 50000범위에서 지정한 포트 - 기본 포트를 사용하는 경우:
TCP 6379
클러스터 접속
Redis Client를 사용해 MemStore 클러스터에 접속할 수 있습니다.
-
Virtual Machine > 인스턴스 생성 및 연결을 참고하여 가상 머신 인스턴스에 접근해 Redis Client를 준비합니다. Redis 명령어를 인식하지 않을 때는 별도의 Redis Client를 설치해야 합니다.
-
카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
-
클러스터 메뉴에서 연결할 클러스터를 선택합니다.
-
세부 정보 탭에서 엔드포인트와 포트를 확인합니다. 해당 정보는 Redis 명령어 실행 시 필요한 정보로, 클립보드 등에 복사하여 준비해 주세요.
-
생성한 가상 머신 인스턴스에서 Redis 접속 명령을 실행합니다.
MemStore 클러스터 접속redis-cli -h {ENDPOINT} -p {PORT}항목 설명 {ENDPOINT}세부 정보 탭에서 확인한 엔드포인트 {PORT}Redis 접속 포트
- 기본값:6379
- 클러스터 생성 시 사용자가 지정한 포트
전송 암호화(TLS) 또는 사용자 인증을 사용하는 클러스터는 클러스터 설정에 맞는 Redis Client 옵션을 추가해야 합니다. 전송 암호화 사용 시 필요한 CA 파일은 클러스터 세부 정보 탭에서 다운로드할 수 있습니다.
클러스터 관리
MemStore 서비스에서 가동 중인 클러스터를 관리하는 방법은 다음과 같습니다.
클러스터 목록 조회
현재 프로젝트에 생성된 MemStore 클러스터 목록을 조회할 수 있습니다.
-
카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
-
클러스터 메뉴에서 클러스터 목록을 확인합니다.
항목 설명 이름 클러스터 생성 시 입력한 이름
- 클러스터 이름을 클릭하여 상세 정보 확인 가능상태 현재 클러스터의 상태
- 자세한 설명은 클러스터 수명 주기 및 상태값 참고엔진 버전 노드에서 기동 중인 Redis OSS 엔진 버전 노드 유형 클러스터 생성 시 선택한 노드 유형
- 마우스 오버 시 vCPU, Memory 정보 확인 가능
- 자세한 설명은 노드 유형 참고Cluster 모드 클러스터 모드 사용 여부 고가용성 노드 장애에 대한 자동 장애 조치 사용 여부 자동 백업 보존 기간 자동 백업 보존 기간
- 마우스 오버 시 자동 백업 시작 시간 확인 가능샤드 수 클러스터 내 샤드 수
- 클러스터 모드 미사용 시 하이픈(-)으로 표시노드 수 클러스터 내 생성된 노드 수 가동 시간 클러스터 생성이 시작된 시간부터 현재까지의 가동 시간
- 마우스 오버 시 클러스터 생성일 확인 가능
클러스터 상세 조회
MemStore 클러스터의 상세 정보를 확인할 수 있습니다.
-
카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
-
클러스터 메뉴에서 상세 정보를 확인할 클러스터를 선택합니다.
-
각 탭에서 클러스터 정보를 확인합니다.
탭 구분 설명 세부 정보 클러스터 운영 상태, 엔드포인트, 네트워크, 백업, Redis 호환 설정 정보 샤드/노드 목록 클러스터에 구성된 샤드와 노드 목록 및 상태
- 자세한 설명은 샤드 및 노드 관리 참고백업 클러스터에 생성된 백업 정보와 백업 작업 메뉴
- 자세한 설명은 백업 관리 참고보안 클러스터에 연결된 보안 그룹 정보 모니터링 클러스터에 속한 노드의 모니터링 정보
세부 정보 탭
세부 정보 탭에서 확인할 수 있는 주요 정보는 다음과 같습니다.
| 구분 | 항목 | 설명 |
|---|---|---|
| 상단 정보 | 운영 상태 | 현재 클러스터의 운영 상태 |
| 클러스터 모드 | 클러스터 모드 사용 여부 | |
| 고가용성 | 노드 장애에 대한 자동 장애 조치 사용 여부 | |
| Primary 엔드포인트 | 읽기/쓰기가 가능한 엔드포인트 | |
| Read 엔드포인트 | 읽기 전용 엔드포인트 - 클러스터 모드 사용 시 Read 엔드포인트는 제공하지 않음 | |
| 세부 정보 - 클러스터 | 클러스터 이름 | 클러스터 생성 시 입력한 이름 |
| 생성자 | 클러스터를 처음 생성 요청한 사용자 | |
| 노드 유형 | 클러스터 생성 시 선택한 노드 유형 | |
| 샤드 수 | 클러스터 내 구성된 샤드 수 | |
| 노드 수 | 클러스터 내 생성된 노드 수 | |
| 생성일시 | 클러스터 생성을 요청한 시간 | |
| 클러스터 ID | 클러스터의 Object ID | |
| 네트워크 | VPC | 클러스터 생성 시 선택한 사용자 VPC |
| 가용 영역 | 클러스터의 AZ 배포 형태 - Multi: 2개 이상의 AZ로 구성 - Single: 1개의 AZ로 구성 | |
| 포트 | 노드에서 기동된 접속 포트 - 기본값: 6379 | |
| 백업 | 백업 개수 | 생성된 전체 백업 개수 |
| 자동 백업 보존 기간 | 클러스터에 설정된 자동 백업 보존 기간 | |
| 자동 백업 시작 시간 | 자동 백업 시작 시간 - 선택한 시간부터 15분 사이에 백업 시작 | |
| Redis 호환 설정 | 엔진 버전 | 노드에서 기동 중인 Redis OSS 엔진 버전 |
| 라이선스 | Redis OSS 엔진의 라이선스 정보 | |
| 사용자 인증 | 사용자 인증 사용 여부 | |
| ID | 사용자 인증 사용 시 입력한 관리자 ID | |
| 파라미터 그룹 | 적용된 파라미터 그룹과 파라미터 반영 상태 - 자세한 설명은 파라미터 반영 상태 참고 | |
| 전송 암호화(TLS) | 전송 암호화 사용 여부 - 전송 암호화 사용 시 CA 파일 다운로드 가능 |
백업 탭
백업 탭에서 클러스터의 백업을 확인하고 수동 백업 생성, 복원, 복사, 내보내기, 삭제 작업을 수행할 수 있습니다.
| 항목 | 설명 |
|---|---|
| 이름 | 백업 이름 |
| 상태 | 백업 상태 - 자세한 설명은 백업 상태값 참고 |
| 유형 | 백업 유형 - 자동 백업 또는 수동 백업 |
| 백업 파일 크기 | 백업 파일의 크기 |
| 캐시 크기 | 백업의 캐시 크기 |
| 자동 백업 보존 기간 | 클러스터에 설정된 자동 백업 보존 기간 |
| 보존 만료일시 | 자동 백업 보존 기간에 따라 백업이 만료되어 삭제되는 시간 |
| 백업 시작 시간 | 백업을 시작한 시간 |
| [⋮] 버튼 | 복원, 복사, 내보내기, 삭제 - 자세한 설명은 백업 관리 참고 |
클러스터 모니터링
모니터링 탭에서 클러스터에 속한 노드의 상태와 리소스 사용량을 확인할 수 있습니다.
-
카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
-
클러스터 메뉴에서 모니터링할 클러스터를 선택합니다.
-
모니터링 탭을 클릭한 후, 정보를 확인합니다.
모니터링 탭구분 설명 ① 모니터링 노드 모니터링할 노드 선택 ② 데이터 기간 모니터링 그래프에 표시할 데이터 기간
- 1시간(기본값) / 3시간 / 12시간 / 1일 / 7일③ 조회 항목 모니터링 조회 항목 선택
- MemStore / CPU / Memory / Network
- 복수 선택 가능④ 뷰 모드 모니터링 그래프 뷰 모드 설정
- 1단, 2단, 3단 제공⑤ 자동 새로고침 주기 자동 새로고침 주기 설정
- 자동 새로고침 안 함(기본값) / 10초 / 30초 / 1분 / 5분⑥ 수동 새로고침 클릭 시 모니터링 결과 새로고침
모니터링 제공 데이터
| 항목 | 모니터링 데이터 | 설명 |
|---|---|---|
| MemStore | 명령별 호출(횟수/sec) | 시간에 따른 초당 명령별 호출 횟수 |
| MemStore | Connections(개수) | 시간에 따른 Connections 개수 - 최대 Connections: 최대 연결 가능한 클라이언트 개수 - 활성 Connections: 현재 연결된 클라이언트 개수 |
| MemStore | Cache hit Ratio(%) | 시간에 따른 Redis 적중률 |
| MemStore | 만료 및 제거된 키(개수) | 시간에 따른 만료 및 제거된 키 개수 |
| CPU | 총 사용량(%) | 시간에 따른 CPU 총 사용량 |
| Memory | 총 사용량(%) | 시간에 따른 Memory 총 사용량 |
| Memory | 유형별 사용량(Bytes) | 시간에 따른 Memory 유형별 사용량 |
| Network | 인터페이스별 RX(Bytes/sec) | 시간에 따른 초당 네트워크 RX 사용량 |
| Network | 인터페이스별 TX(Bytes/sec) | 시간에 따른 초당 네트워크 TX 사용량 |
| Network | 인터페이스별 RX(PPS) | 시간에 따른 초당 네트워크 RX Packet 사용량 |
| Network | 인터페이스별 TX(PPS) | 시간에 따른 초당 네트워크 TX Packet 사용량 |
고가용성 설정
MemStore 클러스터의 고가용성 기능 사용 여부를 설정할 수 있습니다. 고가용성을 사용하면 노드 장애 시 자동으로 조치하여 서비스를 지속할 수 있습니다.
- 클러스터 모드를 사용하는 클러스터는 고가용성 기능을 기본으로 사용하며, 사용 여부를 변경할 수 없습니다.
- 클러스터 모드를 사용하지 않는 클러스터에서 고가용성을 사용하려면 클러스터가
Running상태이고, 1개 이상의 Replica 노드가 있어야 합니다.
- 카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
- 클러스터 메뉴에서 고가용성을 설정할 클러스터의 [⋮] 버튼 > 고가용성 설정을 선택합니다.
- 팝업창에서 사용 여부를 설정하고, [저장] 버튼을 클릭합니다.
- 클러스터 상세 페이지에서 고가용성 사용 여부가 정상적으로 변경되었는지 확인합니다.
보안 그룹 조회
보안 탭에서 클러스터에 적용된 보안 그룹과 세부 정책을 조회할 수 있습니다.
클러스터에 접근하려면 보안 그룹에 클러스터 접속 포트가 허용되어 있어야 합니다.
- 사용자가 포트를 지정한 경우:
2000 ~ 50000범위에서 지정한 포트 - 기본 포트를 사용하는 경우:
TCP 6379
목록 내 연결된 보안 그룹 이름을 클릭하면 정책 관리를 위한 VPC > 보안 그룹 상세 페이지로 이동할 수 있습니다.
보안 그룹 수정
클러스터에 연결된 보안 그룹을 수정할 수 있습니다. 최소 1개 이상의 보안 그룹이 연결되어 있어야 합니다.
-
카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
-
클러스터 메뉴에서 보안 그룹을 수정할 클러스터의 [⋮] 버튼 > 보안 그룹 수정을 선택합니다.
-
보안 그룹 수정 팝업창에서 클러스터에 적용할 보안 그룹을 선택합니다.
구분 설명 선택한 클러스터 이름 보안 그룹을 수정할 클러스터 이름 보안 그룹 선택 적용할 보안 그룹 선택
- 선택한 보안 그룹은 칩 형태로 선택 박스 하단에 표시적용된 규칙 각 보안 그룹의 인바운드, 아웃바운드 규칙 확인 가능 -
[적용] 버튼을 클릭합니다.
인바운드, 아웃바운드 규칙은 VPC > 보안 그룹에서 관리할 수 있습니다.
파라미터 그룹 변경
클러스터에 연결된 파라미터 그룹을 변경할 수 있습니다.
변경 시, 클러스터의 엔진 버전과 클러스터 모드에 맞는 파라미터 그룹을 선택해야 하며, 설정된 파라미터 값이 변경되면 운영 중인 MemStore 서비스에 영향을 미칠 수 있습니다. 따라서 변경 전 적용될 파라미터 값을 확인하는 것을 권장합니다.
파라미터 그룹 변경이 이미 진행 중일 경우, 추가 변경 요청이 실패할 수 있습니다.
자세한 내용은 파라미터 그룹 생성 및 관리 문서를 참고해 주세요.
- 카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
- 클러스터 메뉴에서 파라미터 그룹을 변경할 클러스터의 [⋮] 버튼 > 파라미터 그룹 변경을 선택합니다.
- 팝업창에서 변경할 파라미터 그룹을 선택하고, [확인] 버튼을 클릭합니다.
노드 유형 변경
MemStore 클러스터의 노드 유형을 변경할 수 있습니다. 변경 시 클러스터에 포함된 모든 노드의 유형이 변경됩니다.
- 유형 변경 시 Switchover가 발생하며 일시적인 순단이 발생할 수 있습니다.
- 변경 전 작업 부하와 메모리 사용량을 확인해 주세요. 부하가 높은 상태이거나 변경할 노드 유형의 메모리가 부족한 경우 데이터 손실, 성능 저하, 변경 요청 실패 등이 발생할 수 있습니다.
- 카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
- 클러스터 메뉴에서 노드 유형을 변경할 클러스터의 [⋮] 버튼 > 노드 유형 변경을 선택합니다.
- 변경할 노드 유형을 선택하고, [변경] 버튼을 클릭합니다.
클러스터 삭제
더 이상 사용하지 않는 MemStore 클러스터를 삭제할 수 있습니다.
삭제한 MemStore 클러스터의 리소스는 종료 후 완전히 반납되며, 복구할 수 없습니다.
- 카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
- 클러스터 메뉴에서 삭제할 클러스터의 [⋮] 버튼 > Cluster 삭제를 선택합니다.
- 팝업창에서 삭제할 클러스터의 이름을 입력합니다.
- 삭제하려는 클러스터에 남아 있는 자동 백업을 보존하려는 경우,
자동 백업을 보존합니다.체크 박스를 선택합니다. - [삭제] 버튼을 클릭합니다.
MemStore 사용자 계정
MemStore는 사용자 인증 옵션을 제공합니다. 사용자 인증을 사용하는 경우, 클러스터 생성 시 설정한 ID와 비밀번호로 인증 후 리소스에 접근할 수 있습니다. 사용자 인증을 사용하지 않는 경우, 암호 없는 default 계정으로 접근할 수 있습니다.
사용자 인증은 Redis OSS 엔진 버전 5 이하에서는 지원하지 않습니다.
명령어 제한
서비스의 안정적인 운영과 관리를 위해 다음 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 | 동기화 명령어 |