이 페이지에서는 Memorystore for Redis Cluster의 Redis 데이터베이스 (RDB) 지속성에 대한 개요를 제공합니다.
RDB 지속성은 내구성 있는 스토리지에 스냅샷을 저장하여 데이터를 보호합니다. 최소 1시간부터 최대 24시간까지 스냅샷 간격을 선택하여 스냅샷의 빈도를 선택합니다.
복제본이 있는 노드는 복제본을 통한 데이터 복구를 우선시합니다. 하지만 기본 노드와 복제본 노드가 동시에 실패하는 경우 최신 스냅샷에서 노드가 복구됩니다.
클러스터를 수직 확장하는 경우 스냅샷에는 다음 예약된 스냅샷 시간까지 새 샤드가 포함되지 않습니다. 클러스터의 지속성을 사용 설정하거나 중지하는 경우 클러스터에서 유지보수를 수행해야 할 수 있습니다. RDB 지속성을 사용 설정 및 중지하는 방법에 대한 자세한 내용은 지속성 관리를 참조하세요.
RDB 지속성 기능을 사용해도 결제 비용이 추가로 발생하지는 않습니다. 이 기능은 복구 후 약간의 데이터 비활성이 허용되는 사용 사례에 적합합니다. Memorystore for Redis Cluster는 자동 복구에 스냅샷을 사용하므로 수동 복원에 스냅샷을 사용할 수 없습니다. 또한 Memorystore for Redis Cluster는 가장 최근 스냅샷만 보관합니다.
Memorystore for Redis Cluster는 AOF 지속성도 지원하지만 AOF 또는 RDB 지속성 중 하나를 선택해야 합니다. 두 지속성 모드를 동시에 사용 설정할 수 없습니다. 지속성 모드 중 하나를 선택하는 방법에 대한 자세한 내용은 지속성 개요를 참조하세요.
가용성을 가능한 최대치로 유지하려면 지속성을 사용 설정하는 것 외에도 가용성이 높은 클러스터를 사용하는 것이 좋습니다. 자세한 내용은 고가용성 및 복제본을 참조하세요.
스냅샷 예약
스냅샷 시작 시간과 스냅샷 간격에 따라 스냅샷 일정이 결정됩니다. 설정할 수 있는 스냅샷 간격은 1h, 6h, 12h, 24h입니다. 예를 들어 시작 시간을 오전 4시로, 간격을 1시간으로 설정하면 RDB 지속성을 사용 설정한 날짜의 오전 4시에 스냅샷이 시작되고 이후 매시간 계속됩니다.
Memorystore for Redis Cluster는 UTC 시간대의 스냅샷 일정을 평가합니다. 따라서 시간대에 일광 절약 시간제 (DST) 변경사항이 적용되면 스냅샷 일정 작업의 현지 시작 시간이 DST 시작 및 종료 시 1시간 앞당겨지거나 늦춰집니다.
스냅샷 일시중지
RDB 스냅샷 작성을 일시적으로 일시중지해야 할 수 있습니다. 예를 들어 중요 이벤트 중 성능 영향이 없도록 하거나 성능 문제 해결을 위해 스냅샷을 일시중지할 수 있습니다.
시작 시간을 이후 시간으로 설정하여 스냅샷을 일시중지하면 Memorystore for Redis Cluster가 마지막 스냅샷을 유지합니다. 노드가 실패하고 복제본에서 데이터를 복구할 수 없는 경우 노드는 이 스냅샷을 사용하여 데이터를 복구합니다. 스냅샷을 재개하려면 다음 스냅샷을 수행할 시간으로 스냅샷 일정을 조정합니다. 자세한 내용은 RDB 스냅샷 간격 조정을 참조하세요.
복구 동작
Memorystore for Redis Cluster 노드는 스냅샷에서 데이터를 로드하는 대신 기본 복구 메커니즘인 복제본으로 장애 조치를 수행합니다. 하지만 노드가 실패하고 복제본에서 데이터를 복구할 수 없는 경우 노드가 스냅샷에서 데이터를 복구합니다.
복구 시 데이터 일관성
RDB 지속성을 사용 설정하면 클러스터는 지정된 간격으로 스냅샷을 만들기 위해 최선을 다합니다. RDB 스냅샷은 특정 시점 백업이므로 Memorystore for Redis Cluster가 데이터를 복구한 후 애플리케이션은 오래된 데이터가 복구되더라도 이를 어느 정도 용인할 수 있어야 합니다.
스냅샷은 여러 이유로 실패할 수 있습니다. 스냅샷이 여러 간격에 따라 연속적으로 실패할 경우 마지막으로 사용 가능한 스냅샷의 오래된 정도가 심해질 수 있습니다.
스냅샷에서 데이터를 복구할 때 최악의 경우 데이터 비활성화는 마지막으로 성공한 스냅샷이 시작된 이후에 지정된 간격부터 그 다음 스냅샷을 스토리지에 저장하는 데 걸리는 시간까지의 합계입니다. 복구 이슈가 발생한 경우 rdb_save_ages 측정항목을 사용해서 데이터 비활성 기간을 확인합니다.
이 측정항목에 대한 자세한 내용은 지속성 측정항목을 참조하세요.
복구 시간
노드가 실패하여 스냅샷에서 데이터를 복구해야 하는 경우 복구 중에는 노드를 사용할 수 없습니다. 복구 시간은 스냅샷 크기에 따라 달라집니다.
스냅샷 실패
Memorystore for Redis Cluster는 5~300초의 지수 백오프를 사용하여 실패한 스냅샷을 즉시 재시도합니다. 복구가 발생하면 연속적인 스냅샷 실패로 인해 데이터 비활성 시간이 증가합니다.
복구 실패
복구 실패는 드물지만 발생 가능합니다. 복구 실패가 발생하면 복구가 성공할 때까지 노드가 스냅샷에서 데이터 복구를 반복적으로 재시도합니다.
스냅샷 모니터링
스냅샷을 모니터링하고 실패한 스냅샷에 대한 알림을 설정하는 것이 좋습니다. 실패한 스냅샷은 데이터 복구에 계속 문제가 발생할 수 있는 과부하된 노드를 나타낼 수 있습니다.
RDB 지속성에 대한 권장사항은 지속성 권장사항을 참조하세요. 스냅샷 모니터링에 사용 가능한 측정항목 목록은 지속성 측정항목을 참조하세요.
성능 영향
Cloud Monitoring을 사용하여 CPU 사용량 및 메모리 사용량과 같은 측정항목을 확인하여 스냅샷이 클러스터에 미치는 성능 영향을 모니터링할 수 있습니다.