Redis용 Memorystore의 고가용성

이 페이지에서는 표준 등급의 Redis용 Memorystore 인스턴스에 대한 고가용성(HA)을 설명합니다.

개요

표준 등급은 데이터를 하나 이상의 복제본으로 복제하고 복제본에 빠른 자동 장애 조치를 제공하여 일반적인 장애로부터 인스턴스를 보호합니다.

표준 등급은 하나의 기본 인스턴스와 하나 이상의 복제본으로 프로비저닝됩니다. readReplicaMode가 사용 중지된 표준 등급 인스턴스에는 한 개의 비읽기 복제본이 있습니다. readReplicaMode가 사용 설정된 표준 등급 인스턴스에는 1~5개의 읽기 복제본이 있습니다. readReplicaMode가 사용 설정되어 있는지 확인하려면 읽기 복제본 정보 보기를 참조하세요.

Redis용 Memorystore는 기본 Redis 인스턴스를 하나 이상의 복제본으로 복제하여 고가용성을 제공합니다. 기본 인스턴스의 데이터에 대한 모든 변경사항은 Redis 비동기 복제 프로토콜을 사용하여 복제본으로 복제됩니다. 복제의 비동기적 특성으로 인해 복제본은 기본 인스턴스의 쓰기 속도에 따라 기본 인스턴스보다 뒤쳐질 수 있습니다.

기본 인스턴스에 장애가 발생하면 인스턴스는 자동으로 복제본으로 장애 조치됩니다. 복제본이 두 개 이상 구성된 인스턴스의 경우 인스턴스는 자동으로 복제 지연이 가장 적은 정상 상태의 복제본으로 장애 조치됩니다.

인스턴스가 비읽기 복제본 한 개로만 구성된 경우 모든 애플리케이션 연결은 기본 엔드포인트로 전달됩니다. 인스턴스가 읽기 복제본을 사용하여 구성된 경우 애플리케이션은 읽기 엔드포인트를 활용하여 모든 복제본에 읽기 쿼리를 배포할 수도 있습니다.

장애 조치가 트리거되는 경우

Redis 기본 인스턴스가 실패하면 장애 조치가 발생합니다. 장애 조치 중에 기본 및 읽기 엔드포인트는 자동으로 새 기본 및 복제본 노드로 리디렉션됩니다. 기본 엔드포인트에 대한 모든 연결이 끊어지고 승격된 읽기 복제본에 대한 읽기 엔드포인트 연결도 끊어집니다.

장애 조치가 애플리케이션에 미치는 영향

기본 인스턴스에서 복제본으로 장애 조치가 수행되면 인스턴스의 기본 엔드포인트에 대한 기존 연결이 끊어집니다. 새 기본 인스턴스가 다시 연결되는 동안 몇 초 동안 인스턴스를 사용할 수 없습니다. 다시 연결할 때 애플리케이션은 동일한 연결 문자열 또는 IP 주소를 사용하여 자동으로 새 기본 인스턴스로 리디렉션됩니다. 장애 조치 후 애플리케이션을 업데이트할 필요가 없습니다.

장애 조치 중에 읽기 엔드포인트에 대한 연결이 있으면 기본 노드로 승격되는 복제본에 대한 연결이 끊어집니다. 다른 복제본에 대한 연결은 장애 조치 중에 계속 작동합니다. 장애 조치가 완료되고 새 복제본을 사용할 수 있게 되면 연결이 새 복제본으로 리디렉션됩니다.

장애 조치 후 인스턴스 연결 재시도

장애 조치가 발생하면 기본 엔드포인트의 모든 연결이 끊어지고, 복제본 수에 따라 일부 읽기 연결이 종료됩니다.

이렇게 연결이 끊겼으므로 애플리케이션은 연결을 재시도해야 합니다. 재시도 로직은 너무 많은 재시도 요청으로 인스턴스에 과부하가 발생하지 않도록 지수 백오프를 사용해야 합니다. 재시도 로직을 포함하는 것 외에도 수동 장애 조치로 테스트하여 장애 조치가 애플리케이션에 미치는 영향을 테스트해야 합니다.

대부분의 Redis 클라이언트에는 장애 조치로 인해 연결이 끊어진 경우에 사용해야 하는 재시도 기능이 내장되어 있습니다.

장애 조치는 다음과 같은 상황에서 발생합니다.

장애 조치로 인한 연결 중단을 처리하기 위해 애플리케이션에서 재시도 로직을 구현하는 경우 인스턴스의 성능에는 큰 영향이 없습니다. 일반적으로 문제는 재시도 로직이 없는 경우에만 발생합니다.

고가용성 상태를 확인하는 방법

Cloud Monitoring을 사용하여 Redis 인스턴스의 고가용성 측정항목을 확인할 수 있습니다. Cloud Monitoring이 Redis용 Memorystore에 제공하는 측정항목에 대한 자세한 내용은 Redis 인스턴스 모니터링Monitoring 측정항목을 참조하세요.

자세한 내용은 Cloud Monitoring 문서를 참조하세요.

Redis가 제공하는 기본 복제 상태를 보려면 Redis용 Memorystore 인스턴스에 Redis INFO 명령어를 실행하세요.