Azure Cache for Redis 인스턴스 스케일링

Azure Cache for Redis에는 캐시 크기 및 기능을 유연하게 선택할 수 있는 다양한 계층 제품이 있습니다. 크기 조정을 통해 애플리케이션 요구 사항에 맞게 캐시 인스턴스를 만든 후 노드의 크기, 계층 및 수를 변경할 수 있습니다. 이 문서에서는 Azure Portal을 사용하여 캐시의 크기를 조정하는 방법과 Azure PowerShell 및 Azure CLI와 같은 도구를 보여 줍니다.

크기 조정 유형

기본적으로 Azure Cache for Redis 인스턴스의 크기를 조정하는 두 가지 방법이 있습니다.

  • 확장하면 Redis 서버를 실행하는 VM(Virtual Machine)의 크기가 증가하여 메모리, vCPU(가상 CPU) 및 네트워크 대역폭이 추가됩니다. 스케일 업은 수직 크기 조정이라고도합니다. 스케일 업의 반대는 스케일 다운입니다.

  • 스케일 아웃 하면 캐시 인스턴스가 동일한 크기의 더 많은 노드로 분할되어 병렬 처리를 통해 메모리, vCPU 및 네트워크 대역폭이 증가합니다. 스케일 아웃을 수평 크기 조정 또는 분할이라고도 합니다. 스케일 아웃의 반대는 스케일 인입니다. Redis 커뮤니티에서 규모 확장은 클러스터링 자주 호출됩니다.

가용성 범위

계층 기본 및 표준 Premium Enterprise 및 Enterprise Flash
강화 예(미리 보기)
스케일 다운 아니요
규모 확장 예(미리 보기)
규모 감축 아니요

크기를 조정하는 경우

Azure Cache for Redis의 모니터링 기능을 사용하여 캐시의 상태 및 성능을 모니터링할 수 있습니다. 해당 정보를 사용하여 캐시 크기를 조정할 시기를 결정합니다.

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

  • Redis Server 로드
    • Redis 서버 부하가 높으면 서버가 모든 클라이언트의 요청과 보조를 맞추지 못할 수 있습니다. Redis 서버는 단일 스레드 프로세스이므로 확장보다는 스케일 아웃하는 것이 일반적으로 더 유용합니다. 클러스터링 사용하도록 설정하여 스케일 아웃하면 여러 Redis 프로세스에 오버헤드 함수를 분산하는 데 도움이 됩니다. 규모를 확장하면 TLS 암호화/암호 해독 및 연결/연결 끊기를 분산하여 TLS를 사용하여 캐시 인스턴스의 속도를 높일 수 있습니다.
    • 확장은 백그라운드 작업이 더 많은 vCPU를 활용하고 기본 Redis 서버 프로세스에 대한 스레드를 해제할 수 있으므로 서버 부하를 줄이는 데 도움이 될 수 있습니다.
    • 엔터프라이즈 및 엔터프라이즈 플래시 계층은 오픈 소스 Redis 대신 Redis Enterprise를 사용합니다. 이러한 계층의 장점 중 하나는 Redis 서버 프로세스가 여러 vCPU를 활용할 수 있다는 것입니다. 따라서 이러한 계층에서 확장 및 스케일 아웃을 모두 수행하면 서버 부하를 줄이는 데 도움이 될 수 있습니다. 자세한 내용은 Azure Cache for Redis의 엔터프라이즈 및 엔터프라이즈 플래시 계층에 대한 모범 사례를 참조하세요.
  • 메모리 사용량
    • 높은 메모리 사용량은 데이터 크기가 현재 캐시 크기에 비해 너무 큰 것을 나타냅니다. 메모리가 더 큰 캐시 크기로 크기를 조정하는 것이 좋습니다. 여기서는 스케일 업 또는 스케일 아웃이 효과적입니다.
  • 클라이언트 연결
    • 각 캐시 크기는 지원할 수 있는 클라이언트 연결 수에 제한이 있습니다. 클라이언트 연결이 캐시 크기 제한에 근접한 경우 더 큰 계층으로 확장하는 것이 좋습니다. 규모를 확장 해도 지원되는 클라이언트 연결 수는 증가하지 않습니다.
    • 캐시 크기별 연결 제한에 대한 자세한 내용은 Azure Cache for Redis 가격 책정을 참조하세요.
  • 네트워크 대역폭
    • Redis 서버에서 사용 가능한 대역폭을 초과하는 경우 서버에서 클라이언트에 데이터를 충분히 빠르게 푸시할 수 없기 때문에 클라이언트 요청 시간이 초과될 수 있습니다. "Cache Read" 및 "Cache Write" 메트릭에서 서버 쪽 대역폭의 사용량을 확인합니다. Redis 서버가 사용 가능한 네트워크 대역폭을 초과하는 경우 네트워크 대역폭이 더 높은 더 큰 캐시 크기로 확장하거나 확장하는 것이 좋습니다.
    • 엔터프라이즈 클러스터 정책을 사용하는 엔터프라이즈 계층 캐시의 경우 규모를 확장해도 네트워크 대역폭이 증가하지는 않습니다.
    • 캐시 크기별 네트워크 사용 가능한 대역폭에 대한 자세한 내용은 Azure Cache for Redis 계획 FAQ를 참조 하세요.

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

참고 항목

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

Azure Cache for Redis 크기 조정의 필수 구성 요소/제한 사항

다음 제한 사항을 사용하여 다른 가격 책정 계층으로 확장/축소할 수 있습니다.

  • 더 높은 가격 책정 계층에서 더 낮은 가격 책정 계층으로 확장할 수 없습니다.
    • Enterprise 또는 Enterprise Flash 캐시에서 다른 계층으로 축소할 수 없습니다.
    • 프리미엄 캐시에서 표준 또는 기본 캐시로 확장할 수 없습니다.
    • 표준 캐시에서 기본 캐시로 축소할 수 없습니다.
  • 기본 캐시에서 표준 캐시로 크기를 조정할 수 있지만 동시에 크기를 변경할 수는 없습니다. 다른 크기가 필요한 경우 나중에 원하는 크기로 크기 조정 작업을 수행할 수 있습니다.
  • 기본 캐시에서 바로 프리미엄 캐시로 확장할 수 없습니다. 먼저 크기 조정 작업을 통해 기본에서 표준으로 확장한 다음, 이후 크기 조정 작업을 통해 표준에서 프리미엄으로 확장합니다.
  • 더 큰 크기에서 C0(250MB) 크기로 축소할 수 없습니다. 그러나 동일한 가격 책정 계층 내의 다른 크기로 축소할 수 있습니다. 예를 들어 C5 Standard에서 C1 Standard로 축소할 수 있습니다.
  • 프리미엄, 표준 또는 기본 캐시에서 엔터프라이즈 또는 엔터프라이즈 플래시 캐시까지 확장할 수 없습니다.
  • Enterprise와 Enterprise Flash 간에 크기를 조정할 수 없습니다.

다음 제한 사항을 사용하여 규모 확장/축소할 수 있습니다.

  • 스케일 아웃은 프리미엄, 엔터프라이즈 및 엔터프라이즈 플래시 계층에서만 지원됩니다.
  • 규모 감축은 프리미엄 계층에서만 지원됩니다.
  • 프리미엄 계층에서 클러스터링 크기 조정 또는 확장하기 전에 먼저 사용하도록 설정해야 합니다.
  • 프리미엄 계층에는 최대 10개의 분할된 데이터베이스 규모 확장에 대한 GA 지원이 있습니다. 최대 30개의 분할된 데이터베이스에 대한 지원은 미리 보기로 제공됩니다. (두 개의 복제본(replica) 있는 캐시의 경우 분할된 데이터베이스 제한은 20입니다. 3개의 복제본(replica) 분할된 데이터베이스 제한은 15입니다.)
  • Enterprise 및 Enterprise Flash 계층만 동시에 스케일 업 및 스케일 아웃할 수 있습니다.

크기 조정 방법 - 기본, 표준 및 프리미엄 계층

Azure Portal을 사용하여 강화 및 축소

  1. 캐시 크기를 조정하려면 Azure Portal에서 캐시 로 이동하고 리소스 메뉴에서 크기 조정을 선택합니다.

    Screenshot showing Scale on the resource menu.

  2. 작업 창에서 가격 책정 계층을 선택한 다음 선택을 선택합니다.

    Screenshot showing the Azure Cache for Redis tiers.

  3. 캐시가 새 계층으로 크기 조정되는 동안 Redis Cache 크기 조정 알림이 표시됩니다.

    Screenshot showing the notification of scaling.

  4. 크기 조정이 완료되면 상태 크기 조정에서 실행 중으로 변경됩니다.

참고 항목

포털을 사용하여 캐시를 확장 또는 축소하면 설정이 maxfragmentationmemory-reserved 캐시 maxmemory-reserved 크기에 비례하여 자동으로 확장됩니다. 예를 들어 6GB 캐시에서 3GB로 maxmemory-reserved가 설정되고 12GB 캐시로 크기를 조정하는 경우 크기 조정 중에 설정이 자동으로 6GB로 업데이트됩니다. 축소하면 반대 현상이 일어납니다.

PowerShell을 사용하여 강화 및 축소

또는 Sku 속성이 수정될 때 Set-AzRedisCache cmdlet을 사용하여 PowerShell을 사용하여 Azure Cache for Redis 인스턴스의 Size크기를 조정할 수 있습니다. 다음 예제에서는 동일한 계층에서 6GB 캐시로 명명된 myCache 캐시의 크기를 조정하는 방법을 보여줍니다.

   Set-AzRedisCache -ResourceGroupName myGroup -Name myCache -Size 6GB

PowerShell을 사용한 크기 조정에 대한 자세한 내용은 PowerShell을 사용하여 Azure Cache for Redis의 크기를 조정하려면 다음을 참조하세요.

Azure CLI를 사용하여 강화 및 축소

Azure CLI를 사용하여 Azure Cache for Redis 인스턴스의 크기를 조정하려면 az redis update 명령을 호출합니다. sku.capcity 예를 들어 표준 C0에서 표준 C1 캐시로 계층 내에서 크기를 조정하려면 이 속성을 사용합니다.

az redis update --cluster-name myCache --resource-group myGroup --set "sku.capacity"="2"

'sku.name' 및 'sku.family' 속성을 사용하여 표준 C1 캐시에서 프리미엄 P1 캐시로 같은 다른 계층으로 확장합니다.

az redis update --cluster-name myCache --resource-group myGroup --set "sku.name"="Premium" "sku.capacity"="1" "sku.family"="P"

Azure CLI를 사용하여 크기를 조정하는 방법에 대한 자세한 내용은 기존 Azure Cache for Redis에 대한 설정 변경을 참조하세요.

참고 항목

프로그래밍 방식으로 캐시를 확장 또는 축소하는 경우(예: PowerShell 또는 Azure CLI 사용) 업데이트 요청의 일부로 또는 maxmemory-reservedmaxfragmentationmemory-reserved 무시됩니다. 크기 조정 변경만 적용됩니다. 크기 조정 작업이 완료된 후 이러한 메모리 설정을 업데이트할 수 있습니다.

스케일 업 및 스케일 아웃 방법 - 엔터프라이즈 및 엔터프라이즈 플래시 계층

Enterprise 및 Enterprise Flash 계층은 한 번의 작업으로 스케일 업 및 스케일 아웃할 수 있습니다. 다른 계층에는 각 작업에 대해 별도의 작업이 필요합니다.

주의

엔터프라이즈 및 엔터프라이즈 플래시 계층은 아직 규모 축소 또는 규모 감축 작업을 지원하지 않습니다.

Azure Portal을 사용하여 크기 조정

  1. 캐시 크기를 조정하려면 Azure Portal에서 캐시 로 이동하고 리소스 메뉴에서 크기 조정을 선택합니다.

    Screenshot showing Scale selected in the Resource menu for an Enterprise cache.

  2. 강화하려면 다른 캐시 유형을 선택한 다음 저장을 선택합니다.

    Important

    이때만 확장할 수 있습니다. 규모를 축소할 수 없습니다.

    Screenshot showing the Enterprise tiers in the working pane.

  3. 규모를 확장하려면 용량 슬라이더를 늘입니다. 용량이 2씩 증가합니다. 이 숫자는 추가되는 기본 Redis Enterprise 노드 수를 반영합니다. 이 숫자는 항상 주 분할된 데이터베이스와 복제본(replica) 분할된 데이터베이스 모두에 대해 추가되는 노드를 반영하는 두 개의 배수입니다.

    Important

    지금은 용량을 늘려 스케일 아웃만 할 수 있습니다. 스케일 인할 수 없습니다.

    Screenshot showing Capacity in the working pane a red box around it.

  4. 캐시가 새 계층으로 크기 조정되는 동안 Redis Cache 크기 조정 알림이 표시됩니다.

    Screenshot showing notification of scaling an Enterprise cache.

  5. 크기 조정이 완료되면 상태 크기 조정에서 실행 중으로 변경됩니다.

PowerShell을 사용하여 크기 조정

Update-AzRedisEnterpriseCache cmdlet을 사용하여 PowerShell을 사용하여 Azure Cache for Redis 인스턴스의 크기를 조정할 수 있습니다. 인스턴스를 Sku 확장하도록 속성을 수정할 수 있습니다. 인스턴스를 Capacity 확장하도록 속성을 수정할 수 있습니다. 다음 예제에서는 용량이 4인 Enterprise E20(25GB) 인스턴스로 명명된 myCache 캐시의 크기를 조정하는 방법을 보여 줍니다.

   Update-AzRedisEnterpriseCache -ResourceGroupName myGroup -Name myCache -Sku Enterprise_E20 -Capacity 4

Azure CLI를 사용하여 크기 조정

Azure CLI를 사용하여 Azure Cache for Redis 인스턴스의 크기를 조정하려면 az redisenterprise update 명령을 호출합니다. 인스턴스를 sku 확장하도록 속성을 수정할 수 있습니다. 인스턴스를 capacity 확장하도록 속성을 수정할 수 있습니다. 다음 예제에서는 용량이 4인 Enterprise E20(25GB) 인스턴스로 명명된 myCache 캐시의 크기를 조정하는 방법을 보여 줍니다.

az redisenterprise update --cluster-name "myCache" --resource-group "myGroup" --sku "Enterprise_E20" --capacity 4

크기 조정 FAQ

다음 목록에는 Azure Cache for Redis 크기 조정에 대한 일반적인 질문에 대한 답변이 포함되어 있습니다.

프리미엄 캐시에서 또는 프리미엄 캐시 내에서 확장할 수 있나요?

  • 프리미엄 캐시에서 기본 또는 표준 가격 책정 계층으로 축소할 수 없습니다.
  • 프리미엄 캐시 가격 책정 계층에서 다른 프리미엄 캐시 가격 책정 계층으로 확장할 수 있습니다.
  • 기본 캐시에서 바로 프리미엄 캐시로 확장할 수 없습니다. 먼저 하나의 크기 조정 작업에서 기본에서 표준으로 확장한 다음, 이후 크기 조정 작업에서 표준에서 프리미엄으로 확장합니다.
  • 프리미엄 캐시에서 Enterprise 또는 Enterprise Flash 캐시로 확장할 없습니다.
  • 프리미엄 캐시를 만들 때 클러스터링 사용하도록 설정한 경우 클러스터 크기를 변경할 수 있습니다. 클러스터링 사용하지 않고 캐시를 만든 경우 나중에 클러스터링 구성할 수 있습니다.

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

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

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

  • 기본 캐시의 크기를 다른 크기로 조정하면 종료되고 새 크기를 사용하여 새 캐시가 프로비전됩니다. 이 시간 동안 캐시를 사용할 수 없으며 캐시의 모든 데이터가 손실됩니다.
  • 기본 캐시의 크기를 표준 캐시로 조정하면 복제본(replica) 캐시가 프로비전되고 데이터가 주 캐시에서 복제본(replica) 캐시로 복사됩니다. 크기 조정 프로세스 중에 사용할 수 있는 캐시를 다시 기본.
  • 표준, 프리미엄, 엔터프라이즈 또는 Enterprise Flash 캐시의 크기를 다른 크기로 조정하면 복제본(replica) 중 하나가 종료되고 새 크기로 다시 프로비전되고 다른 복제본(replica) 다시 프로비전되기 전에 장애 조치(failover)를 수행합니다. 캐시 노드 중 하나가 실패하는 동안 발생하는 프로세스와 유사합니다.
  • 클러스터형 캐시를 스케일 아웃하면 새 분할된 데이터베이스가 프로비전되고 Redis 서버 클러스터에 추가됩니다. 그런 다음 모든 분할된 데이터베이스에서 데이터가 다시 분할됩니다.
  • 클러스터형 캐시에서 크기를 조정하는 경우 데이터를 먼저 재분할한 다음, 클러스터 크기를 필요한 분할로 줄입니다.
  • 캐시를 다른 클러스터로 크기 조정하거나 마이그레이션하는 것과 같은 일부 경우에는 캐시의 기본 IP 주소가 변경될 수 있습니다. 캐시에 대한 DNS 레코드는 변경되며 대부분의 애플리케이션에 투명합니다. 그러나 IP 주소를 사용하여 캐시에 대한 연결을 구성하거나 NSG 또는 캐시에 대한 트래픽을 허용하는 방화벽을 구성하는 경우 DNS 레코드가 업데이트된 후 애플리케이션 연결에 문제가 있을 수 있습니다.

크기를 조정하는 동안 캐시에서 데이터를 손실합니까?

  • 기본 캐시의 크기를 새 크기로 조정하면 모든 데이터가 손실되고 크기 조정 작업 중에 캐시를 사용할 수 없습니다.
  • 기본 캐시의 크기를 표준 캐시로 조정하면 캐시의 데이터는 일반적으로 유지됩니다.
  • 표준, 프리미엄, 엔터프라이즈 또는 엔터프라이즈 플래시 캐시의 크기를 더 큰 크기로 조정하면 일반적으로 모든 데이터가 유지됩니다. 표준 또는 프리미엄 캐시 크기를 더 작은 크기로 조정하는 경우 데이터 크기가 축소될 때 더 작은 새 크기를 초과하면 데이터가 손실될 수 있습니다. 크기를 축소하는 경우 데이터가 손실되면 allkeys-lru 제거 정책을 사용하여 키를 제거합니다.

크기 조정 후 프리미엄 계층의 모든 기능을 사용할 수 있나요?

아니요, 일부 기능은 프리미엄 계층에서 캐시를 만들 때만 설정할 수 있으며 크기 조정 후에는 사용할 수 없습니다.

프리미엄 캐시를 만든 후에는 이러한 기능을 추가할 수 없습니다.

  • VNet 삽입
  • 영역 중복성 추가
  • 주 복제본당 여러 복제본(replica) 사용

이러한 기능을 사용하려면 프리미엄 계층에서 새 캐시 인스턴스를 만들어야 합니다.

사용자 지정 데이터베이스 설정이 크기 조정 중에 영향을 받나요?

캐시를 만드는 동안 설정에 databases 대한 사용자 지정 값을 구성한 경우 일부 가격 책정 계층의 데이터베이스 제한은 서로 다릅니다. 이 시나리오에서 크기를 조정하는 경우 몇 가지 고려 사항은 다음과 같습니다.

  • 현재 계층보다 낮은 databases 한도로 가격 책정 계층으로 크기를 조정하는 경우:
    • 모든 가격 책정 계층에 대해 기본값이 16개인 databases를 사용하는 경우에는 데이터 손실이 전혀 없습니다.
    • 크기를 조정하는 계층에 databases 대한 제한에 속하는 사용자 지정 수를 사용하는 경우 이 databases 설정은 유지되며 데이터가 손실되지 않습니다.
    • 새 계층의 제한을 초과하는 databases의 사용자 지정 수를 사용하는 경우, databases 설정은 새 계층의 제한까지 낮춰지고 제거된 데이터베이스의 모든 데이터는 손실됩니다.
  • 현재 계층과 같거나 더 높은 databases 한도를 가진 가격 책정 계층으로 확장하면 databases 설정이 유지되고 데이터가 손실되지 않습니다.

Standard, Premium, Enterprise 및 Enterprise Flash 캐시에는 가용성을 위한 SLA가 있지만 데이터 손실에 대한 SLA는 없습니다.

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

  • 표준, 프리미엄, 엔터프라이즈엔터프라이즈 플래시 캐시는 크기 조정 작업 중에 다시 사용할 수 기본. 그러나 이러한 캐시의 크기를 조정하는 동안 및 기본캐시에서 표준 캐시로 크기를 조정하는 동안 연결 블립이 발생할 수 있습니다. 이러한 연결 블립은 작을 것으로 예상되며 redis 클라이언트가 일반적으로 해당 연결을 즉시 다시 설정할 수 있습니다.
  • 활성 지역 복제본(replica)tion을 사용하는 EnterpriseEnterprise Flash 캐시의 경우 연결된 캐시의 하위 집합만 크기 조정하면 시간이 지남에 따라 문제가 발생할 수 있습니다. 가능한 경우 지역 복제본(replica) 그룹의 모든 캐시 크기를 조정하는 것이 좋습니다.
  • 기본 캐시는 크기 조정 작업을 다른 크기로 조정하는 동안 오프라인입니다. 기본 캐시는 다시 기본 기본 캐시에서 표준으로 확장할 때 사용할 수 있지만 연결이 약간 저하될 수 있습니다. 연결 블립이 발생하는 경우 Redis 클라이언트는 일반적으로 즉시 연결을 다시 설정할 수 있습니다.

지역 복제본(replica) 제한 사항이 있나요?

수동 지역 복제본(replica) 구성을 사용하면 캐시 크기를 조정하거나 클러스터의 분할된 데이터베이스를 변경할 수 없습니다. 두 캐시 간의 지역 복제 링크를 사용하면 작업 크기를 조정하거나 클러스터의 분할 수를 변경할 수 없게 됩니다. 이러한 명령을 실행하려면 캐시의 연결을 해제해야 합니다. 자세한 내용은 지역 복제본(replica) 구성을 참조하세요.

활성 지역 복제본(replica) 구성되면 캐시의 크기를 조정할 수 없습니다. 지역 복제본(replica) 그룹의 모든 캐시는 크기와 용량이 같아야 합니다.

지원되지 않는 작업

  • 더 높은 가격 책정 계층에서 더 낮은 가격 책정 계층으로 확장할 수 없습니다.
    • 프리미엄 캐시에서 표준 또는 기본 캐시로 확장할 수 없습니다.
    • 표준 캐시에서 기본 캐시로 축소할 수 없습니다.
  • 기본 캐시에서 표준 캐시로 크기를 조정할 수 있지만 동시에 크기를 변경할 수는 없습니다. 다른 크기가 필요한 경우 나중에 원하는 크기로 조정 작업을 수행할 수 있습니다.
  • 기본 캐시에서 바로 프리미엄 캐시로 확장할 수 없습니다. 먼저 크기 조정 작업을 통해 기본에서 표준으로 크기를 조정한 다음, 이후 작업을 통해 표준에서 프리미엄으로 크기를 조정합니다.
  • 프리미엄 캐시에서 Enterprise 또는 Enterprise Flash 캐시로 확장할 없습니다.
  • 더 큰 크기에서 C0(250MB) 크기로 축소할 수 없습니다.

크기 조정 작업이 실패하면 서비스는 작업을 되돌리기 시도하며 캐시는 원래 크기로 되돌리기.

크기 조정에 얼마나 걸리나요?

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

  • 데이터 양: 많은 양의 데이터를 복제하는 데 시간이 더 오래 소요됩니다.
  • 높은 쓰기 요청: 쓰기 수가 많을수록 노드 또는 분할된 데이터베이스에서 더 많은 데이터 복제본(replica)tes를 의미합니다.
  • 높은 서버 부하: 서버 부하가 높으면 Redis 서버가 사용 중이며 데이터 재배포를 완료하는 데 CPU 주기가 제한되어 있습니다.

일반적으로 데이터가 없는 캐시 크기를 조정하는 경우 약 20분이 소요됩니다. 클러스터형 캐시의 경우 최소 데이터로 분할된 데이터베이스당 크기 조정에 약 20분이 걸립니다.

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

Azure Portal에서 진행 중인 크기 조정 작업을 볼 수 있습니다. 크기 조정이 완료되면 캐시의 상태 실행으로 변경됩니다.

클라이언트 애플리케이션에 변경 사항이 필요하여 클러스터링을 사용해야 합니까?

  • 클러스터링 사용하도록 설정하면 데이터베이스 0만 사용할 수 있습니다. 클라이언트 애플리케이션이 여러 데이터베이스를 사용하고 0이 아닌 데이터베이스에 읽기 또는 쓰기를 시도하는 경우 Unhandled Exception: StackExchange.Redis.RedisConnectionException: ProtocolFailure on GET --->StackExchange.Redis.RedisCommandException: Multiple databases are not supported on this server; cannot switch to database: 6과 같은 예외가 발생합니다.

    자세한 내용은 Redis 클러스터 사양 - 구현된 하위 집합을 참조 하세요.

  • StackExchange.Redis를 사용하는 경우 1.0.481 이상을 사용해야 합니다. 클러스터링 사용하지 않도록 설정된 캐시에 연결할 때 사용하는 것과 동일한 엔드포인트, 포트 및 키를 사용하여 캐시에 연결합니다. 유일한 차이점은 모든 읽기 및 쓰기를 데이터베이스 0에 수행해야 한다는 것입니다.

    다른 클라이언트에는 다른 요구 사항이 있을 수 있습니다. 모든 Redis 클라이언트에서 클러스터링 지원합니까?

  • 애플리케이션에서 단일 명령으로 일괄 처리된 여러 키 작업을 사용하는 경우 모든 키는 동일한 분할된 데이터베이스에 있어야 합니다. 동일한 분할된 데이터베이스에서 키를 찾으려면 클러스터에서 키를 배포하는 방법을 참조 하세요.

  • Redis ASP.NET 세션 상태 공급자를 사용하는 경우 2.0.1 이상을 사용해야 합니다. Redis ASP.NET 세션 상태 및 출력 캐싱 공급자와 함께 클러스터링 사용할 수 있나요?

Important

엔터프라이즈 또는 엔터프라이즈 FLash 계층을 사용하는 경우 OSS 클러스터 모드 또는 엔터프라이즈 클러스터 모드선택할 수 있습니다. OSS 클러스터 모드는 프리미엄 계층의 클러스터링 동일하며 오픈 소스 클러스터링 사양을 따릅니다. 엔터프라이즈 클러스터 모드는 성능이 낮을 수 있지만 클라이언트를 변경할 필요가 없는 Redis Enterprise 클러스터링 사용합니다. 자세한 내용은 Enterprise의 클러스터링을 참조 하세요.

키는 클러스터에 어떻게 분산되는가?

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

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

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

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

클러스터링 작업하고 StackExchange.Redis 클라이언트를 사용하여 동일한 분할된 데이터베이스에서 키를 찾는 방법에 대한 샘플 코드는 헬로 월드 샘플의 클러스터링.cs 부분을 참조하세요.

만들 수 있는 가장 큰 캐시 크기는 무엇인가요?

사용할 수 있는 가장 큰 캐시 크기는 4.5TB입니다. 이 결과는 용량이 9인 클러스터형 F1500 캐시입니다. 자세한 내용은 Azure Cache for Redis 가격을 참조하세요.

모든 Redis 클라이언트가 클러스터링 지원합니까?

많은 클라이언트 라이브러리에서 Redis 클러스터링을 지원하지만, 모두 지원하는 것은 아닙니다. 사용 중인 라이브러리에 대한 설명서를 확인하여 클러스터링 지원하는 라이브러리 및 버전을 사용하고 있는지 확인합니다. StackExchange.Redis는 최신 버전에서 클러스터링 지원하는 하나의 라이브러리입니다. 다른 클라이언트에 대한 자세한 내용은 Redis 클러스터 자습서의 클러스터 재생 섹션을 참조하세요.

Redis 클러스터링 프로토콜에서는 각 클라이언트가 클러스터링 모드에서 각 분할 영역에 직접 연결해야 하며 'MOVED' 및 'CROSSSLOTS'과 같은 새 오류 응답도 정의합니다. 클러스터 모드 캐시를 사용한 클러스터링을 지원하지 않는 클라이언트 라이브러리를 사용하려고 하면 MOVED 리디렉션 예외가 많이 발생하거나, 교차 슬롯 다중 키 요청을 수행하는 경우 애플리케이션을 중단해야 할 수 있습니다.

참고 항목

StackExchange.Redis를 클라이언트로 사용하는 경우 클러스터링 제대로 작동하도록 최신 버전의 StackExchange.Redis 1.0.481 이상을 사용하고 있는지 확인합니다. move 예외에 문제가 있을 경우 자세한 내용은 move 예외를 참조하세요.

클러스터링 사용하도록 설정된 경우 캐시에 연결할 어떻게 할까요? 있나요?

클러스터링 사용하도록 설정되지 않은 캐시에 연결할 때 사용하는 것과 동일한 엔드포인트, 포트키를 사용하여 캐시에 연결할 수 있습니다. Redis는 백 엔드에서 클러스터링 관리하므로 클라이언트에서 관리할 필요가 없습니다.

내 캐시의 개별 분할된 데이터베이스에 직접 연결할 수 있나요?

클러스터링 프로토콜을 사용하려면 클라이언트가 올바른 분할된 데이터베이스 연결을 설정해야 하므로 클라이언트가 공유 연결을 만들어야 합니다. 즉, 각 분할된 데이터베이스는 캐시 인스턴스라고 하는 기본/복제본(replica) 캐시 쌍으로 구성됩니다. GitHub의 Redis 리포지토리의 불안정한 분기에서 Redis-CLI 유틸리티를 사용하여 이러한 캐시 인스턴스에 연결할 수 있습니다. 이 버전은 스위치를 시작할 때 기본 지원을 구현합니다 -c . 자세한 내용은 Redis 클러스터 자습서에서 클러스터https://redis.io 로 재생을 참조하세요.

스위치를 -p 사용하여 연결할 올바른 포트를 지정해야 합니다. CLUSTER NODES 명령을 사용하여 주 노드 및 복제본(replica) 노드에 사용되는 정확한 포트를 확인합니다. 다음 포트 범위가 사용됩니다.

  • TLS 프리미엄이 아닌 계층 캐시의 경우 범위에서 포트를 130XX 사용할 수 있습니다.
  • TLS 사용 프리미엄 계층 캐시의 경우 범위에서 포트를 150XX 사용할 수 있습니다.
  • OSS 클러스터링 사용하는 엔터프라이즈 및 엔터프라이즈 플래시 캐시의 경우 초기 연결은 포트 10000을 통해서입니다. 개별 노드에 커넥트 85XX 범위의 포트를 사용하여 수행할 수 있습니다. 85xx 포트는 시간이 지남에 따라 변경되며 애플리케이션에 하드 코딩해서는 안 됩니다.

이전에 만든된 캐시에 대해 클러스터링을 구성할 수 있나요?

예. 먼저 캐시를 확장하여 프리미엄 계층에 있는지 확인합니다. 다음으로 클러스터를 사용하도록 설정하는 옵션을 포함하여 클러스터 구성 옵션을 볼 수 있습니다. 캐시를 만든 후 또는 처음으로 클러스터링 사용하도록 설정한 후 클러스터 크기를 변경합니다.

Important

클러스터링을 사용하도록 설정하면 실행 취소할 수 없습니다. 클러스터링이 사용하도록 설정되고 분할된 데이터베이스가 하나뿐인 프리미엄 캐시는 클러스터링이 '없는' 동일한 크기의 프리미엄 캐시와는 '다르게' 동작합니다.

모든 엔터프라이즈 및 엔터프라이즈 플래시 계층 캐시는 항상 클러스터됩니다.

기본 또는 표준 캐시에 대한 클러스터링 구성할 수 있나요?

클러스터링은 프리미엄, 엔터프라이즈 및 엔터프라이즈 플래시 캐시에만 사용할 수 있습니다.

Redis ASP.NET 세션 상태 및 출력 캐싱 공급자와 함께 클러스터링을 사용할 수 있나요?

  • Redis 출력 캐시 공급자 - 변경이 필요하지 않습니다.
  • Redis 세션 상태 공급자 - 클러스터링 사용하려면 RedisSessionStateProvider 2.0.1 이상을 사용해야 합니다. 그렇지 않으면 예외가 throw되며 이는 호환성이 손상되는 변경입니다. 자세한 내용은 v2.0.0 호환성이 손상되는 변경 세부 정보를 참조 하세요.

StackExchange.Redis 및 클러스터링 사용할 때 MOVE 예외가 발생합니다. 어떻게 해야 하나요?

StackExchange.Redis를 사용하고 클러스터링 사용할 때 예외를 수신 MOVE 하는 경우 StackExchange.Redis 1.1.603 이상을 사용하고 있는지 확인합니다. StackExchange.Redis를 사용하도록 .NET 애플리케이션을 구성하는 방법에 대한 자세한 내용은 캐시 클라이언트 구성을 참조하세요.

엔터프라이즈 계층 캐시의 OSS 클러스터링과 엔터프라이즈 클러스터링의 차이점은 무엇인가요?

OSS 클러스터 모드는 프리미엄 계층의 클러스터링 동일하며 오픈 소스 클러스터링 사양을 따릅니다. 엔터프라이즈 클러스터 모드는 성능이 낮을 수 있지만 Redis Enterprise 클러스터링 사용하므로 클라이언트를 변경할 필요가 없습니다. 자세한 내용은 Enterprise의 클러스터링을 참조 하세요.

엔터프라이즈 계층 캐시에서 사용하는 분할된 데이터베이스는 몇 개입니까?

기본, 표준 및 프리미엄 계층 캐시와 달리 Enterprise 및 Enterprise Flash 캐시는 단일 노드에서 여러 분할된 데이터베이스를 활용할 수 있습니다. 자세한 내용은 분할 및 CPU 사용률을 참조 하세요.

다음 단계