본문으로 건너뛰기

주요 개념

Redis는 관리형 캐시 데이터베이스 서비스로, 별도의 설치 과정없이 Redis를 간편하게 활용할 수 있습니다. Redis 서비스의 주요 개념은 다음과 같습니다.

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

Cache Only

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

클러스터

클러스터는 하나 이상의 Redis 노드 모음으로서, Redis 서비스에서 자동으로 관리되는 구성단위입니다. 클러스터는 다수의 샤드 내 여러 Redis 노드로 구성되며 각 노드는 Primary와 Replica의 역할을 가집니다. 필요에 따라 샤드 또는 Replica 노드 추가, 삭제할 수 있습니다.

클러스터 수명 주기 및 상태값

Redis 클러스터의 수명 주기와 상태값은 다음과 같습니다.

안내

클러스터 모드를 사용할 경우, 샤드의 상태와 각 노드의 상태는 클러스터의 상태와 의존성을 가지고 있어 동일한 상태를 가집니다.

이미지 클러스터 모드를 사용할 경우의 클러스터/ 샤드/ 노드의 수명 주기 다이어그램

상태설명
Init클러스터 생성 초기 상태로 생성 시작 전의 상태
Creating자원 생성 중
Running동작 중
Modifying샤드 추가/삭제, 노드 추가/삭제 등 클러스터의 형상 변경 중
Deleting자원 삭제 중

샤드

샤드는 클러스터 모드를 사용하는 노드의 그룹으로, 클러스터의 데이터를 각각의 샤드에 분할하여 할당합니다.
최소 1개~ 최대 12개의 샤드로 클러스터를 구성할 수 있으며, 클러스터 모드를 사용할 때의 각 샤드는 최소 2개~ 최대 5개의 노드로 구성할 수 있습니다.

노드

노드는 클러스터에 포함된 VM(Virtual Machine)입니다. 노드 생성 및 삭제 시, 필요한 작업을 수행하며 상태를 자동으로 변경합니다. 클러스터에 속한 각 노드는 Primary 역할 또는 Replica 역할을 부여받습니다. 클러스터 모드를 사용하지 않는 경우, 최대 6개의 노드를 구성할 수 있습니다.

역할설명
Primary사용자가 일반적으로 사용하는 읽기/쓰기 목적의 노드
ReplicaPrimary의 부하를 줄이기 위한 읽기 전용의 노드

노드 타입

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

Redis 노드 타입vCPU (개)Memory(GB)
m2a.large28
m2a.xlarge416
m2a.2xlarge832
m2a.4xlarge1664
m2a.8xlarge32128
m2a.12xlarge48192
m2a.16xlarge64256
m2a.24xlarge   96    384
r2a.large216
r2a.xlarge432
r2a.2xlarge864
r2a.4xlarge16128
r2a.8xlarge32256
r2a.12xlarge48384
r2a.16xlarge64512
r2a.24xlarge96768
t1i.small22
t1i.medium24
t1i.large28
t1i.xlarge416
t1i.2laxrge832
안내

t1i 인스턴스 유형은 최초 생성 후 Running 상태로의 전환에 수분 ~ 수십 분의 시간이 소요될 수 있습니다.
또한 CPU 크레딧 잔여량이 부족할 경우 CPU 부하가 있는 작업이 정상 동작하지 않을 수 있으므로 주의가 필요합니다.

노드 수명 주기 및 상태값

Redis 클러스터의 수명 주기와 상태값은 다음과 같습니다.

  • 클러스터 모드를 사용할 경우

  • 클러스터 모드를 사용하지 않을 경우

    이미지 노드 수명주기 다이어그램

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

고가용성

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

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

노드 장애

노드의 역할에 따라 아래와 같은 방식으로 노드 장애를 해결합니다.

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

승격

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

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

클러스터 생성 시 Redis client가 접속할 수 있는 읽기 전용인 Read 엔드포인트를 제공합니다.
해당 주소는 사용자가 선택한 사설 네트워크(Subnet)에서 접속 가능하며, 접근 권한 및 보안 설정까지 자동으로 처리되어 안전합니다.

안내

클러스터 모드를 사용할 경우에는 Read 엔드포인트를 제공하지 않으며, 각 노드의 엔드포인트를 통해 접속할 수 있습니다.

백업

생성된 클러스터 정보를 백업하여 복원에 사용할 수 있습니다.
현재 백업은 클러스터 모드 사용 안 함에만 우선 제공하고 있습니다.

백업 상태값

구분설명
Available백업이 완료되어 복원, 복사, 내보내기를 할 수 있는 상태
Pending백업 요청은 받아들여졌으나 시작하지 않은 상태
Creating백업을 수행 중이거나 원본 백업으로부터 새 백업이 복사되고 있는 상태
Restoringredis provisioning에 사용되고 있는 상태
Copying다른 백업을 만들기 위해 복사되고 있는 상태
Exporting사용자의 오브젝트 스토리지로 내보내기 되고 있는 상태
Error백업 중 오류가 발생한 상태
Deleting백업을 삭제 중인 상태