Azure SignalR Service 인스턴스를 스케일링하는 방법

이 문서에서는 Azure SignalR Service 인스턴스를 스케일링하는 방법을 보여줍니다. 스케일링에는 스케일 업 및 스케일 아웃이라는 두 가지 시나리오가 있습니다.

  • 스케일 업: 더 많은 단위, 연결, 메시지 등을 가져옵니다. 가격 책정 계층을 무료에서 표준으로 변경하여 스케일 업합니다.
  • 스케일 아웃: SignalR 단위 수를 늘립니다. 최대 100 단위까지 스케일 아웃할 수 있습니다. 단일 SignalR Service 인스턴스의 스케일링을 위해 선택할 수 있는 단위 옵션은 제한됩니다(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 단위). 100 단위를 초과하여 스케일링하려는 경우 Premium_P2 SKU는 확장된 기능을 제공합니다.

스케일링 설정을 적용하는 데 몇 분 정도 걸립니다. 드물긴 하지만 적용하는 데 약 30분이 걸리는 경우도 있습니다. 스케일링을 위해 코드를 변경하거나 서버 애플리케이션을 다시 배포할 필요는 없습니다.

개별 SignalR Service의 가격 책정 및 기능에 대한 자세한 내용은 Azure SignalR Service 가격 정보를 참조하세요.

참고 항목

SignalR Service를 무료 계층에서 표준 또는 프리미엄 계층으로 변경하거나 그 반대로 변경하면 공용 서비스 IP가 변경되고, 전체 인터넷을 통해 변경 내용을 DNS 서버에 전파하는 데 일반적으로 30~60분이 걸립니다. DNS가 업데이트되기 전에는 서비스에 연결할 수 없습니다. 일반적으로 가격 책정 계층을 너무 자주 변경하지 않는 것이 좋습니다.

Azure Portal에서 스케일 업

  1. 브라우저에서 Azure Portal을 엽니다.

  2. SignalR Service 페이지의 왼쪽 메뉴에서 스케일 업을 선택합니다.

  3. 변경을 클릭하고 팝업 블레이드에서 표준 계층을 선택합니다.

    Screenshot of scaling up on Portal.

  4. 저장을 선택합니다.

Azure Portal에서 스케일 아웃

  1. 브라우저에서 Azure Portal을 엽니다.

  2. SignalR Service 페이지의 왼쪽 메뉴에서 스케일 아웃을 선택합니다.

  3. 수동 크기 조정 섹터에서 단위를 선택합니다.

    Screenshot of scaling out on Portal.

  4. 저장을 선택합니다.

Azure CLI를 사용한 크기 조정

이 스크립트는 무료 계층의 새 SignalR Service 리소스와 새 리소스 그룹을 만들고 표준 계층까지 스케일링합니다.

#!/bin/bash

# Generate a unique suffix for the service name
let randomNum=$RANDOM*$RANDOM

# Generate a unique service and group name with the suffix
SignalRName=SignalRTestSvc$randomNum
#resource name must be lowercase
mySignalRSvcName=${SignalRName,,}
myResourceGroupName=$SignalRName"Group"

# Create resource group 
az group create --name $myResourceGroupName --location eastus

# Create the Azure SignalR Service resource
az signalr create \
  --name $mySignalRSvcName \
  --resource-group $myResourceGroupName \
  --sku Free_F1 \
  --service-mode Default

# Scale up to Standard Tier, and scale out to 50 units
az signalr update \
  --name $mySignalRSvcName \
  --resource-group $myResourceGroupName \
  --sku Standard_S1 \
  --unit-count 50

새 리소스 그룹에 대해 생성된 실제 이름을 적어 둡니다. 모든 그룹 리소스를 삭제하려는 경우 해당 리소스 그룹 이름을 사용합니다.

배포 정리

샘플 스크립트가 실행된 후, 다음 명령을 사용하여 리소스 그룹 및 리소스 그룹과 연관된 모든 리소스를 제거할 수 있습니다.

az group delete --name myResourceGroup

가격 책정 계층 비교

포함된 메시지 및 연결과 같은 각 가격 책정 계층에 대한 자세한 내용은 SignalR Service 가격 정보를 참조하세요.

각 계층의 서비스 한도, 할당량, 제약 조건 표는 SignalR Service 한도를 참조하세요.

Premium_P2 SKU를 사용하여 향상된 대규모 인스턴스 지원

새로운 Premium_P2 SKU(현재 미리 보기)는 수요가 많은 시나리오에 대한 광범위한 확장성을 촉진하도록 설계되었습니다. 이 SKU를 사용하면 단일 SignalR Service 서비스 인스턴스에 대해 100, 200, 300, 400, 500, 600, 700, 800, 900, 1,000 단위로 확장할 수 있습니다. 이러한 향상된 기능을 통해 최대 100만 개 동시 연결을 처리하여 대규모 실시간 통신 요구를 충족할 수 있습니다.

Azure Portal 또는 Azure CLI를 사용하여 Premium_P2 SKU를 스케일 업할 수 있습니다.

Premium_P2 계층은 내부적으로 다른 아키텍처를 사용하여 많은 양의 기본 리소스를 관리합니다. 따라서 이 계층의 크기 조정 작업은 더 작은 SKU에 비해 더 오래 걸릴 수 있습니다.

참고 항목

지역별로 구독당 SignalR 단위를 150개로 제한하는 기본 할당량 한도가 있습니다. 이는 소프트 한도이며 요청 시 늘릴 수 있습니다. 이렇게 하려면 지원 티켓을 제출하여 이 할당량에 대한 조정을 요청하기만 하면 됩니다.

다음 단계

이 가이드에서는 단일 SignalR Service 인스턴스를 스케일링하는 방법을 배웠습니다.

자동 크기 조정은 Azure SignalR Service 프리미엄 계층에서 지원됩니다.

스케일링, 분할, 지역 간 시나리오를 위해 여러 엔드포인트도 지원됩니다.