Enterprise Azure Cache for Redis 인스턴스에 대해 활성 지역 복제 구성
이 문서에서는 Azure Portal을 사용하여 활성 지역 복제 캐시를 구성하는 방법에 대해 설명합니다.
활성 지역 복제는 최대 5개의 Enterprise Azure Cache for Redis 인스턴스를 Azure 지역 전체를 포괄하는 단일 캐시로 그룹화합니다. 모든 인스턴스는 로컬 기본 캐시 역할을 합니다. 애플리케이션은 읽기 및 쓰기 요청에 사용할 인스턴스를 결정합니다.
참고 항목
Azure 지역 간 데이터 전송은 표준 대역폭 요금으로 청구됩니다.
가용성 범위
서비스 계층 | 기본, 표준 | Premium | Enterprise, Enterprise Flash |
---|---|---|---|
사용 가능 | 아니요 | 아니요 | 예 |
Azure Cache for Redis의 프리미엄 계층은 수동 지역 복제라는 지역 복제 버전을 제공합니다. 수동 지역 복제는 활성-수동 구성을 제공합니다.
활성 지역 복제 필수 구성 요소
활성 지역 복제를 사용하는 경우 몇 가지 제한 사항이 있습니다.
- RediSearch 및 RedisJSON 모듈만 지원됩니다.
- 엔터프라이즈 플래시 계층에서는 제거 없음 제거 정책만 사용할 수 있습니다. 모든 제거 정책은 엔터프라이즈 계층에서 지원됩니다.
- 활성 지역 복제는 뛰어난 환경을 제공하기 때문에 데이터 지속성은 지원되지 않습니다.
- 기존(즉, 실행 중인) 캐시를 지역 복제 그룹에 추가할 수 없습니다. 캐시를 만들 때만 지역 복제 그룹에 캐시를 추가할 수 있습니다.
- 지역 복제 그룹 내의 모든 캐시는 구성이 동일해야 합니다. 예를 들어 모든 캐시에는 동일한 SKU, 용량, 제거 정책, 클러스터링 정책, 모듈 및 TLS 설정이 있어야 합니다.
- 활성 지역 복제를 사용하는 경우
FLUSHALL
및FLUSHDB
Redis 명령을 사용할 수 없습니다. 명령을 금지하면 의도하지 않은 데이터 삭제가 방지됩니다. 대신 포털에서 플러시 작업을 사용합니다. - E1 SKU는 활성 지역 복제를 지원하지 않습니다.
활성 지역 복제 그룹 만들기 또는 조인하기
새 Azure Cache for Redis 리소스를 만들 때 고급 탭을 선택합니다. 클러스터링 정책을 포함하여 양식의 첫 번째 부분을 완료합니다. 클러스터링 정책 선택에 대한 자세한 내용은 클러스터링을 참조하세요.
구성을 선택하여 활성 지역 복제를 설정합니다.
첫 번째 캐시 인스턴스에 대해 새 복제 그룹을 만듭니다. 또는 목록에서 기존 항목을 선택합니다.
구성을 선택하여 완료합니다.
첫 번째 캐시가 성공적으로 만들어질 때까지 기다립니다. 완료되면 활성 지역 복제에 대해 구성됨 집합이 표시됩니다. 지역 복제 그룹의 캐시 인스턴스별로 위 단계를 반복합니다.
활성 지역 복제 그룹에서 제거
활성 지역 복제 그룹에서 캐시 인스턴스를 제거하려는 경우 해당 인스턴스를 삭제하기만 하면 됩니다. 나머지 인스턴스는 자동으로 다시 구성됩니다.
지역 중단이 있는 경우 강제로 연결 해제
지역 중단으로 인해 복제 그룹의 캐시 중 하나를 사용할 수 없는 경우 복제 그룹에서 사용할 수 없는 캐시를 강제로 제거할 수 있습니다. 강제 연결을 캐시에 적용 한 후에는 강제 연결을 해제한 후 해당 캐시에 기록된 데이터를 복제 그룹에 다시 동기화할 수 없습니다.
복제 그룹의 나머지 캐시가 사용할 수 없는 캐시에 공유되지 않은 메타데이터를 저장하기 시작하므로 사용할 수 없는 캐시를 제거해야 합니다. 이 경우 복제 그룹의 사용 가능한 캐시에 메모리가 부족할 수 있습니다.
Azure Portal로 이동하여 여전히 사용할 수 있는 복제 그룹의 캐시 중 하나를 선택합니다.
왼쪽의 리소스 메뉴에서 활성 지역 복제로 선택하여 작업 창에서 설정을 확인합니다.
확인란을 선택하여 강제로 연결 해제해야 하는 캐시를 선택합니다.
강제 연결 해제를 선택한 다음, 확인을 선택하여 확인합니다.
영향을 받는 지역의 가용성이 복원되면 영향을 받는 캐시를 삭제하고 다시 만들어 복제 그룹에 다시 추가해야 합니다.
Azure CLI 또는 PowerShell을 사용하여 활성 지역 복제 설정
Azure CLI
Azure CLI를 사용하여 새 캐시 및 지역 복제 그룹을 만들거나 기존 지역 복제 그룹에 새 캐시를 추가합니다. 자세한 내용은 az redisenterprise create를 참조하세요.
Azure CLI를 사용하여 새 지역 복제 그룹에서 새 Enterprise 인스턴스 만들기
이 예에서는 미국 동부 지역에 Cache1이라는 새 Azure Cache for Redis Enterprise E10 캐시 인스턴스를 만듭니다. 그런 다음 캐시가 replicationGroup이라는 새로운 활성 지역 복제 그룹에 추가됩니다.
az redisenterprise create --location "East US" --cluster-name "Cache1" --sku "Enterprise_E10" --resource-group "myResourceGroup" --group-nickname "replicationGroup" --linked-databases id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"
활성 지역 복제를 올바르게 구성하려면 만드는 중인 캐시 인스턴스의 ID를 --linked-databases
매개 변수와 함께 추가해야 합니다. ID의 형식은 다음과 같습니다.
/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default
Azure CLI를 사용하여 기존 지역 복제 그룹에 새 엔터프라이즈 인스턴스 만들기
이 예제에서는 미국 서부 지역에 Cache2라는 새 Enterprise E10 캐시 인스턴스를 만듭니다. 그런 다음, 스크립트는 이전 절차에서 만든 replicationGroup
활성 지역 복제 그룹에 캐시를 추가합니다. 이렇게 하면 Cache1을 사용하여 활성-활성 구성으로 연결됩니다.
az redisenterprise create --location "West US" --cluster-name "Cache2" --sku "Enterprise_E10" --resource-group "myResourceGroup" --group-nickname "replicationGroup" --linked-databases id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default" --linked-databases id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"
이전과 마찬가지로 --linked-databases
매개 변수를 사용하여 Cache1 및 Cache2를 모두 나열해야 합니다.
Azure PowerShell
Azure PowerShell을 사용하여 새 캐시 및 지역 복제 그룹을 만들거나 기존 지역 복제 그룹에 새 캐시를 추가합니다. 자세한 내용은 New-AzRedisEnterpriseCache를 참조하세요.
PowerShell을 사용하여 새 지역 복제 그룹에 새 Enterprise 인스턴스 만들기
이 예에서는 미국 동부 지역에 Cache1이라는 새 Azure Cache for Redis Enterprise E10 캐시 인스턴스를 만듭니다. 그런 다음 캐시가 replicationGroup이라는 새로운 활성 지역 복제 그룹에 추가됩니다.
New-AzRedisEnterpriseCache -Name "Cache1" -ResourceGroupName "myResourceGroup" -Location "East US" -Sku "Enterprise_E10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}'
활성 지역 복제를 올바르게 구성하려면 만드는 중인 캐시 인스턴스의 ID를 -LinkedDatabase
매개 변수와 함께 추가해야 합니다. ID의 형식은 다음과 같습니다.
/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default
PowerShell을 사용하여 기존 지역 복제 그룹에 새 Enterprise 인스턴스 만들기
이 예제에서는 미국 서부 지역에 Cache2라는 새 Enterprise E10 캐시 인스턴스를 만듭니다. 그런 다음 스크립트는 이전 절차에서 만든 replicationGroup 활성 지역 복제 그룹에 캐시를 추가합니다. 명령을 실행한 후 두 캐시인 Cache1 및 Cache2가 활성-활성 구성에 연결됩니다.
New-AzRedisEnterpriseCache -Name "Cache2" -ResourceGroupName "myResourceGroup" -Location "West US" -Sku "Enterprise_E10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}', '{id:"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"}'
이전과 마찬가지로 -LinkedDatabase
매개 변수를 사용하여 Cache1 및 Cache2를 모두 나열해야 합니다.
지역에서 복제 그룹의 인스턴스 크기 조정
활성 지역 복제를 사용하도록 구성된 인스턴스의 크기를 조정할 수 있습니다. 그러나 캐시 크기가 서로 다른 지역에서 복제 그룹에 문제가 발생할 수 있습니다. 이러한 문제가 발생하지 않도록 하려면 지역 복제 그룹의 모든 캐시의 크기와 용량이 같아야 합니다.
지역 복제 그룹의 모든 인스턴스를 동시에 크기 조정하는 것은 어렵기 때문에 Azure Cache for Redis에는 잠금 메커니즘이 있습니다. 지역 복제 그룹에서 한 인스턴스의 크기를 조정하면 기본 VM의 크기가 조정되지만 사용 가능한 메모리는 다른 인스턴스도 확장될 때까지 원래 크기로 제한됩니다. 나머지 인스턴스에 대한 다른 크기 조정 작업은 크기를 조정할 첫 번째 캐시와 동일한 구성과 일치할 때까지 잠깁니다.
크기 조정 예제
예를 들어 지역 복제 그룹에 세 개의 인스턴스, 모든 Enterprise E10 인스턴스가 있을 수 있습니다.
인스턴스 이름 | Redis00 | Redis01 | Redis02 |
---|---|---|---|
Type | Enterprise E10 | Enterprise E10 | Enterprise E10 |
이 지역에서 복제 그룹의 각 인스턴스를 Enterprise E20 인스턴스로 확장하려는 경우를 가정해 보겠습니다. 먼저 캐시 중 하나를 E20까지 확장합니다.
인스턴스 이름 | Redis00 | Redis01 | Redis02 |
---|---|---|---|
Type | Enterprise E20 | Enterprise E10 | Enterprise E10 |
이 시점에서 Redis01
인스턴스는 Redis02
Enterprise E20 인스턴스로만 확장할 수 있습니다. 다른 모든 크기 조정 작업은 차단됩니다.
참고 항목
이 Redis00
시점에서 인스턴스의 크기 조정이 더 이상 차단되지 않습니다. 그러나 한 번 Redis01
Redis02
차단되거나 Enterprise E20으로 크기가 조정됩니다.
각 인스턴스의 크기를 동일한 계층 및 크기로 조정하면 모든 크기 조정 잠금이 제거됩니다.
인스턴스 이름 | Redis00 | Redis01 | Redis02 |
---|---|---|---|
Type | Enterprise E20 | Enterprise E20 | Enterprise E20 |
플러시 작업
실수로 데이터가 손실될 수 있으므로 지역 복제 그룹에 있는 캐시 인스턴스에는 FLUSHALL
및 FLUSHDB
Redis 명령을 사용할 수 없습니다. 대신 활성 지역 복제 작업 창의 맨 위에 있는 캐시 플러시 단추를 사용합니다.
Azure CLI 또는 PowerShell을 사용하여 캐시 플러시
Azure CLI 및 PowerShell을 사용하여 플러시 작업을 트리거할 수도 있습니다. Azure CLI 사용에 대한 자세한 내용은 az redisenterprise database flush를 참조하세요. PowerShell 사용에 대한 자세한 내용은 Invoke-AzRedisEnterpriseCacheDatabaseFlush를 참조하세요.
Important
Flush Caches 기능을 사용할 때는 주의해야 합니다. 단추를 선택하면 현재 캐시 및 지역 복제 그룹의 모든 연결된 캐시에서 모든 데이터가 제거됩니다.
Azure 역할 기반 액세스 제어를 사용하여 기능에 대한 액세스를 관리합니다. 권한 있는 사용자만 모든 캐시를 플러시할 수 있는 액세스 권한을 부여받아야 합니다.
다음 단계
Azure Cache for Redis 기능에 대해 자세히 알아봅니다.