Redis 복제 이해 - 아마존 포 ElastiCache 레디스용

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Redis 복제 이해

Redis는 다음과 같은 2가지 방법으로 복제를 구현합니다.

  • 각 노드에 클러스터의 모든 데이터를 포함하고 있는 샤드 1개가 있음 - Redis(클러스터 모드 비활성화됨)

  • 데이터가 최대 500개 샤드로 분할되어 있음 - Redis(클러스터 모드 활성화됨)

복제 그룹의 각 샤드에는 읽기/쓰기 기본 노드 하나와 최대 5개의 읽기 전용 복제본 노드가 있습니다. 하나의 클러스터당 최대 90개의 노드로 구성된 더 많은 수의 샤드와 더 적은 수의 복제본을 가진 클러스터를 생성할 수 있습니다. 이 클러스터 구성은 90개의 샤드 및 0개의 복제본부터 15개의 샤드 및 5개의 복제본까지 해당될 수 있으며, 이는 허용되는 최대 복제본 수입니다.

Redis 엔진 버전이 5.0.6 이상인 경우 노드 또는 샤드 한도를 클러스터당 최대 500까지 늘릴 수 있습니다. 예를 들어 83개 샤드(샤드당 기본 1개와 복제본 5개)에서 500개 샤드(기본 1개와 복제본 없음) 범위의 500개 노드 클러스터를 구성하도록 선택할 수 있습니다. 증가를 수용할 수 있는 IP 주소가 충분한지 확인해야 합니다. 서브넷 그룹에 있는 서브넷의 CIDR 범위가 너무 작거나 서브넷을 샤드로 분할하여 다른 클러스터에서 과도하게 사용되는 것과 같은 일반적인 함정에 유의합니다. 자세한 내용은 서브넷 그룹 생성 섹션을 참조하세요.

5.0.6 이하의 버전에서 한도는 클러스터당 250개입니다.

한도 증가를 요청하려면 AWS 서비스 한도를 참조하고 한도 유형을 인스턴스 유형별 클러스터당 노드로 선택하세요.

Redis(클러스터 모드 비활성화됨)

Redis(클러스터 모드 비활성화됨) 클러스터에는 단일 샤드가 있으며 이 샤드 내에는 Redis 노드 모음이 있습니다. 이 모음은 하나의 기본 읽기/쓰기 노드와 최대 5개의 보조 읽기 전용 복제본 노드로 구성됩니다. 각 읽기 전용 복제본은 클러스터의 기본 노드에서 가져온 데이터 사본을 유지합니다. 비동기식 복제 메커니즘은 읽기 전용 복제본이 기본 노드와 동기화되어 있는 상태를 유지하는 데 사용됩니다. 애플리케이션은 클러스터의 모든 노드로부터 읽을 수 있습니다. 애플리케이션은 기본 노드에만 쓸 수 있습니다. 읽기 전용 복제본은 읽기 처리량을 높이고 노드에 장애가 발생할 경우 데이터 손실을 방지합니다.

이미지: 단일 샤드 및 복제본 노드가 있는 Redis(클러스터 모드 비활성화됨) 클러스터

단일 샤드 및 복제본 노드가 있는 Redis(클러스터 모드 비활성화됨) 클러스터

복제본 노드가 있는 Redis(클러스터 모드 비활성화됨) 클러스터를 사용하여 Redis 솔루션을 ElastiCache에 맞게 조정하여 읽기 집약적인 애플리케이션을 처리하거나 동일한 클러스터에서 동시에 읽는 많은 수의 클라이언트를 지원할 수 있습니다.

Redis(클러스터 모드 비활성화됨) 클러스터의 모든 노드는 같은 리전에 있어야 합니다.

읽기 전용 복제본을 클러스터에 추가하면 기본 노드에 있는 모든 데이터가 새 노드로 복사됩니다. 이 시점부터 기본 노드에 데이터를 쓸 때마다 변경 사항이 모든 읽기 전용 복제본에 비동기식으로 전파됩니다.

내결함성을 개선하고 기록 시간을 단축하려면 복제본이 있는 Redis(클러스터 모드 비활성화됨) 클러스터에 대해 자동 장애 조치가 포함된 다중 AZ를 활성화합니다. 자세한 내용은 다중 AZ로 ElastiCache for Redis의 가동 중지 시간 최소화 섹션을 참조하세요.

기본 노드의 역할과 복제본 중 하나의 역할을 서로 교환함으로써 Redis(클러스터 모드 비활성화됨) 클러스터 내 노드의 역할을 변경할 수 있습니다. 성능 튜닝을 위해 이런 방식을 선택할 수 있습니다. 예를 들어, 쓰기 작업이 많은 웹 애플리케이션의 경우 네트워크 지연 시간이 가장 짧은 노드를 선택할 수 있습니다. 자세한 내용은 Redis(클러스터 모드 비활성화됨) 복제 그룹에 대해 읽기 전용 복제본을 기본으로 승격 섹션을 참조하세요.

Redis(클러스터 모드 활성화됨)

Redis 클러스터 모드 사용 클러스터는 1~500개의 샤드(API/CLI: 노드 그룹)로 구성됩니다. 각 샤드에는 읽기/쓰기 기본 노드 및 최대 5개의 읽기 전용 복제본 노드가 있습니다. 이 구성은 90개의 샤드 및 0개의 복제본부터 15개의 샤드 및 5개의 복제본까지 해당될 수 있으며, 이는 허용되는 최대 복제본 수입니다.

Redis 엔진 버전이 5.0.6 이상인 경우 노드 또는 샤드 한도를 클러스터당 최대 500까지 늘릴 수 있습니다. 예를 들어 83개 샤드(샤드당 기본 1개와 복제본 5개)에서 500개 샤드(기본 1개와 복제본 없음) 범위의 500개 노드 클러스터를 구성하도록 선택할 수 있습니다. 증가를 수용할 수 있는 IP 주소가 충분한지 확인해야 합니다. 서브넷 그룹에 있는 서브넷의 CIDR 범위가 너무 작거나 서브넷을 샤드로 분할하여 다른 클러스터에서 과도하게 사용되는 것과 같은 일반적인 함정에 유의합니다. 자세한 내용은 서브넷 그룹 생성 섹션을 참조하세요.

5.0.6 이하의 버전에서 한도는 클러스터당 250개입니다.

한도 증가를 요청하려면 AWS 서비스 한도를 참조하고 한도 유형을 인스턴스 유형별 클러스터당 노드로 선택하세요.

샤드의 각 읽기 전용 복제본은 샤드의 기본 노드에서 가져온 데이터 사본을 유지합니다. 비동기식 복제 메커니즘은 읽기 전용 복제본이 기본 노드와 동기화되어 있는 상태를 유지하는 데 사용됩니다. 애플리케이션은 클러스터의 모든 노드로부터 읽을 수 있습니다. 애플리케이션은 기본 노드에만 쓸 수 있습니다. 읽기 전용 복제본은 읽기 확장성을 개선하고 데이터 손실을 방지합니다. 데이터는 Redis(클러스터 모드 활성화됨) 클러스터의 샤드 간에 파티셔닝됩니다.

애플리케이션은 Redis(클러스터 모드 활성화됨) 클러스터의 구성 엔드포인트를 사용하여 클러스터의 노드와 연결합니다. 자세한 내용은 연결 엔드포인트 찾기 섹션을 참조하세요.


               이미지: 다중 샤드 및 복제본 노드가 있는 Redis(클러스터 모드 활성화됨) 클러스터

다중 샤드 및 복제본 노드가 있는 Redis(클러스터 모드 활성화됨) 클러스터

Redis(클러스터 모드 활성화됨) 클러스터의 모든 노드는 같은 리전에 있어야 합니다. 내결함성을 개선하기 위해 해당 리전 내의 여러 가용 영역에서 기본 노드와 읽기 전용 복제본을 모두 프로비저닝할 수 있습니다.

현재 Redis(클러스터 모드 활성화됨)에는 다음과 같은 몇 가지 제한이 있습니다.

  • 복제본 노드는 수동으로 기본 노드로 승격할 수 없습니다.