클러스터 관리
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 메뉴로 이동합니다.
-
클러스터 메뉴에서 연결할 클러스터를 선택합니다.
-
세부 정보 탭에서 클러스터 모드에 맞는 엔드포인트와 포트를 확인합니다.
- 클러스터 모드 미사용: 읽기/쓰기는 Primary 엔드포인트, 읽기 전용 연결은 Read 엔드포인트 사용
- 클러스터 모드 사용: Read 엔드포인트를 제공하지 않으며, 샤드/노드 목록 탭에서 각 노드의 엔드포인트 확인
-
생성한 가상 머신 인스턴스에서 클러스터 모드에 맞는 Redis 접속 명령을 실행합니다.
클러스터 모드 미사용 시redis-cli -h {ENDPOINT} -p {PORT}클러스터 모드 사용 시redis-cli -c -h {NODE_ENDPOINT} -p {PORT}항목 설명 {ENDPOINT}클러스터 모드 미사용 시 세부 정보 탭에서 확인한 Primary 또는 Read 엔드포인트 {NODE_ENDPOINT}클러스터 모드 사용 시 샤드/노드 목록 탭에서 확인한 노드 엔드포인트 {PORT}Redis 접속 포트
- 기본값:6379
- 클러스터 생성 시 사용자가 지정한 포트
전송 암호화(TLS) 또는 사용자 인증을 사용하는 클러스터는 접속 명령에 다음 옵션을 추가합니다.
- 사용자 인증 사용:
--user {ID} --pass {PASSWORD} - 전송 암호화 사용:
--tls --cacert {CA_FILE_PATH}
전송 암호화에 필요한 ca.crt 파일은 클러스터 세부 정보 탭에서 다운로드할 수 있습니다.
클러스터 관리
MemStore 서비스에서 가동 중인 클러스터를 관리하는 방법은 다음과 같습니다.
클러스터 목록 조회
현재 프로젝트에 생성된 MemStore 클러스터 목록을 조회할 수 있습니다.
-
카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
-
클러스터 메뉴에서 클러스터 목록을 확인합니다.
항목 설명 이름 클러스터 생성 시 입력한 이름
- 클러스터 이름을 클릭하여 상세 정보 확인 가능상태 현재 클러스터의 상태
- 자세한 설명은 클러스터 수명 주기 및 상태값 참고엔진 버전 노드에서 기동 중인 Redis OSS 엔진 버전 노드 유형 클러스터 생성 시 선택한 노드 유형
- 마우스 오버 시 vCPU, Memory 정보 확인 가능
- 자세한 설명은 노드 유형 참고Cluster 모드 클러스터 모드 사용 여부 고가용성 노드 장애에 대한 자동 장애 조치 사용 여부 자동 백업 보존 기간 자동 백업 보존 기간
- 보존 기간 변경 후 새로 생성되는 자동 백업부터 변경된 보존 기간 적용
- 마우스 오버 시 자동 백업 시작 시간 확인 가능샤드 수 클러스터 내 샤드 수
- 클러스터 모드 미사용 시 하이픈(-)으로 표시노드 수 클러스터 내 생성된 노드 수 가동 시간 클러스터 생성이 시작된 시간부터 현재까지의 가동 시간
- 마우스 오버 시 클러스터 생성일 확인 가능
클러스터 상세 조회
MemStore 클러스터의 상세 정보를 확인할 수 있습니다.
-
카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
-
클러스터 메뉴에서 상세 정보를 확인할 클러스터를 선택합니다.
-
각 탭에서 클러스터 정보를 확인합니다.
탭 구분 설명 세부 정보 클러스터 운영 상태, 엔드포인트, 네트워크, 백업, Redis 호환 설정 정보 샤드/노드 목록 클러스터에 구성된 샤드와 노드 목록 및 상태
- 자세한 설명은 샤드 및 노드 관리 참고백업 클러스터에 생성된 백업 정보와 백업 작업 메뉴
- 자세한 설명은 백업 관리 참고보안 클러스터에 연결된 보안 그룹 정보 모니터링 클러스터에 속한 노드의 모니터링 정보
세부 정보 탭
세부 정보 탭에서 확인할 수 있는 주요 정보는 다음과 같습니다.
| 구분 | 항목 | 설명 |
|---|---|---|
| 상단 정보 | 운영 상태 | 현재 클러스터의 운영 상태 |
| 클러스터 모드 | 클러스터 모드 사용 여부 | |
| 고가용성 | 노드 장애에 대한 자동 장애 조치 사용 여부 | |
| Primary 엔드포인트 | 읽기/쓰기가 가능한 엔드포인트 | |
| Read 엔드포인트 | 읽기 전용 엔드포인트 - 클러스터 모드 사용 시 Read 엔드포인트는 제공하지 않음 | |
| 세부 정보 - 클러스터 | 클러스터 이름 | 클러스터 생성 시 입력한 이름 |
| 생성자 | 클러스터를 처음 생성 요청한 사용자 | |
| 클러스터 모드 | 클러스터 모드 사용 여부 | |
| 고가용성 | 노드 장애에 대한 자동 장애 조치 사용 여부 | |
| 노드 유형 | 클러스터 생성 시 선택한 노드 유형 | |
| 노드당 vCPU | 클러스터 생성 시 선택한 노드 유형에 할당된 Virtual CPU 개수 | |
| 노드당 메모리 | 클러스터 생성 시 선택한 노드 유형에 할당된 메모리 크기 | |
| 샤드 수 | 클러스터 내 구성된 샤드 수 | |
| 노드 수 | 클러스터 내 생성된 노드 수 - 샤드/노드 목록 탭에서 샤드와 노드의 목록 및 상태 확인 가능 | |
| 생성일시 | 클러스터 생성을 요청한 시간 | |
| 클러스터 ID | 클러스터의 Object ID | |
| 네트워크 | VPC | 클러스터 생성 시 선택한 사용자 VPC |
| 가용 영역 | 클러스터의 AZ 배포 형태 - Multi: 2개 이상의 AZ로 구성 - Single: 1개의 AZ로 구성 | |
| Primary 엔드포인트 | 읽기/쓰기가 가능한 엔드포인트 | |
| Read 엔드포인트 | 읽기 전용 엔드포인트 - 클러스터 모드 사용 시 Read 엔드포인트는 제공하지 않음 | |
| 포트 | 노드에서 기동된 접속 포트 - 기본값: 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 메뉴로 이동합니다.
- 클러스터 메뉴에서 삭제할 클러스터의 [⋮] 버튼 > 클러스터 삭제를 선택합니다.
- 팝업창에서 삭제할 클러스터의 이름을 입력합니다.
- 삭제하려는 클러스터에 남아 있는 자동 백업을 보존하려는 경우,
자동 백업을 보존합니다.체크 박스를 선택합니다. - [삭제] 버튼을 클릭합니다.
MemStore 사용자 계정
MemStore는 사용자 인증 옵션을 제공합니다. 사용자 인증을 사용하는 경우, 클러스터 생성 시 설정한 ID와 비밀번호로 인증 후 리소스에 접근할 수 있습니다. 사용자 인증을 사용하지 않는 경우, 암호 없는 default 계정으로 접근할 수 있습니다.
명령어 제한
서비스의 안정적인 운영과 관리를 위해 다음 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 | 동기화 명령어 |