MemStore의 새로운 선택지 Valkey 엔진
실시간 응답이 중요한 서비스에서 인메모리 데이터 스토어는 핵심 구성 요소입니다. 사용자 세션, 캐시, 대기열처럼 빠르게 읽고 써야 하는 데이터가 늘어날수록 데이터베이스의 응답 성능은 곧 서비스 경험과 연결됩니다. 동시에 운영 환경에서는 성능만큼이나 안정적인 장애 대응, 보안 패치, 버전 수명 주기 관리도 중요해집니다.
카카오클라우드 MemStore는 기존 Redis OSS 계열에 더해 신규 엔진으로 Valkey 8.1을 지원합니다. 이번 포스트에서는 Valkey 엔진의 특징과 MemStore에서 Valkey 기반 클러스터를 구성할 때 확인해야 할 운영 포인트를 소개합니다.
Valkey 엔진 이해하기
MemStore는 완전 관리형 인메모리 데이터 스토어 서비스입니다. 사용자는 서버 생성, 네트워크 구성, 노드 상태 관리처럼 반복적이고 복잡한 운영 작업을 직접 처리하지 않고도 VPC 환경 안에서 빠른 응답이 필요한 워크로드를 구성할 수 있습니다. 캐시 데이터베이스를 직접 구축하고 관리하는 대신, 클러스터 생성부터 백업, 모니터링, 접근 제어까지 서비스에서 제공하는 기능을 활용할 수 있는 것이 MemStore의 핵심입니다.
Valkey는 Redis OSS 7.2 및 이전 오픈소스 Redis 버전을 기반으로 하는 오픈소스 인메모리 데이터 스토어 엔진입니다. MemStore에서는 Valkey를 Redis OSS 계열과 함께 관리형 인메모리 데이터 스토어 엔진으로 제공합니다.
특히 다음과 같은 사용자는 Valkey 엔진을 검토해 볼 수 있습니다.
- 새로 생성하는 캐시 또는 세션 저장소를 Valkey 기반으로 구성하고 싶은 경우
- Redis OSS 기반 사용 경험을 유지하면서 Valkey 엔진을 검토하고 싶은 경우
- 클러스터 모드, 고가용성, 백업, 모니터링을 관리형 서비스로 운영하고 싶은 경우
MemStore에서 제공하는 Valkey 8.1
MemStore는 현재 Valkey 8.1과 Redis OSS 7.2 이하 버전을 제공합니다. 클러스터를 생성할 때 엔진 버전을 선택하고, 선택한 엔진 버전에 맞는 파라미터 그룹과 클러스터 구성을 함께 설정합니다.
Valkey 엔진에서도 MemStore의 주요 관리형 기능을 사용할 수 있습니다. 클러스터는 사용자의 VPC와 서브넷 안에 배치되며, 보안 그룹으로 접근 가능한 IP 대역과 포트를 제어합니다. 클러스터 모드를 사용하면 데이터를 여러 샤드에 분산 저장할 수 있고, Primary/Replica 구성으로 장애 상황에 대비할 수 있습니다.
운영 기능도 함께 제공됩니다. 자동 백업과 수동 백업을 통해 복원에 필요한 데이터를 확보할 수 있고, Object Storage에 저장된 백업 파일로 클러스터를 복원할 수도 있습니다. TLS 1.2 기반 전송 암호화와 사용자 인증 옵션을 사용하면 접근 보안을 강화할 수 있으며, Valkey, CPU, Memory, 네트워크 등 주요 메트릭을 통해 클러스터 상태를 확인할 수 있습니다.
Valkey를 선택해도 클러스터 생성, 백업, 모니터링 등 기존 MemStore의 운영 기능은 그대로 사용할 수 있습니다.
Valkey와 Redis OSS 운영 차이
Valkey와 Redis OSS는 MemStore 안에서 같은 인메모리 데이터 스토어 서비스로 제공됩니다. 클러스터를 만들고 운영하는 기본 흐름은 유사하지만, 샤드 구성과 장애 조치 방식처럼 실제 운영 정책에 영향을 주는 차이도 있습니다.
먼저 두 엔진은 MemStore의 기본 운영 기능을 공통으로 사용합니다.
- 클러스터 모드 사용 여부에 따라 샤드 기반 분산 구조 또는 단일 샤드 구조로 구성
- Primary/Replica 구조를 기반으로 고가용성 구성
- VPC, 서브넷, 보안 그룹을 통한 네트워크 접근 제어
- 자동 백업, 수동 백업, 백업 기반 복원
- TLS 1.2 전송 암호화, 사용자 인증, 주요 메트릭 모니터링
반면 다음 항목은 엔진 선택에 따라 운영 방식이 분명하게 달라집니다.
클러스터 모드 구성
두 엔진 모두 클러스터 모드를 사용하면 데이터를 여러 샤드에 분산 저장할 수 있습니다. 차이는 시작 가능한 샤드 수입니다. Valkey는 최소 3개 샤드부터, Redis OSS는 최소 1개 샤드부터 구성할 수 있습니다. 최대 샤드 수는 두 엔진 모두 12개입니다.
샤드 수는 성능과 운영 복잡도에 모두 영향을 줍니다. 샤드를 늘리면 데이터를 분산 저장해 확장성을 확보할 수 있지만, 애플리케이션의 데이터 접근 패턴과 클러스터 운영 방식도 함께 고려해야 합니다. Valkey로 클러스터 모드를 사용할 때는 최소 샤드 수가 3개라는 점을 기준으로 초기 구성을 설계해 주세요.
클러스터 모드를 사용하지 않으면 두 엔진 모두 단일 샤드 구조로 클러스터를 생성합니다. 단일 샤드 구성은 구조가 단순해 시작하기 쉽지만, 고가용성이 필요한 환경에서는 노드 수와 자동 장애 조치 정책을 함께 확인해야 합니다. MemStore에서 제공하는 자동 백업 옵션은 노드가 2개 이상일 때부터 사용할 수 있기 때문에, 안정적인 서비스 운영을 위해 최소 노드 수는 2개 이상 사용하는 것을 검토해 주세요.
자동 장애 조치
클러스터 모드를 사용하지 않는 구성에서 자동 장애 조치 설정 방식은 두 엔진의 차이가 분명합니다. Valkey는 노드가 2개 이상이면 자동 장애 조치가 자동으로 활성화됩니다. Redis OSS는 노드가 2개 이상일 때 자동 장애 조치 사용 여부를 선택할 수 있고, 클러스터 생성 후에도 설정을 변경할 수 있습니다.
자동 장애 조치는 Primary 노드에 장애가 발생했을 때 Replica 노드를 Primary로 승격해 서비스 연속성을 확보하는 기능입니다. 고가용성 구성이 필요한 서비스라면 엔진 선택과 함께 노드 수, 서브넷 배치, 장애 조치 정책을 같이 검토해 주세요.
수동 승격
수동 승격도 운영 방식이 다릅니다. Valkey는 클러스터 모드 또는 자동 장애 조치 사용 여부와 관계없이 Replica 노드를 Primary로 승격할 수 있습니다. 반면 Redis OSS는 클러스터 모드 또는 자동 장애 조치 기능을 사용하는 경우 서비스가 필요하다고 판단할 때 자동 승격을 수행하며, 사용자가 직접 승격을 요청할 수 없습니다.
수동 승격은 운영자가 장애 대응 또는 점검 과정에서 노드 역할 전환을 직접 제어해야 할 때 중요합니다. 운영 절차상 특정 시점에 Replica를 Primary로 승격해야 하거나, 장애 조치 흐름을 운영자가 명시적으로 통제해야 하는 시나리오라면 이 차이를 함께 고려하는 것이 좋습니다.
도입 전 확인할 사항
Valkey 8.1은 신규 클러스터를 만들 때 선택할 수 있는 엔진입니다. Valkey 기반 클러스터를 새로 구성하려는 경우에는 현재 애플리케이션에서 사용하는 기능과 설정, 복원 조건을 먼저 확인해야 합니다.
백업을 활용해 클러스터를 복원할 때는 백업 시 사용한 엔진 버전과 같거나 상위 버전으로만 복원할 수 있습니다. 또한 소스 백업의 캐시 크기가 복원할 클러스터 노드 유형 메모리의 60% 이상인 경우 복원에 실패할 수 있으므로, 운영 중인 데이터 크기와 복원 대상 구성을 함께 점검해야 합니다.
신규 워크로드를 설계하거나 Valkey 도입을 검토할 때는 다음 항목을 먼저 확인해 주세요.
- 현재 애플리케이션에서 사용하는 기능과 설정이 선택하려는 엔진 버전에서 지원되는지
- 클러스터 모드 사용 여부와 샤드 수, 노드 수가 워크로드 규모에 맞는지
- 자동 장애 조치와 수동 승격 정책이 운영 절차와 맞는지
- 소스 백업의 캐시 크기가 복원 대상 노드 유형의 메모리 조건을 충족하는지
- EOL이 지난 엔진 버전을 계속 사용하고 있지는 않은지
시작하기
Valkey 8.1 기반 MemStore 클러스터는 카카오클라우드 콘솔의 Data Store > MemStore 메뉴에서 생성할 수 있습니다. 클러스터 생성 시 엔진 버전을 선택하고, 클러스터 모드, 샤드와 노드 구성, VPC, 보안 그룹, 자동 백업, TLS, 사용자 인증 옵션을 차례로 설정하면 됩니다.
처음 MemStore를 사용하는 경우에는 먼저 작은 규모의 신규 클러스터로 애플리케이션 연결 방식과 인증, 보안 그룹, 백업 정책을 확인해 보는 것을 권장합니다. 운영 환경에 적용할 때는 클러스터 모드 사용 여부, 샤드 수, 노드 수, 장애 조치 정책을 워크로드 특성에 맞게 조정해 주세요.
카카오클라우드는 빠른 응답이 필요한 애플리케이션의 안정적인 데이터 계층이 될 수 있도록 지원 엔진과 운영 기능을 지속적으로 확장해 나가겠습니다.
Valkey®는 LF Projects의 등록 상표입니다. Redis®는 Redis Ltd.의 등록 상표입니다.
