다음을 통해 공유


Azure Virtual Desktop 모니터링 비용 예측

Azure Virtual Desktop은 Azure Monitor 로그 서비스를 사용하여 사용자 환경에서 생성된 데이터를 수집, 인덱싱 및 저장합니다. 이 때문에 Azure Monitor 가격 책정 모델은 Log Analytics 작업 영역에서 하루 기가바이트 단위로 가져오고 처리하는 데이터 양(또는 "수집")을 기반으로 합니다. Log Analytics 작업 영역의 비용은 수집된 데이터의 양뿐만 아니라 선택한 Azure 결제 계획 및 환경에서 생성하는 데이터를 저장하도록 선택한 기간을 기반으로 합니다.

이 문서에서는 Azure Monitor의 가격 책정 작동 방식을 이해하는 데 도움이 되는 다음 사항을 설명합니다.

  • 이 기능을 사용하도록 설정하기 전에 데이터 수집 및 스토리지 비용을 미리 예측하는 방법
  • 이 기능을 사용할 때 비용을 줄이기 위해 수집 및 스토리지를 측정하고 제어하는 방법

참고

이 문서에 나열된 모든 크기 및 가격 책정은 예측 작동 방식을 보여 주는 예제일 뿐입니다. Azure Monitor Log Analytics 가격 책정 모델 및 Azure 지역에 따라 보다 정확한 평가는 Azure Monitor 가격 책정을 참조하세요.

데이터 수집 및 스토리지 비용 예측

Log Analytics 작업 영역에서 로그로 작성된 미리 정의된 데이터 집합을 사용하는 것이 좋습니다. 다음 예제 예측에서는 기본 구성에서 청구 가능한 데이터를 살펴보겠습니다.

Azure Virtual Desktop Insights에 대해 미리 정의된 데이터 세트에는 다음이 포함됩니다.

  • 세션 호스트의 성능 카운터
  • 세션 호스트의 Windows 이벤트 로그
  • 서비스 인프라에서 Azure Virtual Desktop 진단

데이터 수집 및 스토리지 비용은 환경 크기, 상태 및 사용량에 따라 달라집니다. 이 문서에서는 예상할 수 있는 비용 범위를 계산하기 위해 가상 머신 크기 조정 지침에 따라 조명에서 전원 사용량을 실행하는 정상 가상 머신을 기반으로 예상할 수 있는 비용 범위를 계산하여 예상할 수 있는 데이터 수집 및 스토리지 비용 범위를 계산합니다.

이 예제에서 사용할 가벼운 사용량 VM에는 다음 구성 요소가 포함됩니다.

  • vCPU 4개, 디스크 1개
  • 하루에 16개 세션
  • 평균 세션 기간 2시간(120분)
  • 세션당 100 프로세스

이 예제에서 사용할 전원 사용량 VM에는 다음 구성 요소가 포함됩니다.

  • vCPU 6개, 디스크 1개
  • 하루에 6개 세션
  • 평균 세션 기간 4시간(240분)
  • 세션당 200개 프로세스

성능 카운터 수집 예측

성능 카운터는 시스템 리소스의 성능을 보여 줍니다. 성능 카운터 데이터 수집은 환경 크기 및 사용량에 따라 달라집니다. 대부분의 경우 성능 카운터는 Azure Virtual Desktop Insights에 대한 데이터 수집의 80~99%를 구성해야 합니다.

예측을 시작하기 전에 각 성능 카운터가 특정 빈도로 데이터를 보내는 것을 이해하는 것이 중요합니다. 기본 샘플 속도 분당 설정(설정에서 이 속도를 편집할 수도 있음)하지만 카운터에 따라 다른 곱하기 요인에 적용됩니다. 속도에 영향을 미치는 요인은 다음과 같습니다.

  • VM(가상 머신당) 요소의 경우 각 카운터는 VM이 실행되는 동안 사용자 환경의 VM당 데이터를 분당 기본 샘플 속도로 보냅니다. 이러한 카운터가 하루에 보내는 레코드 수를 예측하려면 분당 기본 샘플 속도를 사용자 환경의 VM 수와 곱한 다음 해당 수를 하루 평균 VM 실행 시간을 곱합니다.

    요약하려면 다음을 수행합니다.

    분당 기본 샘플 속도 × VM SKU의 CPU 코어 수 × VM 수 × 하루 평균 VM 실행 시간 = 하루에 전송된 레코드 수

  • CPU 비율당 각 카운터는 VM이 실행되는 동안 환경의 각 VM에서 vCPU당 분당 기본 샘플 속도로 보냅니다. 분당 기본 샘플 속도와 VM SKU의 CPU 코어 수를 곱한 다음, VM이 실행되는 시간(분)과 사용자 환경의 VM 수를 곱하여 카운터가 하루에 보낼 레코드 수를 예측할 수 있습니다.

    요약하려면 다음을 수행합니다.

    VM SKU의 CPU 코어 수 × 분당 기본 샘플 속도 × VM이 실행되는 시간(분) × VM 수 = 하루에 전송되는 레코드 수

  • 디스크당 요소당 각 카운터는 사용자 환경의 각 VM에 있는 각 디스크에 대한 기본 샘플 속도로 데이터를 보냅니다. 이러한 카운터가 하루에 보내는 레코드 수는 VM SKU의 디스크 수를 곱한 분당 기본 샘플 속도와 같으며, 시간당 60분을 곱하고 마지막으로 VM의 평균 활성 시간을 곱합니다.

    요약하려면 다음을 수행합니다.

    분당 기본 샘플 속도 × VM SKU의 디스크 수 × 시간당 60분 × VM 수 × 평균 VM 실행 시간 = 일별 전송된 레코드 수

  • 세션별 요소에 대해 각 카운터는 세션이 연결된 동안 사용자 환경의 각 세션에 대한 기본 샘플 속도로 데이터를 보냅니다. 분당 기본 샘플 속도와 일별 평균 세션 수 및 평균 세션 기간을 곱하여 이러한 카운터가 하루에 보낼 레코드 수를 예측할 수 있습니다.

    요약하려면 다음을 수행합니다.

    일일 × 세션당 기본 샘플 속도 × 평균 세션 기간 = 하루에 전송된 레코드 수

  • 프로세스별 요소의 경우 각 카운터는 사용자 환경의 각 세션에 있는 각 프로세스에 대한 기본 속도로 데이터를 보냅니다. 분당 기본 샘플 속도를 일별 평균 세션 수와 곱한 다음, 평균 세션 기간 및 세션당 평균 프로세스 수를 곱하여 이러한 카운터가 하루에 보내는 레코드 수를 예측할 수 있습니다.

    요약하려면 다음을 수행합니다.

    일일 분당 기본 샘플 속도 × 세션 × 평균 세션 기간 × 세션당 평균 프로세스 수 = 하루에 전송되는 레코드 수

다음 표에는 Azure Virtual Desktop Insights에서 수집하는 20가지 성능 카운터와 기본 요금이 나와 있습니다.

카운터 이름 기본 샘플 속도 빈도 비율
논리 디스크(C:)\% 사용 가능한 공간 60초 디스크당
논리 디스크(C:)\Avg. 디스크 큐 길이 30초 디스크당
논리 디스크(C:)\Avg. Disk sec/Transfer 60초 디스크당
논리 디스크(C:)\현재 디스크 큐 길이 30초 디스크당
Memory(*)\Available Mbytes 30초 VM당
Memory(*)\Page Faults/sec 30초 VM당
Memory(*)\Pages/sec 30초 VM당
메모리(*)\% 사용 중인 커밋된 바이트 30초 VM당
PhysicalDisk(*)\Avg. 디스크 큐 길이 30초 디스크당
PhysicalDisk(*)\Avg. Disk sec/Read 30초 디스크당
PhysicalDisk(*)\Avg. Disk sec/Transfer 30초 디스크당
PhysicalDisk(*)\Avg. Disk sec/Write 30초 디스크당
프로세서 정보(_Total)\% 프로세서 시간 30초 코어/CPU당
터미널 서비스(*)\활성 세션 60초 VM당
터미널 서비스(*)\비활성 세션 60초 VM당
Terminal Services(*)\Total Sessions 60초 VM당
프로세스당 사용자 입력 지연(*)\최대 입력 지연 30초 프로세스당
세션당 사용자 입력 지연(*)\최대 입력 지연 30초 세션당
RemoteFX Network(*)\Current TCP RTT 30초 VM당
RemoteFX Network(*)\현재 UDP 대역폭 30초 VM당

각 레코드 크기를 200바이트로 추정하는 경우 기본 샘플 속도에서 가벼운 워크로드를 실행하는 예제 VM은 VM당 하루에 약 90MB의 성능 카운터 데이터를 보냅니다. 한편, 전력 워크로드를 실행하는 예제 VM은 VM당 하루에 약 130메가바이트의 성능 카운터 데이터를 보냅니다. 그러나 레코드 크기 및 환경 사용량은 다를 수 있으므로 배포에서 사용하는 일당 메가바이트가 다를 수 있습니다.

입력 지연 성능 카운터에 대한 자세한 내용은 사용자 입력 지연 성능 카운터를 참조하세요.

Windows 이벤트 로그 수집 예측

Windows 이벤트 로그는 Azure Monitor 에이전트 또는 Windows 가상 머신의 Log Analytics 에이전트에서 수집한 데이터 원본입니다. 시스템 및 애플리케이션과 같은 표준 로그뿐만 아니라 모니터링해야 하는 애플리케이션에서 만든 사용자 지정 로그에서 이벤트를 수집할 수 있습니다.

다음은 Azure Virtual Desktop Insights에 대한 기본 Windows 이벤트입니다.

  • 응용 프로그램
  • Microsoft-Windows-TerminalServices-RemoteConnectionManager/관리
  • Microsoft-Windows-TerminalServices-LocalSessionManager/Operational
  • 시스템
  • Microsoft-FSLogix-Apps/Operational
  • Microsoft-FSLogix-Apps/관리

Windows 이벤트는 환경이 이벤트 조건을 충족할 때마다 이벤트를 보냅니다. 정상 상태의 컴퓨터는 비정상 상태의 컴퓨터보다 적은 수의 이벤트를 보냅니다. 이벤트 수는 예측할 수 없기 때문에 이 예상에 대한 정상 환경의 예제를 기반으로 VM당 하루에 1,000~10,000개의 이벤트를 사용합니다. 예를 들어 이 예제의 각 이벤트 레코드 크기를 1,500바이트로 추정하는 경우 지정된 환경에 대해 하루에 약 2~15MB의 이벤트 데이터가 표시됩니다.

Azure Monitor 에이전트를 사용하여 Windows 이벤트 로그 데이터 수집을 구성하는 방법에 대한 자세한 내용은 Azure Monitor 에이전트 를 사용하여 가상 머신에서 이벤트 및 성능 카운터를 수집하는 방법을 참조하세요.

Windows 이벤트에 대한 자세한 내용은 Windows 이벤트 레코드 속성을 참조하세요.

진단 수집 예측

진단 서비스는 사용자 및 관리 작업 모두에 대한 활동 로그를 만듭니다.

다음은 진단 카운터가 추적하는 활동 로그의 이름입니다.

  • WVDCheckpoints
  • WVDConnections
  • WVDErrors
  • WVDFeeds
  • WVDManagement
  • WVDAgentHealthStatus

서비스는 환경이 레코드를 만드는 데 필요한 조건을 충족할 때마다 진단 정보를 보냅니다. 진단 레코드 수는 예측할 수 없기 때문에 이 예상에 대한 정상 환경의 예제를 기반으로 VM당 하루에 500~1000개의 이벤트를 사용합니다.

예를 들어 이 예제의 각 진단 레코드 크기를 200바이트로 추정하는 경우 수집된 총 데이터는 하루에 VM당 1MB 미만입니다.

활동 로그 범주에 대한 자세한 내용은 Azure Virtual Desktop 진단 참조하세요.

성능 카운터 데이터 측정 및 관리

실제 모니터링 비용은 환경 크기, 사용량 및 상태에 따라 달라집니다. Log Analytics 작업 영역에서 데이터 수집을 측정하는 방법을 이해하려면 Log Analytics 작업 영역에서 사용량 분석을 참조하세요.

세션 호스트가 사용하는 성능 카운터는 Azure Virtual Desktop Insights에 대해 수집된 데이터의 가장 큰 원본 중 하나입니다. 이 쿼리는 Azure Virtual Desktop Insights의 기본 카운터뿐만 아니라 환경에서 사용하도록 설정한 모든 성능 카운터를 표시합니다. 이 정보는 비용을 절감하기 위해 대상으로 지정할 영역을 이해하는 데 도움이 될 수 있습니다.

Log Analytics 작업 영역에 대해 다음 사용자 지정 쿼리 템플릿을 실행하여 지난 날 성능 카운터당 수집된 빈도 및 메가바이트수를 추적합니다.

참고

템플릿의 자리 표시자 값을 환경이 사용하는 값으로 바꿔야 합니다. 그렇지 않으면 쿼리가 작동하지 않습니다.

let WVDHosts = dynamic(['host1.contoso.com', 'host2.contoso.com']); 
Perf 
| where TimeGenerated > ago(1d) 
| where Computer in (WVDHosts) 
| extend PerfCounter = strcat(ObjectName, ":", CounterName) 
| summarize Records = count(TimeGenerated), InstanceNames = dcount(InstanceName), Bytes=sum(_BilledSize) by PerfCounter 
| extend Billed_MBytes = Bytes / (1024 * 1024), BytesPerRecord = Bytes / Records 
| sort by Records desc 

총 비용 예측

마지막으로 총 비용을 예측해 보겠습니다. 이 예제에서는 이전 섹션의 예제 값을 기반으로 다음 결과를 내놓았다고 가정해 보겠습니다.

데이터 원본 일일 크기 예측값(메가바이트)
성능 카운터 90-130
Events 2-15
Azure Virtual Desktop 진단 < 1

이 예제에서 Azure Virtual Desktop Insights에 대해 수집된 총 데이터는 하루에 VM당 92~145메가바이트입니다. 즉, 31일마다 각 VM은 약 3~5GB의 데이터를 수집합니다.

Log Analytics 가격 책정에 대한 기본 종량제 모델을 사용하여 매월 Azure Monitor 데이터 수집 및 스토리지 비용을 예측할 수 있습니다. 데이터 수집에 따라 Log Analytics 가격 책정에 대한 용량 예약 모델을 고려할 수도 있습니다.

데이터 수집을 관리하여 비용 절감

이 섹션에서는 비용을 줄이기 위해 데이터 수집을 측정하고 관리하는 방법을 설명합니다.

통합 문서에 대한 권한 및 권한을 관리하는 방법에 대한 자세한 내용은 액세스 제어를 참조하세요.

참고

데이터 요소를 제거하면 Azure Virtual Desktop Insights에서 해당 시각적 개체에 영향을 줍니다.

Log Analytics 설정

다음은 Log Analytics 설정을 최적화하여 데이터 수집을 관리하기 위한 몇 가지 제안 사항입니다.

  • Azure Virtual Desktop 리소스에 대해 지정된 Log Analytics 작업 영역을 사용하여 Log Analytics가 Azure Virtual Desktop 배포의 가상 머신에 대한 성능 카운터 및 이벤트만 수집하도록 합니다.
  • Log Analytics 스토리지 설정을 조정하여 비용을 관리합니다. 보존 기간을 줄이거나, 고정 스토리지 가격 책정 계층이 더 비용 효율적인지 평가하거나, 비정상 배포의 영향을 제한하기 위해 수집할 수 있는 데이터의 양에 대한 경계를 설정할 수 있습니다. 자세한 내용은 Azure Monitor 로그 가격 책정 세부 정보를 참조하세요.

초과 데이터 제거

기본 구성은 Azure Virtual Desktop Insights에 권장되는 유일한 데이터 집합입니다. 항상 추가 데이터 요소를 추가하고 호스트 진단: 호스트 브라우저 또는 사용자 지정 차트 작성에서 볼 수 있는 옵션이 있지만 데이터가 추가되면 Log Analytics 비용이 증가합니다. 비용 절감을 위해 제거할 수 있습니다.

성능 카운터 데이터 측정 및 관리

실제 모니터링 비용은 환경 크기, 사용량 및 상태에 따라 달라집니다. Log Analytics 작업 영역에서 데이터 수집을 측정하는 방법을 이해하려면 Log Analytics 작업 영역에서 사용량 분석을 참조하세요.

세션 호스트가 사용하는 성능 카운터는 아마도 Azure Virtual Desktop Insights에 대해 수집된 데이터의 가장 큰 원본일 것입니다. Log Analytics 작업 영역에 대한 다음 사용자 지정 쿼리 템플릿은 지난 날 성능 카운터당 수집된 빈도 및 메가바이트 수 추적할 수 있습니다.

let WVDHosts = dynamic(['host1.contoso.com', 'host2.contoso.com']);
Perf
| where TimeGenerated > ago(1d)
| where Computer in (WVDHosts)
| extend PerfCounter = strcat(ObjectName, ":", CounterName)
| summarize Records = count(TimeGenerated), InstanceNames = dcount(InstanceName), Bytes=sum(_BilledSize) by PerfCounter
| extend Billed_MBytes = Bytes / (1024 * 1024), BytesPerRecord = Bytes / Records
| sort by Records desc

참고

템플릿의 자리 표시자 값을 환경이 사용하는 값으로 바꿔야 합니다. 그렇지 않으면 쿼리가 작동하지 않습니다.

이 쿼리는 Azure Virtual Desktop Insights의 기본 카운터뿐만 아니라 환경에서 사용하도록 설정한 모든 성능 카운터를 표시합니다. 이 정보는 카운터의 빈도를 줄이거나 완전히 제거하는 것과 같이 비용을 절감하기 위해 대상으로 지정할 영역을 이해하는 데 도움이 될 수 있습니다.

성능 카운터를 제거하여 비용을 절감할 수도 있습니다. 성능 카운터를 제거하거나 기존 카운터를 편집하여 빈도를 줄이는 방법을 알아보려면 성능 카운터 구성을 참조하세요.

Windows 이벤트 로그 관리

Windows 이벤트는 모든 호스트가 정상 상태일 때 데이터 수집이 급증할 가능성이 낮습니다. 비정상 호스트는 로그로 전송되는 이벤트 수를 늘릴 수 있지만, 이 정보는 호스트의 문제를 해결하는 데 중요할 수 있습니다. 유지 하는 것이 좋습니다. Windows 이벤트 로그를 관리하는 방법에 대한 자세한 내용은 Windows 이벤트 로그 구성을 참조하세요.

진단 관리

Azure Virtual Desktop 진단 데이터 스토리지 비용의 1% 미만을 차지해야 하므로 제거하지 않는 것이 좋습니다. Azure Virtual Desktop 진단 관리하려면 진단 기능에 Log Analytics를 사용합니다.

다음 단계

다음 문서에서 Azure Virtual Desktop Insights에 대해 자세히 알아보세요.