Redis

페이지 이동경로

Redis

카카오 i 클라우드(Kakao i Cloud)의 Redis는 서버의 운영 관리 부담을 덜어주고, 쉽게 사용할 수 있도록 도와주는 완전 관리형 Redis Datastore 서비스입니다. Redis에서는 운영 서버의 생성이나 Network 구성 등 Redis 인스턴스 Provisioning에 필요한 모든 과정을 자동으로 수행합니다.
사용자가 생성한 인스턴스는 VPC(Virtual Private Cloud)라는 사설 네트워크 서비스를 통해 자동으로 격리되어, 안전한 네트워크 접속 환경을 제공합니다. 또한 다수의 인스턴스 그룹을 구성해, Replication으로 Primary-Replica 구성을 제공합니다. 서비스 이용 중 Primary 인스턴스에 문제가 발생해도, 고가용성 기능을 통해 서비스를 지속할 수 있습니다.

주의
• 현재(2022년 9월) Redis 서비스는 Data 백업 기능이 제공되지 않아 장애 발생 시 데이터를 안전하게 보호할 수 없으므로 데이터의 영구저장 목적으로는 적합하지 않습니다.
• 백업 서비스는 추후 제공 예정이며, 백업 서비스가 출시되기 전까지는 데이터의 유지가 쉬운 개발 환경 및 캐시 용도로 사용할 것을 권장합니다.

주요 개념

Redis 서비스의 주요 개념은 다음과 같습니다.

주요 개념 설명
Cache Only 디스크를 사용하지 않고 모든 데이터를 메모리에 저장하는 캐시 서비스
인스턴스 그룹 인스턴스 그룹은 다수의 Redis 인스턴스로 구성되며, 각 인스턴스는 Primary 혹은 Replica의 역할을 가짐
- 필요에 따라 Replica 인스턴스 추가, 삭제, 승격 가능
인스턴스 인스턴스 그룹에 포함된 VM(Virtual Machine)으로 Primary 역할 또는 Replica 역할
- 인스턴스 타입: 인스턴스 생성 시 데이터의 크기 및 부하를 고려하여 적절한 인스턴스 타입을 선택하여 사용 가능
- 인스턴스 수명 주기와 상태값: 인스턴스 상태값에 따라 상황 파악 가능
- 인스턴스 추가: 선택한 Redis 인스턴스 그룹에 읽기 부하가 증가할 경우 Replica 인스턴스를 추가함(Scale-out)
인스턴스 삭제: 선택한 Redis 인스턴스 그룹에서 불필요한 인스턴스를 삭제함(Scale-in)
고가용성 인스턴스 장애 시 자동으로 조치하여 서비스를 지속할 수 있는 환경을 제공
- Primary 인스턴스 장애 시, 자동으로 Replica 인스턴스 중 가장 최신의 데이터를 보유한 Replica 인스턴스를 선택하여 Primary로 승격(Automatic Failover)하며 새로운 Replica 인스턴스를 생성하여 Replica 개수를 유지(Auto Healing)
- Replica 인스턴스 장애 시, 자동으로 새로운 인스턴스로 대체하여 Replica 개수를 유지
승격 고가용성 기능을 사용하는 경우: 사용자는 승격을 요청할 수 없고 서비스에서 필요하다고 판단할 때 자동으로 승격을 수행함
고가용성 기능을 사용하지 않는 경우: 수동으로 간편하게 Replica 인스턴스를 Primary 인스턴스로 승격 가능
읽기/쓰기 전용 엔드포인트 제공 인스턴스 그룹 생성 시, Redis 접속용으로 읽기/쓰기가 가능한 Primary 엔드포인트와 읽기 전용인 Read 엔드포인트 제공

Cache Only

Redis 서비스는 모든 데이터를 디스크에 저장하지 않고 메모리에 저장해 캐시 용도로만 사용할 수 있습니다.

인스턴스 그룹

인스턴스 그룹은 Redis 서비스에서 자동으로 인스턴스 그룹의 상태를 관리합니다. 사용자에 의한 인스턴스 그룹 생성 및 삭제 시 서비스가 일을 수행함과 동시에 인스턴스 그룹의 상태를 자동으로 변경합니다. 인스턴스 그룹은 다수의 Redis 인스턴스로 구성되며 각 인스턴스는 Primary와 Replica의 역할을 가집니다. 필요에 따라 Replica 인스턴스를 추가, 삭제, 승격할 수 있습니다.

인스턴스 그룹 수명 주기 및 상태값

Redis 인스턴스 그룹의 수명 주기와 상태값은 다음과 같습니다.

이미지 이미지 인스턴스 그룹 수명

상태 설명
Init 인스턴스 그룹을 생성한 직후의 상태로 생성 시작을 진행하는 상태
Provisioning 그룹에 포함된 모든 인스턴스들이 필요한 리소스 준비 중
Replicating 그룹에 포함된 인스턴스들의 역할을 구성하고 엔드포인트 생성 중
Running Redis 서비스가 정상적으로 구성 및 기동이 완료되어 접속 가능
ScalingIn 특정 Replica 인스턴스 삭제 진행 중
SwitchingOver 특정 Replica 인스턴스를 Primary 인스턴스로 승격 진행 중
ScalingOut 새로운 인스턴스를 생성하고, Replica 역할 부여 중
Recovering 고가용성 기능을 사용하는 인스턴스 그룹의 인스턴스 장애 발생 시, 자동으로 알맞은 조치를 취하고 있는 상태
Terminating 인스턴스 그룹의 삭제 처리 중
Terminated 인스턴스 그룹의 삭제 완료
Warning 특정 상태에서 일시적인 오류가 발생한 상태로 문제 해소 시 정상 상태로 복귀 가능
Failed 영구적인 오류 발생으로 인한 비정상 상태이며, 정상 상태로 복귀할 수 없으며 삭제만 가능

인스턴스 추가 및 삭제

인스턴스 그룹에 인스턴스를 추가하거나 삭제할 수 있습니다.
인스턴스 그룹에 읽기 부하가 증가할 경우, 읽기 전용 인스턴스(Replica)를 최대 4개까지 추가할 수 있습니다. 필요시 인스턴스를 삭제할 수도 있습니다. 단, Replica 인스턴스는 바로 삭제가 가능하나 Primary 인스턴스는 삭제가 불가합니다. Primary 인스턴스를 삭제하고자 하는 경우, 역할을 Replica로 변경한 뒤 삭제해야 합니다.

인스턴스

인스턴스는 인스턴스 그룹에 포함된 VM(Virtual Machine)입니다. 인스턴트 생성 및 삭제 시, 필요한 작업을 수행하며 상태를 자동으로 변경합니다. 인스턴트 그룹에 속한 각 인스턴스는 Primary 역할 또는 Replica 역할을 부여 받습니다.

역할 설명
Primary 사용자가 일반적으로 사용하는 읽기/쓰기 목적의 인스턴스로, 읽기/쓰기용인 Primary 엔드포인트 제공
Replica Primary의 부하를 줄이기 위한 읽기 전용의 인스턴스이며, 읽기 전용인 Read 엔드포인트 제공

인스턴스 타입

사용자는 인스턴스 생성 시 데이터의 크기 및 부하를 고려하여 타입을 선택할 수 있습니다. 현재 6개의 인스턴스 타입을 지원합니다. 추후 Redis 서비스를 위해 좀 더 다양하고 특화된 인스턴스 타입을 지원할 예정입니다.

Redis 인스턴스 타입 vCPU (개) Memory(GB)
A1-2-CO 2 4
A1-4-CO 4 8
A1-4-STD 4 16
A1-8-CO 8 16
A1-8-STD 8 32
A1-16-MO 16 128

인스턴스 수명 주기 및 상태값

Redis 인스턴스의 수명 주기와 상태값은 다음과 같습니다.

이미지 이미지 인스턴스 수명 주기 다이어그램

상태 설명
Init 인스턴스 그룹 생성 시 설정한 각 인스턴스들이 생성을 시작하는 상태
Provisioning Redis 서비스를 기동할 운영 서버 생성을 시작한 상태
- 해당 단계에서 수 분이 소요될 수 있음
Starting 운영 서버 생성 완료 후, Redis 서비스의 설치와 기동을 기다림
Running Redis 서비스가 정상적으로 기동되어 접속 가능 상태
Terminating 사용자가 인스턴스 삭제를 요청하여 인스턴스 삭제 중
Terminated 인스턴스가 삭제된 상태
- Terminated 상태가 되면 사용자는 해당 인스턴스 관련 정보를 더 이상 조회 불가
Warning 특정 상태에서 일시적인 오류가 발생한 상태
- 문제 해소 시 정상 상태로 복귀 가능
Failed 영구적인 오류 발생으로 인한 비정상 상태
- 정상 상태로 복귀할 수 없으며 삭제만 가능

고가용성

Redis 서비스는 사용자에 대한 편의성 제공과 안정적인 운영을 위해 고가용성 기능을 제공하고 있습니다. 고가용성 기능을 사용하면, 인스턴스 장애 시 자동으로 조치하여 서비스를 지속할 수 있는 환경을 제공합니다.

사용자는 인스턴스 그룹 생성 시 고가용성 기능 사용여부를 선택할 수 있고, 운영 중에도 해당 기능의 사용여부를 변경할 수 있습니다. Redis 인스턴스 그룹의 상세정보 탭에서 인스턴스 그룹의 고가용성 사용여부를 확인할 수 있습니다. 고가용성 기능을 사용하는 경우에도 사용자는 인스턴스를 추가 또는 삭제할 수 있으며, 추가된 인스턴스는 고가용성 범위에 자동으로 포함됩니다.

인스턴스 장애

인스턴스의 역할에 따라 인스턴스 장애를 해결합니다.

구분 설명
Primary 인스턴스 장애 Primary 인스턴스 장애 시 자동으로 가장 최신의 데이터를 보유한 Replica 인스턴스를 선택하여 Primary로 승격(Automatic Failover)하며 새로운 Replica 인스턴스를 생성하여 Replica 개수를 유지함(Auto Healing)
Replica 인스턴스 장애 Replica 인스턴스 장애 시, 자동으로 새로운 인스턴스로 대체하여 Replica 개수를 유지함

승격

고가용성 기능을 사용하는 경우에는 사용자는 승격 요청을 할 수 없고, 인스턴스 장애 상황에 따라 서비스에서 필요하다고 판단할 때 자동으로 승격을 수행합니다. 고가용성 기능을 사용하지 않는 경우에는 승격 기능을 수동으로 제공하고 있습니다. Primary 인스턴스에 장애가 발생할 경우, 사용자는 승격 기능을 통해 Replica 인스턴스를 Primary 인스턴스로 승격할 수 있습니다.

읽기/쓰기 전용 엔드포인트 제공

인스턴스 그룹 생성 시 Application 및 CLI 등을 이용한 Redis 접속용으로 Primary 인스턴스는 읽기/쓰기가 가능한 Primary 엔드포인트, 다수의 Replica 인스턴스는 읽기 전용인 Read 엔드포인트를 제공합니다.
해당 주소는 사용자가 선택한 사설 네트워크(서브넷)에서 접속 가능하며, 접근 권한 및 보안 설정까지 자동으로 처리되어 안전합니다.

사용 가이드

안내
카카오 i 클라우드의 Redis 서비스에 대한 자세한 가이드는 Redis > How-to Guides를 참고하시기 바랍니다.

링크 내용
인스턴스 그룹 만들기 신규 Redis 인스턴스 그룹을 생성하는 방법을 설명합니다.
인스턴스 그룹 관리하기 특정 Redis 인스턴스 그룹에 대한 관리 방법을 설명합니다.