클러스터 관리
클러스터는 다수의 노드로 구성된 객체로 사용자가 조회, 모니터링, 삭제 등 관리 작업을 수행할 수 있습니다. 클러스터를 관리하는 방법은 다음과 같습니다.
시스템 가용 메모리의 사용률이 최대 50%가 넘지 않도록 주기적인 모니터링과 관리를 권장합니다.
카카오클라우드 MemStore 서비스는 현재 maxmemory에 대한 설정이 시스템 가용 메모리의 약 65%로 설정되어 있으며, 최대 메모리에 도달 시 allkeys-lru 정책에 의해 모든 키 중 가장 오랫동안 사용되지 않았던 키를 삭제하게 됩니다.
클러스터 목록 조회
사용자가 프로젝트 내에 생성한 클러스터 목록을 조회할 수 있습니다.
-
카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
-
클러스터 메뉴에서 현재 생성된 클러스터 목록을 확인합니다.
항목 설명 Cluster 이름 클러스터 생성 시 사용자가 부여한 이름
- 클러스터 이름을 클릭해 클러스터의 상세 정보 확인 가능상태 현재 클러스터의 상태
- 상세 상태값 정보는 클러스터 수명 주기 및 상태값 참고엔진 버전 노드에 기동된 Redis OSS 엔진의 버전 노드 유형 클러스터 생성 시 사용자가 선택한 노드 유형
- 노드 유형 값에 마우스 커서를 올리면 해당 유형의 vCPU, Memory 정보 확인 가능
- 노드 유형의 종류는 노드 유형 참고Cluster 모드 클러스터 모드의 사용 여부 고가용성 노드 장애에 대한 자동 장애 조치 사용 여부 자동 백업 보존 기간 클러스터에 현재 설정된 자동 백업 보존 기간
- 마우스 커서를 올리면 자동 백업 시작 시간 확인 가능샤드 수 클러스터 내 샤드의 수
- 클러스터 모드를 사용 안 함으로 선택했을 경우 샤드의 수는 하이픈(-
)으로 표시됩니다.노드 수 클러스터 내 생성된 노드 수 가동 시간 클러스터 생성이 시작된 시간부터 현재까지의 가동 시간
- 마우스 커서를 올리면 클러스터 생성일 확인 가능생성자 처음 클러스터 생성을 요청한 사용자
클러스터 정보 조회
프로젝트 내 생성한 클러스터의 정보를 확인할 수 있습니다.
-
카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
-
클러스터 메뉴에서 상세 정보를 확인할 클러스터를 선택합니다.
-
탭에서 정보를 확인합니다.
세부 정보 탭
항목 정보 설명 상단 정보 운영 상태 현재 클러스터의 운영 상태 Cluster 모드 클러스터 모드의 사용 여부 고가용성 노드 장애에 대한 자동 장애 조치 사용 여부 엔드포인트 - Primary 엔드포인트 읽기/쓰기가 가능한 엔드포인트 엔드포인트 - Read 엔드포인트 읽기 전용인 엔드포인트
- 클러스터 모드 사용 시 Read 엔드포인트는 제공하지 않음세부 정보- 클러스터 Cluster 이름 클러스터 생성 시 사용자가 부여한 이름 생성자 클러스터를 처음 생성 요청한 사용자 Cluster 모드 클러스터 모드의 사용 여부 고가용성 노드 장애에 대한 자동 장애 조치 사용 여부 노드 유형 클러스터 생성 시 사용자가 선택한 노드 유형 노드 당 vCPU 클러스터 생성 시 사용자가 선택한 노드 유형에 할당된 Virtual CPU의 개수 노드 당 Memory 클러스터 생성 시 사용자가 선택한 노드 유형에 할당된 Memory 크기 샤드 수 클러스터 내 구성된 샤드의 수 노드 수 클러스터 내 생성된 노드 수
- 샤드/노드 목록 탭에서 클러스터에 구성된 샤드 및 노드의 목록과 상태 확인 가능생성일시 클러스터 생성을 요청한 시간 클러스터 ID 클러스터의 Object ID 네트워크 VPC 클러스터 생성 시 사용자가 선택한 사용자 VPC Availability Zone 클러스터의 AZ 배포 형태
- Multi: 2개 이상의 AZ로 클러스터가 구성됨
- Single: 1개의 AZ로 클러스터가 구성됨Primary 엔드포인트 읽기/쓰기가 가능한 엔드포인트 Read 엔드포인트 읽기 전용인 엔드포인트
- 클러스터 모드 사용 시 Read 엔드포인트는 제공하지 않음포트 노드에 기동된 접속 포트, 기본값 6379
백업 백업 개수 생성된 모든 백업의 개수 백업 보존 기간 자동 백업 보존 기간, 최소 1일에서 35일까지 선택 가능 자동 백업 시작 시간 자동 백업 시작 시간, 선택한 시간부터 15분 사이에 백업 시작 Redis 호환 설정 엔진 버전 노드에 기동된 Redis 엔진의 버전 License Redis OSS 엔진의 라이선스 정보 사용자 인증 클러스터 생성 시, 사용자 인증 선택 여부 ID 사용자 인증 선택 시, 입력한 관리자 ID
- 사용자 인증 미사용 시, ID 미 표기파라미터 그룹 반영된 파라미터 그룹과 파라미터의 반영 상태, 자세한 설명은 파라미터 반영 상태 참고 샤드/노드 목록 탭
Security 탭
How-to Guides > 클러스터 관리 > 보안 그룹 조회 참고
모니터링 탭
클러스터 모니터링
모니터링 탭에서는 클러스터 내 속한 노드들의 상태를 세부적으로 확인하여 유연하고 효율적으로 노드를 관리하고, 관리에 필요한 리소스를 최소화할 수 있습니다.
-
카카오클라우드 콘솔 > 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 메뉴로 이동합니다.
- 클러스터 메뉴에서 고가용성을 설정할 클러스터의 [더 보기] 아이콘 > 고가용성 설정을 선택합니다.
- 고가용성 설정 팝업창에서 사용 여부를 설정하고, [저장] 버튼을 클릭합니다.
- 클러스터의 상세 페이지에서 고가용성 사용 여부가 정상적으로 변경되었는지 확인합니다.
클러스터 삭제
더 이상 사용하지 않는 클러스터를 삭제할 수 있습니다.
삭제한 클러스터의 리소스는 종료 후 완전히 반납되어 복구할 수 없으니 주의하시기 바랍니다.
- 카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
- 클러스터 메뉴에서 삭제할 인스턴스 그룹의 [더 보기] 아이콘 > Cluster 삭제를 선택합니다.
- Cluster 삭제 팝업창에서 삭제할 클러스터의 이름을 입력하고 [삭제] 버튼을 클릭합니다.
MemStore 사용자 계정
MemStore 서비스는 사용자를 위해 사용자 인증 옵션을 제공하고 있습니다. 사용자 인증을 사용하는 경우, 사용자가 설정한 ID, 비밀번호로 인증 후 리소스에 접근할 수 있습니다. 사용하지 않는 경우, 암호없는 default 계정으로 리소스에 접근할 수 있습니다.
사용자 인증은 Redis OSS 엔진 버전 5 이하는 지원하지 않습니다.
명령어 제한
원활한 서비스 운영 및 관리를 위해 다음 명령어는 사용이 제한됩니다. 사용을 시도할 경우, 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 | 슬레이브 설정 |
RESTORE-ASKING | 데이터 복원 요청 |
SAVE | 데이터 저장 |
SHUTDOWN | Redis 종료 |
SLAVEOF | 마스터 설정 |
SORT | 정렬 명령어 |
SYNC | 동기화 명령어 |
명령어 | 설명 |
---|---|
ACL | ACL 관련 명령어 |
BGREWRITEAOF | AOF 파일 재작성 |
BGSAVE | 백그라운드 저장 |
CLIENT PAUSE | 클라이언트 일시 정지 |
CLUSTER | 클러스터 관련 명령어 |
CONFIG | Redis OSS 구성 설정 |
DEBUG | 디버깅 명령어 |
FAILOVER | 장애 조치 명령어 |
MIGRATE | 데이터 마이그레이션 |
MODULE | 모듈 관련 명령어 |
PSYNC | 복제 상태 확인 |
REPLCONF | 복제 설정 변경 |
REPLICAOF | 슬레이브 설정 |
RESTORE-ASKING | 데이터 복원 요청 |
SAVE | 데이터 저장 |
SHUTDOWN | Redis 종료 |
SLAVEOF | 마스터 설정 |
SORT | 정렬 명령어 |
SYNC | 동기화 명령어 |
보안 그룹 조회
상세 정보의 Security 탭에서는 클러스터에 적용된 보안 그룹과 세부 정책을 조회할 수 있습니다.
클러스터에 접근하기 위해서는 보안 그룹에 6379 포트 또는 사용자가 입력한 포트 허용되어 있어야 합니다.
목록 내 연결된 보안 그룹 이름을 클릭해 정책 관리를 위한 VPC > 보안 그룹 상세 페이지로 이동할 수 있습니다.
현재 상세 정보의 Security 탭 내 보안 그룹 연결 정보 관리와 In/아웃바운드 규칙 관리는 추후 제공 예정입니다.
MemStore 클러스터 접근
MemStore 서비스에서 인스턴스에서 클러스터에 접근하는 방법은 다음과 같습니다.
클러스터 생성과 설정을 완료한 후, 클러스터 생성 시 함께 생성된 인스턴스들을 Redis Client를 사용하여 클러스터에 연결해야 합니다.
사전 작업
클러스터에 연결하기 위해서는 연결하려는 클러스터와 동일한 네트워크를 사용하는 가상 머신(Virtual Machine) 인스턴스(노드)와 클러스터의 엔드포인트가 접근할 수 있는 접속 환경을 준비해야 합니다.
이를 위해 가상 머신(Virtual Machine) 인스턴스의 보안 그룹 아웃바운드 규칙에 TCP 6379(클러스터 포트 번호 기본값) 포트를 허용해야 합니다.
클러스터 연결하기
인스턴스에서 클러스터에 접근할 수 있습니다.
-
Virtual Machine > 인스턴스 생성 및 연결을 참고하여 인스턴스에 접근해 Redis Client를 준비합니다. Redis 명령어를 인식하지 않을 때는 별도의 Redis Client를 설치해야 합니다.
-
카카오클라우드 콘솔에서 MemStore 메뉴를 선택합니다.
-
클러스터 메뉴에서 연결할 클러스터를 선택합니다.
-
세부 정보 탭에서 엔드포인트를 확인합니다. 해당 정보는 Redis 명령어 실행 시 필요한 정보로 클립보드 등에 복사하여 준비하시기를 바랍니다.
-
Redis Client를 통해 인스턴스에서 클러스터에 접근하기 위해, 생성한 인스턴스에서 Redis 연결 명령을 실행합니다.
Redis 인스턴스 연결 명령어redis-cli -h {ENDPOINT} -p {포트번호} {명령어}
항목 설명 {ENDPOINT}
세부 정보 탭에서 획득한 엔드포인트 정보 {포트번호}
Redis 연결을 위한 포트 번호, 기본값 6379 또는 사용자가 입력한 포트번호
인스턴스의 역할 및 유형에 대한 자세한 설명은 인스턴스를 참고하시기 바랍니다.
파라미터 그룹 변경
클러스터에 연결된 파라미터 그룹을 변경할 수 있습니다.
클러스터의 엔진 버전, 클러스터 모드에 맞는 파라미터 그룹을 선택할 수 있으며 파라미터 그룹 변경으로 설정된 파라미터의 값이 변경되는 경우, 운영 중인 MemStore 서비스에 영향을 미칠 수 있으므로 사전에 변경할 파라미터 그룹의 파라미터 값 확인을 권장합니다. 파라미터 그룹 변경이 이미 진행 중인 경우, 파라미터 그룹 변경 요청이 실패할 수 있습니다.
파라미터 그룹 생성 및 관리는 가이드 내용을 참고하시기 바랍니다.
- 카카오클라우드 콘솔 > Data Store > MemStore 메뉴로 이동합니다.
- 클러스터 메뉴에서 파라미터 그룹을 변경할 클러스터의 [더 보기] 아이콘 > 파라미터 그룹 변경을 선택합니다.
- 파라미터 그룹 변경 팝업창에서 변경할 파라미터 그룹을 선택하고, [확인] 버튼을 클릭합니다.