주요 개념
MemStore 서비스에서 클러스터, 샤드, 노드, 자동 장애 조치, 백업, 파라미터 그룹이 어떻게 구성되고 동작하는지 설명합니다. 리소스별 생성과 관리 방법은 각 How-to Guides에서 확인할 수 있습니다.
| 주요 개념 | 설명 |
|---|---|
| Cache Only | 디스크를 사용하지 않고 모든 데이터를 메모리에 저장하는 캐시 서비스 |
| 클러스터 | 샤드와 노드를 포함하는 MemStore의 관리 단위 |
| 샤드 | 클러스터 모드를 사용하는 클러스터에서 데이터를 분산 저장하는 단위 |
| 노드 | Primary 또는 Replica 역할을 가지는 MemStore 실행 단위 |
| 자동 장애 조치 | 노드 장애 시 자동 조치를 통해 서비스를 지속할 수 있도록 지원하는 기능 |
| 승격 | Replica 노드를 Primary 노드로 전환하는 기능 |
| 엔드포인트 | 클러스터 또는 노드에 접속하기 위해 제공되는 접근 주소 |
| 백업 | 클러스터 정보를 저장해 복원에 사용하는 데이터 사본 |
| 파라미터 그룹 | Redis OSS, Valkey 설정 파라미터를 그룹 단위로 관리하는 객체 |
Cache Only
MemStore 서비스는 모든 데이터를 디스크에 저장하지 않고 메모리에 저장해 캐시 용도로만 사용할 수 있습니다.
클러스터
클러스터는 하나 이상의 노드 모음으로서, 자동으로 관리되는 구성 단위입니다. 클러스터는 다수의 샤드 내 여러 노드로 구성되며 각 노드는 Primary와 Replica의 역할을 가집니다. 필요에 따라 샤드 또는 Replica 노드를 추가하거나 삭제할 수 있습니다.
클러스터 생성 방법은 클러스터 생성을, 클러스터 조회와 관리 방법은 클러스터 관리를 참고해 주세요.
Valkey 클러스터 생명 주기 및 상태 값
Valkey는 Redis OSS와 달리 클러스터 모드 활성화 여부와 관계없이 클러스터 및 노드가 독립적인 상태 값을 갖습니다.
Valkey 클러스터 모드를 사용할 경우의 클러스터/노드 생명 주기 다이어그램
| 상태 | 설명 |
|---|---|
Init | 클러스터 생성 초기 상태로 생성 시작 전의 상태 |
Creating | 노드 생성 및 클러스터 구성 준비하는 상태 |
Running | 클러스터가 정상적으로 동작하는 상태 |
Scaling(horizontal) | 샤드 추가/삭제, 노드 추가/삭제가 진행중일 때 |
Scaling(vertical) | 노드의 Flavor 변경이 진행중일 때 |
Modifying | 그 외 보안그룹 변경 등 클러스터에 기타 변경이 있는 상태 |
Deleted | 클러스터 삭제가 완료된 상태 |
Deleting | 클러스터 삭제 처리 중인 상태 |
Failed | - 특정 시간 이상 클러스터 생성이 지연될 때 - 서비스에 장애가 발생했을 때 - 모든 노드가 failed 상태일 때 - 특정 시간 이상 최신 클러스터 상태를 전달받지 못했을 때 |
Switching | 승격 작업을 진행중일 때 |
Warning | 하나라도 failed 상태인 노드가 발생한 상태 |
Redis OSS 클러스터 생명 주기, 상태 값 및 과금
- 클러스터 모드 사용 시
- 클러스터 모드 미사용 시
클러스터 모드를 사용할 경우, 샤드와 각 노드의 상태는 클러스터 상태에 의존하므로 동일한 상태를 가집니다.
Redis OSS 클러스터 모드를 사용할 경우의 클러스터/샤드/노드 생명 주기 다이어그램
| 상태 | 설명 | 과금 여부 |
|---|---|---|
Init | 클러스터 생성 초기 상태로 생성 시작 전의 상태 | 미청구 |
Creating | 자원 생성 중 | 미청구 |
Running | 동작 중 | 청구 |
Scaling(horizontal) | 샤드 추가/삭제, 노드 추가/삭제가 진행 중 | 청구 (새로 생성된 노드는 Running 상태가 될 때 과금 시작) |
Scaling(vertical) | 노드의 Flavor 변경이 진행 중 | 청구 (새로 생성된 노드는 Running 상태가 될 때 과금 시작) |
Modifying | 클러스터의 보안 그룹 변경 작업 진행 중 | 청구 |
Deleting | 자원 삭제 중 | 미청구 |
Failed | 영구적인 오류 발생으로 인한 비정상 상태이며, 정상 상태로 복귀할 수 없으며 삭제만 가능 | 미청구 |
Redis OSS 클러스터 모드를 사용하지 않을 경우의 생명 주기 다이어그램
| 상태 | 설명 |
|---|---|
Init | 클러스터를 생성한 직후의 상태 |
Provisioning | 클러스터에 포함된 모든 노드가 필요한 리소스를 준비 중 |
Replicating | 클러스터에 포함된 노드의 역할을 구성하고 엔드포인트 생성 중 |
Running | 서비스가 정상적으로 구성 및 기동이 완료되어 접속 가능 |
Scaling(horizontal) | 새로운 노드를 생성하거나, 특정 Replica 노드의 삭제가 진행 중 |
Scaling(vertical) | 노드의 Flavor 변경이 진행 중 |
SwitchingOver | 특정 Replica 노드를 Primary 노드로 승격 진행 중 |
ScalingOut | 새로운 노드를 생성하고, Replica 역할 부여 중 |
Recovering | 자동 장애 조치 기능을 사용하는 클러스터의 노드 장애 발생 시, 자동으로 알맞은 조치를 취하고 있는 상태 |
Modifying | 클러스터의 보안 그룹 변경 작업 진행 중 |
Terminating | 클러스터의 삭제 처리 중 |
Terminated | 클러스터의 삭제 완료 |
Warning | 특정 상태에서 일시적인 오류가 발생한 상태로 문제 해소 시 정상 상태로 복귀 가능 |
Failed | 영구적인 오류 발생으로 인한 비정상 상태이며, 정상 상태로 복귀할 수 없으며 삭제만 가능 |
샤드
샤드는 클러스터 모드를 사용하는 노드의 그룹으로, 클러스터의 데이터를 각각의 샤드에 분할하여 할당합니다.
Valkey를 사용할 경우, 최소 3개에서 최대 12개의 샤드로 클러스터를 구성할 수 있으며, 각 샤드는 최소 2개에서 최대 5개의 노드로 구성할 수 있습니다.
Redis OSS를 사용할 경우, 최소 1개에서 최대 12개의 샤드로 클러스터를 구성할 수 있으며, 각 샤드는 최소 2개에서 최대 5개의 노드로 구성할 수 있습니다.
클러스터 모드를 사용하는 클러스터의 샤드와 노드 관리 방법은 샤드 및 노드 관리를 참고해 주세요.
노드
노드는 클러스터에 포함된 VM(Virtual Machine)입니다. 노드 생성 및 삭제 시, 필요한 작업을 수행하며 상태를 자동으로 변경합니다. 클러스터에 속한 각 노드는 Primary 역할 또는 Replica 역할을 부여받습니다. 클러스터 모드를 사용하지 않는 경우, 최대 6개의 노드를 구성할 수 있습니다.
클러스터 모드를 사용하지 않는 클러스터의 노드 관리 방법은 노드 관리를, 노드 유형 변경 방법은 노드 유형 변경을 참고해 주세요.
| 역할 | 설명 |
|---|---|
| Primary | 사용자가 일반적으로 사용하는 읽기/쓰기 목적의 노드 |
| Replica | Primary의 부하를 줄이기 위한 읽기 전용의 노드 |
노드 유형
사용자는 노드 생성 시 데이터의 크기 및 부하를 고려하여 유형을 선택할 수 있습니다. 추후 더 다양하고 특화된 노드 유형을 지원할 예정입니다.
| 노드 유형 | vCPU (개) | Memory(GB) |
|---|---|---|
m2a.large | 2 | 8 |
m2a.xlarge | 4 | 16 |
m2a.2xlarge | 8 | 32 |
m2a.4xlarge | 16 | 64 |
m2a.8xlarge | 32 | 128 |
m2a.12xlarge | 48 | 192 |
m2a.16xlarge | 64 | 256 |
m2a.24xlarge | 96 | 384 |
r2a.large | 2 | 16 |
r2a.xlarge | 4 | 32 |
r2a.2xlarge | 8 | 64 |
r2a.4xlarge | 16 | 128 |
r2a.8xlarge | 32 | 256 |
r2a.12xlarge | 48 | 384 |
r2a.16xlarge | 64 | 512 |
r2a.24xlarge | 96 | 768 |
t1i.small | 2 | 2 |
t1i.medium | 2 | 4 |
t1i.large | 2 | 8 |
t1i.xlarge | 4 | 16 |
t1i.2xlarge | 8 | 32 |
t1i 인스턴스 유형은 최초 생성 후 Running 상태로 전환되는 데 수 분에서 수십 분이 소요될 수 있습니다.
CPU 크레딧 잔여량이 부족할 경우 CPU 부하가 있는 작업이 정상 동작하지 않을 수 있습니다.
노드 생명 주기 및 상태 값과 과금
노드의 생명 주기와 상태 값은 다음과 같습니다.
- Valkey 노드 생명 주기, 상태 값, 과금
- Redis OSS 노드 생명 주기, 상태 값, 과금
Valkey 노드 생명 주기 다이어그램
| 상태 | 설명 | 과금 여부 |
|---|---|---|
Init | 클러스터 생성 시 설정한 각 노드들이 생성을 시작하는 상태 | 미청구 |
Creating | 노드 생성 및 Valkey 서비스를 준비하는 상태 | 미청구 |
Running | Valkey 서비스가 정상적으로 기동 중인 상태 | 청구 |
Deleted | 노드 삭제가 완료된 상태 | 미청구 |
Deleting | 노드 삭제 처리 중인 상태 | 미청구 |
Resizing | 노드 flavor를 변경 중인 상태 | 청구 |
Warning | 노드 헬스 체크가 지연되고 있는 경우 | 청구 |
Failed | - 특정 시간 이상 클러스터 생성이 지연될 때 - 서비스를 컨트롤하는 Agent에 장애가 발생했을 때 - 서비스에 장애가 발생했을 때 | 미청구 |
Redis OSS 노드 생명 주기 다이어그램
| 상태 | 설명 | 과금 여부 |
|---|---|---|
Init | 클러스터 생성 시 설정한 각 노드가 생성을 시작하는 상태 | 미청구 |
Provisioning | 서비스를 기동할 운영 서버 생성을 시작한 상태 - 해당 단계에서 수 분이 소요될 수 있음 | 미청구 |
Starting | 운영 서버 생성 완료 후, 서비스의 설치와 기동을 기다림 | 미청구 |
Running | 서비스가 정상적으로 가동되어 접속 가능 상태 | 청구 |
Modifying | 보안 그룹 변경 작업 진행 중 | 청구 |
Terminating | 사용자가 노드 삭제를 요청하여 노드 삭제 중 | 미청구 |
Terminated | 노드가 삭제된 상태 - Terminated 상태가 되면 사용자는 해당 노드 관련 정보를 더 이상 조회 불가 | 미청구 |
Warning | 특정 상태에서 일시적인 오류가 발생한 상태 - 문제 해소 시 정상 상태로 복귀 가능 | 미청구 |
Failed | 영구적인 오류 발생으로 인한 비정상 상태 - 정상 상태로 복귀할 수 없으며 삭제만 가능 | 미청구 |
자동 장애 조치
MemStore 서비스는 사용자 편의성과 안정적인 운영을 위해 자동 장애 조치 기능을 제공합니다. 해당 기능을 사용하면, 노드 장애 시 자동으로 조치하여 서비스를 지속할 수 있는 환경을 제공합니다.
사용자는 클러스터 생성 시 클러스터 모드를 사용할 경우에는 자동 장애 조치을 기본으로 사용하게 되며 사용 여부를 변경할 수 없습니다.
클러스터 모드를 사용하지 않을 경우, Valkey는 노드가 2개 이상일 경우, 자동으로 자동 장애 조치 기능이 활성화되며 Redis OSS는 클러스터 생성 시 자동 장애 조치 기능 사용 여부를 선택할 수 있고, 운영 중에도 해당 기능의 사용 여부를 변경할 수 있습니다.
클러스터의 상세 정보 탭에서 클러스터의 자동 장애 조치 기능 사용 여부를 확인할 수 있습니다. 해당 기능을 사용하는 경우에도 사용자는 노드를 추가 또는 삭제할 수 있으며, 추가된 노드는 자동 장애 조치 범위에 자동으로 포함됩니다.
Redis OSS 자동 장애 조치 설정 방법은 자동 장애 조치 설정을 참고해 주세요.
노드 장애
노드의 역할에 따라 아래와 같은 방식으로 노드 장애를 해결합니다.
| 구분 | 설명 |
|---|---|
| Primary 노드 장애 | Primary 노드 장애 시 자동으로 가장 최신의 데이터를 보유한 Replica 노드를 선택하여 Primary로 승격(Automatic Failover)하며, 장애가 발생한 노드를 자동 복구 조치하여 Replica 개수를 유지함(Auto Healing) |
| Replica 노드 장애 | Replica 노드 장애 시, 장애가 발생한 노드를 자동 복구 조치하여 Replica 개수를 유지함 |
승격
Redis OSS의 경우 클러스터 모드 또는 자동 장애 조치 기능을 사용하는 경우에는 사용자가 승격을 요청할 수 없고, 노드 장애 상황에 따라 서비스에서 필요하다고 판단할 때 자동으로 승격을 수행합니다. 자동 장애 조치 기능을 사용하지 않는 경우에는 수동 승격 기능을 제공합니다. Primary 노드에 장애가 발생할 경우, 사용자는 승격 기능을 통해 Replica 노드를 Primary 노드로 승격할 수 있습니다. Valkey의 경우 클러스터 모드 또는 자동 장애 조치 기능 사용 여부와 관계 없이 사용자가 승격 요청을 할 수 있습니다.
노드 승격 방법은 노드 승격을 참고해 주세요.
엔드포인트
클러스터 생성 시 클라이언트가 접속할 수 있는 엔드포인트를 제공합니다.
해당 주소는 사용자가 선택한 사설 네트워크(서브넷)에서 접속 가능하며, 접근 권한 및 보안 설정까지 자동으로 처리되어 안전합니다.
클러스터 연결 방법은 MemStore 클러스터 연결을 참고해 주세요.
- 클러스터 모드를 사용하지 않는 경우, Read/Write를 할 수 있는 Primary 노드의 엔드포인트와 Read 전용 엔드포인트를 제공합니다.
- 클러스터 모드를 사용할 경우, Read/Write를 할 수 있는 클러스터의 엔드포인트를 제공합니다.
백업
생성된 클러스터 정보를 백업하여 복원에 사용할 수 있습니다.
백업 조회와 관리 방법은 백업 관리를 참고해 주세요.
- Valkey 백업 생명주기, 상태
- Redis OSS 백업 상태

| 상태 | 설명 | 과금 여부 |
|---|---|---|
Available | 백업을 정상적으로 사용 가능한 상태 | 청구 |
Copying | 백업을 복사중인 상태 | 청구 |
Creating | 백업이 생성중인 상태 | 미청구 |
Deleted | 백업 삭제가 완료된 상태 | 미청구 |
Deleting | 백업 삭제 처리 중인 상태 | 미청구 |
Error | 백업 중 오류가 발생한 상태 | 미청구 |
Exporting | 백업을 사용자의 Object Storage로 내보내기 중인 상태 | 청구 |
Pending | 백업 생성을 기다리는 상태 | 미청구 |
Restoring | 백업이 클러스터 복원에 이용중인 상태 | 청구 |
백업 상태 값
| 상태 | 설명 | 과금 여부 |
|---|---|---|
Available | 백업이 완료되어 복원, 복사, 내보내기를 할 수 있는 상태 | 청구 |
Copying | 다른 백업을 만들기 위해 복사되고 있는 상태 | 청구 |
Creating | 백업을 수행 중이거나 원본 백업으로부터 새 백업이 복사되고 있는 상태 | 미청구 |
Deleting | 백업을 삭제 중인 상태 | 미청구 |
Error | 백업 중 오류가 발생한 상태 | 미청구 |
Exporting | 사용자의 Object Storage로 내보내고 있는 상태 | 청구 |
Pending | 백업 요청은 받아들여졌으나 시작하지 않은 상태 | 미청구 |
Restoring | 프로비저닝에 사용되고 있는 상태 | 청구 |
파라미터 그룹
MemStore의 파라미터 값을 그룹 단위로 생성하고 관리할 수 있습니다.
파라미터 그룹 생성과 수정 방법은 파라미터 그룹 관리를, 클러스터에 적용된 파라미터 그룹을 변경하는 방법은 파라미터 그룹 변경을 참고해 주세요.
파라미터 반영 상태
| 상태 값 | 설명 |
|---|---|
Pending | 파라미터 반영을 대기하는 상태 |
Applying | 클러스터에 파라미터를 반영 중인 상태 |
In-Sync | 클러스터에 파라미터가 정상 반영된 상태 |
Error-Sync | 클러스터에 파라미터 반영을 실패한 상태 - 파라미터 반영을 재시도할 수 있으며, 재시도 시 Applying 상태로 변경 |
Suspended | 순차 반영 시 앞 순서의 클러스터가 파라미터 반영에 실패하여 다음 작업을 대기하는 상태 - Pending에서 Suspended로 상태가 변경되면 파라미터 반영을 재시도할 수 있음- 재시도 시 Applying 상태로 변경 |