Azure Cache for Redis 캐시 오류가 발생하면 노드가 다운될 때 데이터 손실이 발생할 수 있습니다. Redis 지속성을 사용하면 캐시 인스턴스에 저장된 데이터를 유지할 수 있습니다. 하드웨어 오류가 발생하면 캐시 인스턴스가 다시 온라인 상태가 되면 지속성 파일의 데이터로 리하이딩됩니다.
이 문서에서는 Redis 지속성 및 프리미엄 및 엔터프라이즈 계층 Azure Redis 캐시 인스턴스에서 데이터 지속성을 구성하고 관리하는 방법을 설명합니다. 데이터 지속성 기능은 기본 또는 표준 계층에서 사용할 수 없으며 엔터프라이즈 및 엔터프라이즈 플래시 계층에서 미리 보기로 제공됩니다.
데이터를 유지하는 기능은 모든 캐시 데이터를 메모리에 저장하기 때문에 캐시 인스턴스의 내구성을 높이는 중요한 방법입니다. 지속성은 Azure Redis 고가용성 및 재해 복구 전략의 핵심 부분입니다.
중요
데이터 지속성 기능은 예기치 않은 Redis 노드 오류에 대한 복원력을 제공합니다. 데이터 지속성은 데이터 백업 또는 PITR(특정 시점 복구) 기능이 아닙니다. 손상된 데이터가 Redis 인스턴스에 기록되면 손상된 데이터도 유지됩니다. Redis 인스턴스의 백업을 만들려면 내보내기 기능을 사용합니다.
가용성 범위
계층 | 기본, 표준 | 프리미엄 | 엔터프라이즈, 엔터프라이즈 플래시. |
---|---|---|---|
사용 가능 | 아니요 | 예 | 예(미리 보기) |
Redis 데이터 지속성 유형
Azure Redis는 두 가지 유형의 데이터 지속성, 즉 RDB( Redis 데이터베이스 ) 형식과 AOF( 추가 전용 파일 ) 형식을 제공합니다.
RDB 지속성은 캐시의 스냅샷을 이진 형식으로 유지하여 Azure Storage 계정에 저장합니다. 스냅샷을 유지하는 빈도를 결정하도록 백업 빈도를 구성합니다. 주 캐시와 복제본 캐시를 모두 사용하지 않도록 설정하는 치명적인 이벤트가 발생하면 캐시는 최신 스냅샷을 사용하여 자동으로 재구성됩니다. 자세한 내용은 RDB 장점 및RDB 단점을 참조하세요.
AOF 지속성은 모든 쓰기 작업을 로그에 저장하고 Azure Storage 계정에 초당 한 번 로그를 저장합니다. 주 캐시와 복제본 캐시를 모두 사용하지 않도록 설정하는 치명적인 이벤트가 발생하면 캐시는 저장된 쓰기 작업을 사용하여 자동으로 재구성됩니다. 자세한 내용은 AOF 장점 및 AOF 단점을 참조하세요.
요구 사항 및 제한 사항
데이터 지속성 기능은 예기치 않은 Redis 노드 오류에 대한 복원력을 제공합니다. 데이터 지속성은 데이터 백업 또는 PITR 기능이 아닙니다. 손상된 데이터가 Redis 인스턴스에 기록되면 손상된 데이터도 유지됩니다. Redis 인스턴스를 백업하려면 내보내기 기능을 사용합니다.
Azure Cache for Redis 지속성 기능은 데이터 손실 후 데이터를 동일한 캐시로 자동으로 복원하기 위한 것입니다. 지속형 데이터 파일을 새 캐시 또는 기존 캐시로 가져올 수 없습니다.
캐시 간에 데이터를 이동하려면 데이터 가져오기 및 내보내기 기능을 사용합니다.
새 캐시에 추가할 수 있는 데이터의 백업을 생성하려면 주기적으로 데이터를 내보내는 PowerShell 또는 Azure CLI를 사용하여 자동화된 스크립트를 사용할 수 있습니다.
지속성은 수동 지역 복제 또는 활성 지역 복제를 사용하는 캐시에서 지원되지 않습니다.
데이터 암호화.
Redis 지속성은 미사용 데이터를 만들므로 이 데이터를 암호화해야 합니다. 암호화 옵션은 사용하는 Azure Redis 계층에 따라 달라집니다.
데이터 지속성 설정
Azure Portal, ARM(Azure Resource Manager) 템플릿, PowerShell 또는 Azure CLI를 사용하여 프리미엄 또는 엔터프라이즈 계층 Azure Redis 캐시에 대한 데이터 지속성을 만들고 설정할 수 있습니다.
필수 조건
- Azure Redis 캐시에 지속성을 만들고 추가하려면 Azure 구독에서 프리미엄 또는 엔터프라이즈 수준 캐시를 만들 수 있는 쓰기 액세스 권한과 권한이 필요합니다.
- 프리미엄 계층 캐시의 경우 캐시 데이터를 저장하려면 캐시와 동일한 지역에 Azure Storage 계정이 필요합니다. 인증 방법으로 관리 ID를 사용하는 경우 캐시와 다른 구독에서 스토리지 계정을 사용할 수 있습니다.
- Azure PowerShell 절차의 경우 Azure PowerShell을 설치하거나 Azure Portal의 PowerShell 환경에서 Azure Cloud Shell 을 사용해야 합니다.
- Azure CLI 절차의 경우 Azure CLI를 설치하거나 Azure Portal의 Bash 환경에서 Azure Cloud Shell 을 사용해야 합니다.
Azure Portal에서 데이터 지속성 설정
Azure Portal에서 Azure Redis Premium 또는 엔터프라이즈 수준 캐시 인스턴스를 만들 때 데이터 지속성을 설정할 수 있습니다.
Azure PowerShell을 사용하여 데이터 지속성 설정
Azure PowerShell을 사용하여 Azure Redis Premium 또는 엔터프라이즈 계층 캐시를 만들 때 데이터 지속성을 설정하거나 이전에 만든 캐시에 지속성을 추가할 수 있습니다.
Azure CLI를 사용하여 데이터 지속성 설정
Azure CLI를 사용하여 Azure Redis Premium 또는 엔터프라이즈 계층 캐시를 만들 때 데이터 지속성을 설정하거나 이전에 만든 캐시에 지속성을 추가할 수 있습니다.
지속성 FAQ
이 섹션에는 Azure Redis 캐시 지속성에 대한 일반적인 질문에 대한 답변이 포함되어 있습니다.
- 기존 캐시에서 지속성을 사용하도록 설정할 수 있나요?
- AOF 및 RDB 지속성을 모두 사용하도록 설정할 수 있나요?
- 지속성은 지역 복제에서 작동하나요?
- 어떤 지속성 모델을 선택해야 하나요?
- 다른 크기로 크기를 조정하고 크기 조정 작업이 복원되기 전의 백업이 복원되면 어떻게 되나요?
- 서로 다른 두 캐시의 지속성에 대해 동일한 스토리지 계정을 사용할 수 있나요?
- 스토리지 데이터 지속성 사용에 대한 요금이 청구하나요?
- RDB와 AOF 지속성을 얼마나 자주 스토리지에 기록합니까? 일시 삭제를 사용하도록 설정해야 하나요?
- 스토리지 계정의 방화벽 예외가 지속성에 영향을 주나요?
- 내 스토리지 계정에서 일시 삭제가 사용되는지 여부를 어떻게 확인하나요?
- 내 캐시가 있는 구독과 다른 구독에서 스토리지 계정을 사용할 수 있나요?
RDB 지속성
- 캐시를 만든 후 RDB 백업 빈도를 변경할 수 있나요?
- RDB 백업 빈도가 60분인 경우 백업 간에 60분이 넘는 이유는 무엇인가요?
- 새 백업을 만들면 이전 RDB 백업은 어떻게 되나요?
AOF 지속성
- 두 번째 스토리지 계정은 언제 사용해야 하나요?
- AOF 지속성이 캐시 처리량, 대기 시간 또는 성능에 영향을 주나요?
- 두 번째 스토리지 계정은 어떻게 제거할 수 있나요?
- 다시 쓰기란 무엇이며 내 캐시에 어떤 영향을 주나요?
- AOF가 설정된 캐시의 크기를 조정하는 경우 어떻게 되나요?
- 스토리지에서 AOF 데이터는 어떤 방식으로 구성되나요?
- 둘 이상의 복제본이 있는 경우 AOF 지속성을 사용하도록 설정할 수 있나요?
이전에 만든 캐시에서 지속성을 사용할 수 있나요?
예, 캐시 만들기 및 기존 프리미엄, 엔터프라이즈 또는 엔터프라이즈 플래시 캐시에서 지속성을 구성할 수 있습니다.
AOF 및 RDB 지속성을 동시에 사용할 수 있나요?
아니요, RDB 또는 AOF를 사용하도록 설정할 수 있지만 한 번에 둘 다 사용하도록 설정할 수는 없습니다.
지속성은 지역 복제에서 어떻게 작동하나요?
데이터 지속성은 지역 복제를 사용하도록 설정된 상태에서 작동하지 않습니다.
어떤 지속성 모델을 선택해야 하나요?
AOF 지속성은 초당 한 번 로그에 쓰는 반면 RDB 지속성은 구성된 백업 간격에 따라 백업을 저장합니다. RDB 지속성은 AOF 지속성보다 처리량 및 성능에 미치는 영향이 적습니다.
데이터 손실을 최소화하고 캐시에 대해 더 낮은 처리량을 처리할 수 있는 경우 AOF 지속성을 선택합니다. 캐시에서 최적의 처리량을 유지하지만 데이터 복구 메커니즘을 원하는 경우 RDB 지속성을 선택합니다.
자세한 내용은 RDB 장점, RDB 단점, AOF 장점 및 AOF 단점을 참조하세요.
AOF 지속성이 내 캐시의 처리량, 대기 시간 또는 성능에 영향을 미치나요?
AOF 지속성은 처리량에 영향을 줍니다. AOF는 주 프로세스와 복제본 프로세스 모두에서 실행되므로 AOF 지속성이 없는 동일한 캐시보다 AOF 지속성이 있는 캐시에 대한 CPU 및 서버 로드가 더 높습니다. AOF는 각 쓰기 및 삭제가 몇 초 정도 지연되면서 유지되기 때문에 메모리 데이터와 최상의 일관성을 제공합니다. 단점은 AOF가 컴퓨팅 집약적이라는 것입니다.
CPU 및 서버 로드가 모두 90%미만인 경우 처리량에 대한 페널티가 있지만 캐시는 정상적으로 작동합니다. CPU 및 서버 로드가 90% 이상인 경우 처리량 페널티가 높아질 수 있으며 캐시에서 처리되는 모든 명령의 대기 시간이 증가합니다. AOF 지속성이 기본 프로세스와 복제본 프로세스 모두에서 실행되어 사용 중인 노드에 대한 부하가 늘어나고 데이터의 중요한 경로에 지속성이 적용되기 때문에 대기 시간이 늘어납니다.
크기를 다른 크기로 조정하고 크기 조정 작업 전에 수행된 백업이 복원되면 어떻게 되나요?
- 더 큰 크기로 크기를 조정한 경우 아무런 효과가 없습니다.
- 더 작은 크기로 크기를 조정하고 새 크기에 대한 데이터베이스 제한보다 큰 사용자 지정 데이터베이스 설정이 있는 경우 해당 데이터베이스의 데이터는 복원되지 않습니다. 자세한 내용은 사용자 지정 데이터베이스 설정이 크기 조정 동안 영향을 받나요?
- 더 작은 크기로 크기를 조정하고 작은 크기에 마지막 백업의 모든 데이터를 저장할 충분한 공간이 없으면 복원 프로세스 중에 키가 제거됩니다. 일반적으로 키는 allkeys-lru 제거 정책을 사용하여 제거됩니다.
서로 다른 두 캐시의 지속성에 대해 동일한 스토리지 계정을 사용할 수 있나요?
아니요, 다른 스토리지 계정을 사용해야 합니다. 지속성을 설정하려면 각 캐시에 자체 스토리지 계정이 있어야 합니다.
중요
또한 캐시에서 지속성 및 정기적인 내보내기 작업을 수행하기 위해 별도의 스토리지 계정을 사용합니다.
데이터 지속성에 사용되는 스토리지에 대한 요금이 청구되나요?
- 프리미엄 캐시의 경우 스토리지 계정의 가격 책정 모델에 따라 사용되는 스토리지에 대한 요금이 청구됩니다.
- Enterprise 및 Enterprise Flash 캐시의 경우 관리 디스크 스토리지가 가격에 포함되며 추가 요금이 발생하지 않습니다.
RDB 및 AOF 지속성은 Blob에 얼마나 자주 쓰며 일시 삭제를 사용하도록 설정해야 하나요?
RDB 및 AOF 지속성은 주기적으로 스토리지 Blob에 기록할 수 있으며, 이는 매시간, 몇 분마다, 또는 매초마다 가능합니다. 매초 쓰기 작업도 수행하는 일시 삭제는 캐시의 일반적인 데이터 크기로 인해 비용이 빠르게 증가할 수 있습니다. 스토리지 계정에서 일시 삭제를 사용하도록 설정하면 Azure Redis는 이전 백업 데이터를 삭제하여 스토리지 비용을 최소화할 수 없습니다.
Azure Redis Premium 계층 데이터 지속성에 사용하는 스토리지 계정에서 일시 삭제를 사용하지 않는 것이 가장 좋습니다. 일시 삭제 비용에 대한 자세한 내용은 가격 책정 및 청구를 참조하세요.
캐시를 만든 후 RDB 백업 주기를 변경할 수 있나요?
예, Azure Portal, Azure CLI 또는 Azure PowerShell을 사용하여 RDB 지속성에 대한 백업 빈도를 변경할 수 있습니다.
RDB 백업 주기가 60분인데 왜 백업 사이 간격이 60분 이상이 되나요?
RDB 지속성 백업 빈도 간격은 이전 백업 프로세스가 성공적으로 완료될 때까지 시작되지 않습니다. 백업 빈도가 60분이고 백업 프로세스를 완료하는 데 15분이 걸리는 경우 다음 백업은 이전 백업의 시작 시간 이후 75분까지 시작되지 않습니다.
새 백업을 만들면 이전 RDB 백업은 어떻게 되나요?
가장 최근 백업을 제외한 모든 RDB 지속성 백업은 자동으로 삭제됩니다. 즉시 삭제되지 않을 수 있으나 오래된 백업을 무한정 유지하지는 않습니다. 지속성을 위해 프리미엄 계층을 사용하고 스토리지 계정에 대해 일시 삭제가 설정된 경우 기존 백업은 일시 삭제 상태로 계속 유지됩니다.
두 번째 스토리지 계정은 언제 사용해야 하나요?
캐시에서 일반적인 SET 작업보다 높은 것으로 예상되는 경우 AOF 지속성에 대해 두 번째 스토리지 계정을 사용합니다. 보조 스토리지 계정을 사용하면 캐시가 스토리지 대역폭 제한에 도달하지 않도록 할 수 있습니다. 이 옵션은 프리미엄 계층 캐시에만 사용할 수 있습니다.
두 번째 스토리지 계정은 어떻게 제거할 수 있나요?
두 번째 스토리지 계정을 첫 번째 스토리지 계정과 동일하게 설정하여 AOF 지속성 보조 스토리지 계정을 제거할 수 있습니다. 기존 캐시에 대한 설정을 변경하려면 캐시 페이지의 왼쪽 탐색 메뉴에 있는 설정에서 데이터 지속성을 선택합니다. 지속성을 완전히 사용하지 않도록 설정하려면 데이터 지속성 페이지에서 사용 안 함을 선택합니다.
다시 쓰기란 무엇이며 내 캐시에 어떤 영향을 미치나요?
AOF 파일이 충분히 커지면 다시 쓰기가 캐시에 자동으로 큐에 대기됩니다. 다시 쓰기를 수행하면 현재 데이터 집합을 만드는 데 필요한 작업의 최소 집합을 사용하여 AOF 파일 크기가 다시 조정됩니다.
다시 쓰기 동안, 성능 제한에 더 빠르게 도달할 수 있으며 큰 데이터 세트를 처리할 때 특히 더 그렇습니다. 다시 쓰기는 AOF 파일이 커지면 자주 발생하지 않지만 발생하는 경우 상당한 시간이 걸립니다.
AOF가 설정된 캐시의 크기를 조정하는 경우 어떻게 되나요?
크기 조정 시 AOF 파일이 큰 경우 크기 조정이 완료된 후 파일을 다시 로드하기 때문에 크기 조정 작업이 평소보다 오래 걸릴 것으로 예상합니다. 또한 크기 조정 작업 전에 수행된 백업이 다른 크기로 확장되고 복원되면 어떻게 됩니까?
스토리지에서 AOF 데이터는 어떤 방식으로 구성되나요?
프리미엄 티어를 사용할 때, AOF 파일에 저장된 데이터는 셰어드당 여러 개의 페이지 블롭으로 나뉩니다. 기본적으로 Blob의 절반은 기본 스토리지 계정에 저장되고 절반은 보조 스토리지 계정에 저장됩니다. 여러 페이지 Blob과 두 개의 서로 다른 스토리지 계정 간에 데이터를 분할하면 성능이 향상됩니다.
캐시에 대한 쓰기의 최고 속도가 높지 않으면 이 추가 성능이 필요하지 않을 수 있습니다. 이 경우 보조 스토리지 계정 구성을 제거하고 단일 기본 스토리지 계정에 저장된 모든 AOF 파일을 제거할 수 있습니다. 다음 표에서는 각 가격 책정 계층에서 사용하는 총 페이지 Blob 수를 표시합니다.
프리미엄 계층 | 블롭들 |
---|---|
P1 | 분할당 8 |
P2 | 분할당 16 |
P3 | 분할당 32개 |
P4 | 분할당 40개 |
클러스터링을 사용하도록 설정하면 캐시의 각 샤드에는 이전 테이블에 따라 고유한 페이지 블롭 집합이 있습니다. 예를 들어, 3개의 샤드가 있는 P2 캐시는 AOF 파일을 48개의 페이지 Blob에 분산시킵니다. 각 샤드당 16개의 Blob이 있고, 총 3개의 샤드가 있습니다.
다시 쓰기 후 2개의 AOF 파일 집합이 스토리지에 존재합니다. 다시 쓰기 작업은 백그라운드에서 발생하며 첫 번째 파일 세트에 추가됩니다. 다시 작성하는 동안 캐시로 전송된 SET 작업은 두 번째 파일 집합에 추가됩니다.
다시 작성하는 동안 오류가 발생하면 백업이 일시적으로 저장됩니다. 다시 쓰기가 완료되면 백업이 즉시 삭제됩니다. 스토리지 계정에 대해 일시 삭제를 켜면 일시 삭제 설정이 적용되고 기존 백업은 일시 삭제 상태로 계속 유지됩니다.
스토리지 계정에 방화벽 예외가 있으면 지속성에 영향을 주나요?
예. 프리미엄 계층의 지속성을 위해 스토리지 계정에서 방화벽 설정을 사용하면 지속성 기능이 작동하지 않도록 할 수 있습니다.
오류 메트릭을 확인하여 데이터 저장에서 발생하는 오류를 확인할 수 있습니다. 이 메트릭은 스토리지 계정에 대한 방화벽 제한 또는 기타 문제로 인해 캐시가 데이터를 유지할 수 없는지 여부를 나타냅니다.
방화벽이 설정된 스토리지 계정으로 데이터 지속성을 사용하려면 관리 ID 기반 인증 을 사용하여 스토리지에 연결합니다. 관리 ID를 사용하면 캐시 인스턴스가 신뢰할 수 있는 서비스 목록에 추가되므로 방화벽 예외를 더 쉽게 적용할 수 있습니다. 관리 ID 대신 키를 사용하여 스토리지 계정에 권한을 부여하는 경우 스토리지 계정에 방화벽 예외가 있으면 지속성 프로세스가 중단되는 경향이 있습니다.
둘 이상의 복제본이 있는 경우 AOF 지속성을 사용하도록 설정할 수 있나요?
프리미엄 계층에서는 여러 복제본에서 AOF 지속성을 사용할 수 없습니다. Enterprise 및 Enterprise Flash 계층에서는 복제본 아키텍처가 더 복잡하지만 영역 중복 배포에서 엔터프라이즈 캐시를 사용할 때 AOF 지속성이 지원됩니다.
내 스토리지 계정에서 일시 삭제가 사용되는지 여부를 어떻게 확인하나요?
Azure Portal에서 캐시가 지속성에 사용하는 스토리지 계정을 선택하고 왼쪽 탐색 메뉴의 데이터 관리에서 데이터 보호를 선택합니다. 데이터 보호 페이지에서 Blob에 대해 일시 삭제를 사용하도록 설정했는지 확인합니다. Azure Storage 계정의 일시 삭제에 대한 자세한 내용은 Blob에 일시 삭제 사용을 참조하세요.
내 캐시가 있는 구독과 다른 구독에서 스토리지 계정을 사용할 수 있나요?
관리 ID를 스토리지 계정 인증 방법으로 사용하는 경우에만 다른 구독에서 스토리지 계정을 선택할 수 있습니다.
관련 콘텐츠
Azure Cache for Redis 기능에 대해 자세히 알아봅니다.