Azure Managed Redis 인스턴스 크기 조정

Azure Managed Redis는 다양한 SKU 및 계층을 제공하므로 요구 사항에 맞는 캐시 크기 및 성능을 선택할 수 있습니다. 더 큰 메모리 크기로 확장하거나 컴퓨팅 성능이 더 뛰어난 계층으로 전환할 수 있습니다. 더 작거나 더 적절한 계층으로 축소할 수도 있습니다. 이 문서에서는 Azure 포털 및 Azure PowerShell 및 Azure CLI 같은 도구를 사용하여 캐시 크기를 조정하는 방법을 보여 줍니다.

비고

Azure Managed Redis의 각 계층에는 거의 동일한 기능이 있으므로 주로 크기 조정을 사용하여 메모리 및 성능 특성을 변경합니다. 지역 간 복제된 Azure Managed Redis 캐시의 크기 조정은 미리 보기 상태입니다.

크기 조정 유형

Azure Managed Redis는 다음과 같은 두 차원 크기 조정을 지원합니다.

  • 메모리 메모리를 늘리면 Redis 인스턴스의 크기가 증가하므로 더 많은 데이터를 저장할 수 있습니다. 메모리를 줄이면 현재 메모리 사용량이 사용하려는 새 메모리 크기보다 작은지 확인합니다.

  • vCPU Azure Managed Redis는 각 메모리 수준에 대해 vCPU 수가 증가하는 세 가지 계층(메모리 최적화, 분산컴퓨팅 최적화)을 제공합니다. vCPU 수가 더 많은 계층으로 크기를 조정하면 메모리를 늘리지 않아도 인스턴스의 성능이 향상됩니다. 단일 vCPU만 사용하는 Azure Cache for Redis 기본, 표준 및 프리미엄 계층과 달리 Azure Managed Redis는 Redis Enterprise 스택을 사용합니다. Redis Enterprise 스택은 여러 vCPU를 사용할 수 있습니다. 즉, Redis 인스턴스에서 사용하는 vCPU의 수는 처리량 및 대기 시간 성능과 직접 상관 관계가 있습니다.

성능 계층

각각 성능 특성과 가격 수준이 다른 Azure Managed Redis의 4계층을 사용할 수 있습니다.

중요합니다

350GB가 넘는 스토리지를 사용하는 모든 인메모리 계층은 미리 보기 상태이며, 여기에는 Memory Optimized M500 이상, Balanced B500 이상, Compute Optimized X500 이상이 포함됩니다. 이러한 모든 계층 이상은 미리 보기로 제공됩니다.

플래시 최적화 계층 A2000 및 A4500은 미리 보기로 제공됩니다.

계층 및 SKU 한눈에 보기

메모리에 데이터를 저장하는 세 가지 계층은 다음과 같습니다.

  • 메모리 최적화 높은 메모리 대 vCPU 비율(8:1)이 필요하지만 가장 높은 처리량 성능은 필요하지 않은 메모리 집약적 사용 사례에 이상적입니다. 더 적은 처리 능력 혹은 처리량이 필요한 시나리오에 관해 더 낮은 가격점을 제공해 개발과 테스트 환경에 적합한 선택입니다.

  • 균형(메모리 + 컴퓨팅) 균형 잡힌 메모리 대 vCPU(4:1) 비율을 제공하여 표준 워크로드에 적합합니다. 이 계층은 메모리 및 컴퓨팅 리소스의 정상 균형을 제공합니다.

  • 컴퓨팅 최적화 최대 처리량이 필요하고 메모리 대 vCPU 비율(2:1)이 낮은 성능 집약적 워크로드를 위해 설계되었습니다. 가장 높은 성능을 요하는 애플리케이션에 이상적입니다.

    SKU 및 등급의 비교를 보여 주는 테이블 이미지입니다.

메모리와 디스크에 데이터를 저장하는 계층은 다음과 같습니다.

  • 플래시 최적화 를 사용하면 Redis 클러스터가 덜 자주 액세스하는 데이터를 메모리(RAM)에서 NVMe 스토리지로 자동으로 이동할 수 있습니다. 이러한 성능 저하를 통해 큰 데이터 세트를 사용하여 캐시를 비용 효율적으로 스케일링할 수 있습니다.

    스토리지 사용량을 보여 주는 테이블의 Flash Optimized 계층을 보여 주는 테이블입니다.

성능(처리량 및 대기 시간)

성능 벤치마크 및 각 SKU 및 계층의 성능을 측정하는 방법에 대한 자세한 내용은 Azure Managed Redis를 사용한 성능 테스트 참조하세요.

크기를 조정하는 경우

Azure Managed Redis의 모니터링 기능을 사용하여 캐시의 상태 및 성능을 모니터링합니다. 이 정보를 사용하여 캐시 크기 조정 시기를 결정합니다.

다음 메트릭을 모니터링하여 크기를 조정해야 하는지 확인합니다.

  • 중앙 처리 장치(CPU)
    • CPU 사용량이 높으면 Redis 서버가 모든 클라이언트의 요청과 보조를 맞추지 못합니다. 더 많은 vCPU로 크기를 조정하면 여러 Redis 프로세스에 요청을 분산하는 데 도움이 됩니다. 또한 크기를 조정하면 TLS 암호화 및 암호 해독, 연결 및 연결 끊김을 분산하여 TLS를 사용하는 캐시 인스턴스의 속도를 높일 수 있습니다.
  • 메모리 사용량
    • 높은 메모리 사용량은 데이터 크기가 현재 캐시 크기에 비해 너무 큰 것을 나타냅니다. 더 큰 메모리를 사용하는 캐시 크기로 크기를 조정하는 것을 고려합니다. 메모리를 줄일 때 현재 캐시의 메모리 사용량이 사용하려는 새 메모리 크기보다 낮은지 확인합니다. 큰 데이터 집합은 더 작은 캐시 크기에 넣을 수 없습니다.
  • 클라이언트 연결
    • 각 캐시 크기에는 지원할 수 있는 클라이언트 연결 수에 대한 제한이 있습니다. 클라이언트 연결이 캐시 크기 제한에 근접한 경우, 더 큰 메모리 크기 혹은 더 높은 성능 계층으로 크기를 조정하는 것이 좋습니다.
    • 캐시 크기별 연결 제한에 대한 자세한 내용은 Azure Managed Redis를 사용한 성능 테스트를 참조하세요.
  • 네트워크 대역폭
    • Redis 서버가 사용 가능한 대역폭을 초과하면 서버가 데이터를 클라이언트에 충분히 빠르게 푸시할 수 없으므로 클라이언트 요청 시간이 초과됩니다. 사용 중인 서버 쪽 대역폭의 양을 확인하려면 "캐시 읽기" 및 "캐시 쓰기" 메트릭을 확인합니다. Redis 서버가 사용 가능한 네트워크 대역폭을 초과하는 경우 더 높은 성능 계층 또는 더 큰 캐시 크기로 크기를 조정하는 것이 좋습니다.
    • 선택한 클러스터 정책은 사용할 수 있는 네트워크 대역폭에 영향을 줍니다. 일반적으로 OSS 클러스터 정책은 엔터프라이즈 클러스터 정책보다 네트워크 대역폭이 높습니다. 자세한 내용은 클러스터 정책을 참조하세요.
    • 캐시 크기별로 네트워크에서 사용 가능한 대역폭에 대한 자세한 내용은 Azure Managed Redis를 사용한 성능 테스트를 참조하세요.

사용할 캐시 가격 책정 계층을 결정하는 방법에 대한 자세한 내용은 올바른 계층 선택을 참조하세요.

크기 조정 프로세스를 최적화하는 방법에 대한 자세한 내용은 크기 조정에 대한 모범 사례 가이드를 참조하세요.

Azure Managed Redis 크기 조정의 제한 사항

  • 메모리 최적화, 분산 또는 컴퓨팅 최적화 계층에서 플래시 최적화 계층으로 확장하거나 그 반대로 확장할 수 없습니다.
  • Redis 인스턴스의 메모리를 줄이면 Redis 인스턴스의 현재 메모리 사용량이 의도한 새 메모리 크기보다 작아야 합니다. 자세한 내용은 더 작은 메모리 크기로 크기를 조정하면 내 데이터가 어떻게 되나요?
  • Redis 인스턴스에 대한 메모리 또는 vCPU를 줄이는 경우 현재 인스턴스의 구성과 호환되는 vCPU 및 분할된 데이터베이스 구성이 있는 SKU로만 확장할 수 있습니다.
  • 크기 조정 시 Redis 인스턴스의 기본 IP 주소가 변경될 수 있는 경우도 있습니다. 인스턴스에 대한 DNS 레코드는 변경되며 대부분의 애플리케이션에 투명합니다. 그러나 IP 주소를 사용하여 Redis 인스턴스에 대한 연결을 구성하거나 Redis 인스턴스에 대한 트래픽을 허용하는 NSG 또는 방화벽을 구성하는 경우 애플리케이션이 DNS 레코드 업데이트 후 연결에 문제가 있을 수 있습니다.
  • 지역 복제 그룹의 인스턴스 크기를 조정할 때는 몇 가지 제한 사항이 적용됩니다. 자세한 내용은 지역 복제에 크기 조정 제한이 있나요?를 참조하세요.
  • 규모를 축소할 때는 특정 계층으로만 확장할 수 있습니다. 자세한 내용은 더 작은 SKU의 하위 집합으로만 축소할 수 있는 이유는 무엇인가요?를 참조하세요.

크기 조정 방법

이 섹션에서는 Azure Managed Redis 캐시의 크기를 조정하는 방법을 설명합니다.

Azure 포털을 사용하여 크기 조정

비고

지역 간 복제된 Azure Managed Redis 캐시의 크기 조정 기능은 현재 미리 보기 상태입니다.

  1. 캐시 크기를 조정하려면 Azure Portal에서 캐시를 찾은 다음, 리소스 메뉴에서 스케일링을 선택합니다.

  2. vCPU의 크기를 조정하려면 다른 캐시 유형을 선택한 다음 저장을 선택합니다.

    중요합니다

    크기를 조정할 수 없는 SKU를 선택하면 저장 옵션이 비활성화됩니다. 허용되는 크기 조정 옵션에 대한 자세한 내용은 Azure Managed Redis 크기 조정의 제한 사항을 검토하세요.

  3. 크기 조정이 완료되면 리소스 메뉴의 개요 섹션을 볼 때 상태가 크기 조정에서 실행 중으로 변경됩니다.

PowerShell을 사용하여 크기 조정

PowerShell을 사용하여 Azure Managed Redis 인스턴스의 크기를 조정하려면 Update-AzRedisEnterpriseCache cmdlet을 사용합니다. Sku 필요한 계층 및 SKU를 선택하도록 속성을 변경합니다. 다음 예제에서는 컴퓨팅 최적화 X20(24GB) 인스턴스로 myCache라는 캐시의 크기를 조정하는 방법을 보여줍니다.

   Update-AzRedisEnterpriseCache -ResourceGroupName <your-group> -Name <your-cache-name> -Sku <sku-name>

Azure CLI 사용하여 크기 조정

Azure CLI 사용하여 Azure Managed Redis 인스턴스의 크기를 조정하려면 az redisenterprise update 명령을 실행합니다. sku 필요한 계층 및 SKU를 선택하도록 속성을 변경합니다. 다음 예제에서는 컴퓨팅 최적화 X20(24GB) 인스턴스로 myCache라는 캐시의 크기를 조정하는 방법을 보여줍니다.

az redisenterprise update --cluster-name <your-cache-name> --resource-group <your-resource-group> --sku <name-of-sku>

크기 조정 FAQ

다음 목록에는 Azure Managed Redis 크기 조정에 대해 일반적으로 묻는 질문과 답변이 나와 있습니다.

계층 내에서 또는 계층 간에 크기를 조정할 수 있나요?

동일한 메모리 크기에서 더 높은 성능 계층으로 또는 동일한 성능 계층 내에서 더 큰 메모리 크기로 크기를 조정할 수 있습니다. 더 낮은 성능 계층 또는 더 작은 메모리 크기로 크기를 조정하려면 REST API를 실행 listskusforscaling 하여 확장할 수 있는 SKU 목록을 가져옵니다.

az redisenterprise list-skus-for-scaling --cluster-name <your-redis-instance> --resource-group <your-resource-group>

더 작은 메모리 크기로 크기를 조정하면 데이터가 어떻게 되나요?

현재 메모리 사용량이 의도한 더 작은 메모리 크기보다 작은 경우에만 더 작은 메모리 크기로 확장할 수 있습니다. 현재 메모리 사용량이 의도한 작은 크기보다 높은 경우 크기 조정 요청이 실패합니다. 원치 않는 키-값 쌍을 삭제하거나 플러시 작업을 실행하여 현재 메모리 사용량을 줄일 수 있습니다.

az redisenterprise database flush --cluster-name <your-redis-instance> --resource-group <your-resource-group>

크기를 조정한 후 내 캐시 이름 또는 액세스 키를 변경해야 하나요?

아니요, 크기 조정 작업 중에 캐시 이름 및 액세스 키는 변경되지 않습니다.

크기 조정은 어떻게 수행되나요?

  • Redis 인스턴스의 크기를 조정하면 프로세스가 Redis 클러스터의 노드 중 하나를 종료하고 새 크기로 다시 프로비전합니다. 그런 다음, 데이터가 전송됩니다. 다른 노드는 다시 프로비전하기 전에 다음에 비슷한 장애 조치(failover)를 수행합니다. 종료 및 다시 프로비전 프로세스는 캐시 노드 중 하나의 패치 또는 실패 중에 발생하는 프로세스와 유사합니다.
  • 더 많은 vCPU를 사용하여 인스턴스로 크기를 조정하면 프로세스가 새 분할된 데이터베이스를 프로비전하고 Redis 서버 클러스터에 추가합니다. 그러면 모든 분할에 걸쳐 데이터가 재분할됩니다.

Azure Managed Redis에서 분할을 처리하는 방법에 대한 자세한 내용은 분할 구성을 참조하세요.

스케일링하는 동안 캐시의 데이터가 손실되나요?

  • 고가용성 모드를 사용하도록 설정하면 크기 조정 작업 중에 모든 데이터가 유지됩니다.
  • 더 작은 메모리 수준으로 크기를 조정하는 경우 현재 메모리 사용량이 의도한 새 메모리 크기보다 작은지 확인해야 합니다. 현재 메모리 사용량이 의도한 SKU 메모리 크기보다 큰 경우 플러시 작업을 사용하여 데이터를 플러시하거나 삭제할 키 값을 수동으로 선택할 수 있습니다.
  • 고가용성 모드를 사용하지 않도록 설정하면 모든 데이터가 손실되고 크기 조정 작업 중에 캐시를 사용할 수 없습니다.

크기를 조정하는 동안 내 캐시를 사용할 수 있나요?

  • 고가용성 모드를 사용하도록 설정된 Managed Redis 인스턴스를 Azure 크기 조정 작업 중에 계속 사용할 수 있습니다. 그러나 이러한 캐시의 크기를 조정하는 동안 연결 블립이 발생할 수 있습니다. 이러한 연결 블립은 일반적으로 짧으며 Redis 클라이언트는 일반적으로 연결을 즉시 다시 설정할 수 있습니다.
  • 고가용성 모드를 사용하지 않도록 설정하면 크기 조정 작업 중에 Azure Managed Redis 인스턴스가 오프라인 상태가 됩니다.

지역 복제에 크기 조정 제한 사항이 있나요?

지역에서 복제된 캐시의 크기 조정은 미리 보기로 제공됩니다. 활성 지역 복제를 구성하는 경우 지역 복제 그룹의 캐시 크기를 혼합하고 일치시킬 수 없습니다. 따라서 지역 복제 그룹의 캐시 크기를 조정하려면 몇 가지 단계가 더 필요합니다. 지침은 지역 복제 그룹의 인스턴스 크기 조정을 참조하세요.

더 작은 메모리 크기 또는 더 작은 분할된 데이터베이스 수로 축소하는 것은 지역에서 복제된 캐시에 대해 지원되지 않습니다. 자세한 내용은 각 Azure Managed Redis SKU가 클러스터에서 사용하는 샤드 수를 참조하여 샤드 수를 확인하세요.

크기 조정은 시간이 얼마나 걸리나요?

크기 조정 시간은 몇 가지 요인에 따라 달라집니다. 크기 조정에 걸리는 시간에 영향을 줄 수 있는 몇 가지 요소는 다음과 같습니다.

  • 데이터 양: 복제하는 데 더 많은 양의 데이터가 더 오래 걸립니다.
  • 높은 쓰기 요청: 쓰기 수가 많을수록 노드 또는 분할된 데이터베이스 간에 더 많은 데이터가 복제됩니다.
  • 높은 CPU 사용량: CPU 사용량이 많을수록 Redis 서버가 사용 중이며 제한된 CPU 주기를 사용하여 데이터 재배포를 완료할 수 있습니다.

일반적으로 데이터가 없는 인스턴스의 크기를 조정하는 경우 약 10분이 소요됩니다.

크기 조정이 완료되었는지 어떻게 알 수 있나요?

Azure Portal에서 진행 중인 크기 조정 작업을 볼 수 있습니다. 크기 조정이 완료되면 리소스 메뉴에서 개요를 볼 때 캐시 상태가 실행 중으로 변경됩니다.

Azure Managed Redis가 클러스터링을 사용하나요?

Azure Cache for Redis와 달리 Azure Managed Redis는 모든 계층과 SKU에서 클러스터링을 사용합니다. 클러스터링을 사용하면 상당한 수준으로 성능을 최적화할 수 있습니다. Azure Managed Redis의 각 SKU는 사용할 수 있는 vCPU 수에 최적화된 분할된 데이터베이스 수에 맞춰 구성됩니다. 샤드 수는 설정할 수 없습니다.

각 Azure Managed Redis SKU에서 사용하는 분할된 데이터베이스는 몇 개인가요?

Azure Managed Redis는 Redis Enterprise 소프트웨어에서 실행되기 때문에 커뮤니티 Redis보다 조밀한 구성에서 분할된 데이터베이스를 사용할 수 있습니다. 각 SKU에 사용되는 특정 분할된 데이터베이스 수에 대해 알아보려면 분할 구성을 참조하세요.

클러스터에서 키를 분산하는 방법

키 배포 모델에 대한 Redis 설명서에 따르면 키 공간은 16384개 슬롯으로 분할됩니다. 각 키는 이러한 슬롯 중 하나에 해시되고 할당되며 클러스터의 노드에 분산됩니다. 키의 어느 부분이 해시되는지 구성하여 여러 키가 해시 태그를 사용하여 동일한 분할에 위치하도록 합니다.

  • 해시 태그가 있는 키 - 키의 모든 부분이 {}로 묶인 경우 키의 해당 부분에만 키의 해시 슬롯을 결정하는 용도로 해시됩니다. 예를 들어 {key}1, {key}2, {key}3 키는 동일한 분할된 데이터베이스에 위치합니다. 이름의 key 부분만 해시되기 때문입니다. 키 해시 태그 사양의 전체 목록은 키 해시 태그를 참조하세요.
  • 해시 태그가 없는 키 - 전체 키 이름이 해시에 사용되므로 캐시의 분할된 데이터베이스 전체에 통계적으로 균등하게 분포됩니다.

최상의 성능 및 처리량의 경우 키를 고르게 분산하는 것이 좋습니다. 해시 태그로 키를 사용하는 경우 키가 균등하게 분산되도록 하는 것은 애플리케이션이 담당합니다.

자세한 내용은 키 배포 모델, Redis 클러스터 데이터 분할키 해시 태그를 참조하세요.

만들 수 있는 최대 캐시 크기는?

사용 가능한 가장 큰 캐시 크기는 플래시 최적화 A4500 인스턴스라고 하는 4.5TB입니다. Azure Cache for Redis 가격 책정.

더 작은 SKU의 하위 집합으로만 축소할 수 있는 이유는 무엇인가요?

분할된 데이터베이스 수 및 vCPU와의 호환성을 유지하려면 특정 SKU로만 축소할 수 있습니다. Azure Portal의 크기 조정 섹션에서 사용 가능한 옵션을 확인하여 Redis 인스턴스를 축소할 수 있는 SKU를 확인할 수 있습니다. 다음 CLI 명령을 실행할 수도 있습니다.

Azure Portal의 크기 조정 섹션에서 사용 가능한 옵션을 확인하여 Redis 인스턴스를 축소할 수 있는 SKU를 확인할 수 있습니다.

az redisenterprise list-skus-for-scaling --cluster-name <your-redis-instance> --resource-group <your-resource-group>

OSS 또는 엔터프라이즈 클러스터를 선택한 후 클러스터링 정책을 변경할 수 있나요?

캐시를 만들 때 클러스터링 정책을 OSSCluster 또는 EnterpriseCluster로 설정하면 변경할 수 없습니다. 다른 클러스터링 정책으로 전환하려면 Redis 캐시를 삭제하고 원하는 구성으로 다시 만들어야 합니다. 비클러스터 정책이 있는 캐시만 배포 후 클러스터형 구성으로 업데이트할 수 있습니다.