[Azure] Azure Virtual Desktop(AVD) 가이드

2025. 12. 2. 13:26·DevOps/Cloud
반응형

1. 문제 정의

조직에서 원격 근무, 보안 규제 준수, 파트너·외주 인력 지원 요구가 증가하면서 다음과 같은 문제가 발생한다.

  • 사내 PC·노트북에 데이터가 분산되어 정보 유출 위험이 증가한다.
  • 원격 접속을 위해 VPN + RDS(원격 데스크톱 서비스)를 조합하면 인프라 복잡도가 급격히 높아진다.
  • 프로젝트·계약 단위로 사용자를 빠르게 온보딩·오프보딩하기 어렵다.
  • 전통적인 온프레미스 VDI는 초기 CAPEX와 유지보수 인력이 많이 필요하다.

Azure Virtual Desktop(AVD) 는 이러한 문제를 클라우드 기반 데스크톱·앱 가상화 서비스로 해결하는 플랫폼이다.

https://learn.microsoft.com/ko-kr/azure/virtual-desktop/

 

Azure Virtual Desktop 설명서

Azure Virtual Desktop은 가상 데스크톱 및 애플리케이션을 원격으로 안전하게 제공하고 사용자에게 유일한 다중 세션 Windows 11 및 Windows 10 환경을 제공합니다.

learn.microsoft.com

 


2. 왜 Azure Virtual Desktop인가

2.1 Azure Virtual Desktop 핵심 가치

Azure Virtual Desktop은 다음과 같은 특성을 제공한다.

  • Windows 11 / 10 Enterprise 멀티 세션 지원
    • 하나의 VM에서 여러 사용자가 동시에 접속하는 Windows Enterprise multi-session 기능으로, 기존에는 Windows Server 기반 RDS로만 가능했던 시나리오를 클라이언트 OS에서 구현한다.
  • 전체 데스크톱 + RemoteApp
    • 전체 데스크톱 또는 특정 업무용 애플리케이션만 RemoteApp 형태로 제공 가능.
  • Microsoft 365와 통합 최적화
    • Microsoft 365 Apps for enterprise(Office) 및 Teams에 최적화된 다중 사용자 환경 제공.
  • PaaS형 브로커·게이트웨이
    • 세션 브로커, 게이트웨이, 로드밸런서, 진단 등 VDI 핵심 구성요소는 Azure가 관리하고, 고객은 세션 호스트 VM과 정책만 관리한다.

2.2 주요 도입 시나리오

  • 보안 규제가 강한 금융·공공 환경의 중앙 집중형 업무 환경
  • 콜센터, BPO, 파트너사 등 다수 사용자를 빠르게 확장해야 하는 환경
  • 개발자·디자이너·엔지니어를 위한 고사양 GPU 데스크톱
  • 기존 RDS/VDI(예: Citrix, VMware Horizon)에서의 클라우드 마이그레이션 대상

3. 사전 준비사항

3.1 라이선스 및 접근 권한

Azure Virtual Desktop을 사용하려면 아래와 같은 클라이언트 라이선스가 필요하다.

  • Microsoft 365 E3/E5, Business Premium, F3
  • Windows 11/10 Enterprise E3/E5, Education A3/A5
  • 또는 Windows VDA E3/E5

서버 워크로드(Windows Server 세션 호스트)를 사용하는 경우, RDS CAL + Software Assurance 또는 구독 라이선스가 필요하다.

3.2 인프라·아이덴티티

  • Azure Subscription 1개 이상
  • Microsoft Entra ID(Azure AD) 테넌트
  • 세션 호스트 도메인 조인을 위한 AD DS 또는 Entra Domain Services(Entra DS)
  • 네트워크: 세션 호스트가 위치할 전용 VNet/Subnet

3.3 사용자 프로필 및 스토리지

사용자 프로필, 문서, 앱 설정을 로밍하기 위해 FSLogix Profile Container 사용이 권장된다.

  • 프로필 컨테이너는 VHD/VHDX 파일로 구성되며, 로그인 시 세션에 마운트된다.
  • 스토리지는 일반적으로 Azure Files 또는 프리미엄 SMB 기반 스토리지를 사용한다.

4. Azure Virtual Desktop 아키텍처 및 핵심 개념

4.1 논리 구조

텍스트 기반 구성도:

  • 사용자 → AVD 클라이언트(Windows, macOS, iOS, Android, HTML5)
  • AVD 제어 평면(PaaS)
    • Broker, Web Access, Diagnostics, Gateway
  • 세션 호스트(Session Host)
    • Azure VM (Windows 11/10 multi-session, Windows Server 등)
  • 프로필 스토리지
    • Azure Files, NetApp Files 등
  • ID 및 정책
    • Entra ID + AD 그룹, Intune/Group Policy, Conditional Access

실제 고객은 Host Pool, Application Group, Workspace를 정의하여 사용자에게 데스크톱·앱을 할당한다.

4.2 Host Pool, Session Host, Application Group

  • Host Pool
    • 동일한 구성을 가진 세션 호스트 VM 집합.
    • Pooled(공유) / Personal(개인 전용) 두 가지 형태.
  • Session Host
    • Host Pool에 속한 개별 VM. Windows 11/10 Enterprise 멀티 세션 또는 단일 세션 이미지 사용.
  • Application Group
    • 데스크톱 전체(Desktop) 또는 특정 앱(RemoteApp)을 사용자에게 노출하는 논리 그룹.

5. 비용 구조 요약

Azure Virtual Desktop 비용은 크게 두 가지 축으로 나뉜다.

  1. 사용자 접근 권한(User Access Rights)
    • Microsoft 365/Windows 라이선스(앞서 언급).
    • 대부분 BYOL(Bring Your Own License) 모델로 별도 과금 없음.
  2. Azure 인프라 비용(Infrastructure)
    • Compute: 세션 호스트 VM (CPU/메모리, 예약 인스턴스/스팟 포함)
    • Storage: OS 디스크, FSLogix 프로필/데이터 디스크
    • Network: 아웃바운드 트래픽, VPN/ExpressRoute
    • 관리·모니터링: Log Analytics, Backup, Defender for Cloud 등

비용 최적화를 위해 다음과 같은 전략이 일반적이다.

  • Windows Enterprise multi-session + Pooled Host Pool로 사용자당 VM 수를 최소화
  • 자동 스케일링(오프 시간 VM 중지)
  • Reserved VM Instances, Savings Plan 활용
  • Azure Files Premium 티어 등 IOPS·핸들 수요에 맞는 스토리지 계층 설계

6. 배포 시나리오 개요 (Portal / CLI)

6.1 Azure Portal 기반 배포 흐름

  1. Host Pool 생성
    • 유형: Pooled 또는 Personal
    • Load balancing: Breadth-first / Depth-first
  2. 세션 호스트 VM 구성
    • 이미지 선택(Windows 11/10 Enterprise multi-session + M365 앱)
    • VM 크기 선택 (문서·콜센터용 vs 개발자용)
    • 도메인 조인 정보 입력(AD DS 또는 Entra DS)
  3. Application Group 정의
    • Desktop 또는 RemoteApp
  4. Workspace에 등록 후 사용자 할당
    • Entra ID 그룹으로 할당
  5. FSLogix 프로필 스토리지 구성
    • Azure Files 공유 생성 및 GPO/Registry로 프로필 경로 설정

이 흐름은 포털에서 제공하는 Azure Virtual Desktop 마법사에 의해 단계별로 안내된다.

6.2 Azure CLI 예시

6.2.1 Host Pool 생성

# 리소스 그룹
az group create \\
  --name rg-avd-prod \\
  --location koreacentral

# 호스트 풀
az desktopvirtualization hostpool create \\
  --name hp-avd-prod \\
  --resource-group rg-avd-prod \\
  --location koreacentral \\
  --type Pooled \\
  --load-balancer-type BreadthFirst \\
  --max-session-limit 12

6.2.2 Application Group 및 Workspace

# 애플리케이션 그룹 (전체 데스크톱)
az desktopvirtualization applicationgroup create \\
  --resource-group rg-avd-prod \\
  --host-pool-name hp-avd-prod \\
  --name ag-avd-desktop \\
  --location koreacentral \\
  --application-group-type Desktop

# 워크스페이스
az desktopvirtualization workspace create \\
  --resource-group rg-avd-prod \\
  --name ws-avd-prod \\
  --location koreacentral

# 애플리케이션 그룹을 워크스페이스에 등록
az desktopvirtualization workspace update \\
  --resource-group rg-avd-prod \\
  --name ws-avd-prod \\
  --add "applicationGroupReferences" \\
  "/subscriptions/<subId>/resourceGroups/rg-avd-prod/providers/Microsoft.DesktopVirtualization/applicationGroups/ag-avd-desktop"

6.2.3 세션 호스트 VM 배포

세션 호스트는 ARM/Bicep 또는 이미지 기반 배포 템플릿으로 생성하는 것이 일반적이며, Host Pool에 조인되도록 registrationInfo를 사용한다. 공식 템플릿과 샘플은 AVD 문서의 빠른 시작 예제에 포함되어 있다.


7. FSLogix 프로필 컨테이너 구성 개요

7.1 FSLogix 개념

FSLogix Profile Container는 사용자 프로필 전체를 단일 VHD/VHDX로 저장하여, 로그인 시 세션 호스트에 마운트하는 방식으로 동작한다.

장점:

  • 로그인 속도 개선
  • 여러 세션 호스트 간 일관된 사용자 환경
  • 프로필 부패·용량 문제 완화

7.2 Azure Files 기반 스토리지 패턴

  • Azure Files(프리미엄 혹은 표준 + 캐싱) 사용이 일반적인 권장사항이다.
  • AD DS/Entra DS 기반 인증을 위해 Storage 계정을 AD에 조인하고, SMB 권한을 적용한다.

레지스트리 예시(로컬 GPO 템플릿으로도 가능):

[HKEY_LOCAL_MACHINE\\SOFTWARE\\FSLogix\\Profiles]
"Enabled"=dword:00000001
"VHDLocations"="\\\\avdprofiles.file.core.windows.net\\profiles"
"ProfileType"=dword:00000000
"SizeInMBs"=dword:00001000
"IsDynamic"=dword:00000001


8. 운영·모니터링

8.1 Azure Monitor / AVD Insights

Azure Virtual Desktop는 Azure Monitor와 통합되어, 사용자 세션, 연결 실패, 호스트 상태, 성능 메트릭을 시각화하는 AVD Insights를 제공한다.

구성 요약:

  1. Log Analytics Workspace 생성
  2. AVD 진단 설정에서 로그를 워크스페이스로 전송
  3. AVD Insights workbook 사용 및 알림 규칙 구성

모니터링 비용은 Log Analytics 데이터 수집량(GB) 기반으로 과금된다.

8.2 업데이트·보안

  • 세션 호스트 OS 및 애플리케이션 업데이트는 Azure Update Management, Intune, 이미지 빌더 등을 사용하여 관리한다.
  • Defender for Cloud, Defender for Endpoint와 통합하여 악성 코드·침입 시도를 탐지한다.

9. 자주 발생하는 문제 및 해결 방법

9.1 로그인 지연 또는 프로필 손상

증상

  • 로그인 시간이 비정상적으로 길거나, 임시 프로필로 로그인
  • FSLogix 이벤트 로그에 에러 기록

대응

  • Azure Files IOPS/핸들 수용량 확인, 부족 시 스케일 아웃 또는 상위 티어로 이동
  • 프로필 VHDX 손상 시, 백업에서 복원 또는 새 프로필 초기화
  • FSLogix 버전 최신 유지 및 권장 설정 적용

9.2 세션 접속 실패

증상

  • “No available resources” 또는 “The connection was denied” 메시지

원인 및 조치

  • Host Pool 내 세션 호스트 전원이 꺼져 있음 → 자동 스케일링 정책 확인
  • 라이선스 또는 사용자 할당 누락 → Application Group에 사용자/그룹 재할당
  • 네트워크 보안 그룹/방화벽 정책으로 세션 호스트의 아웃바운드가 차단 → AVD 필수 포트·엔드포인트 허용

9.3 비용 증가

증상

  • 예상보다 높은 컴퓨트·스토리지·로그 비용

대응 전략

  • 업무 시간 외 세션 호스트 자동 중지/시작
  • 멀티 세션 VM 사이징 재검토(세션당 vCPU/메모리 목표 설정)
  • Log Analytics 수집 규칙을 조정해 불필요한 진단 로그 필터링

10. 정리 및 Best Practice

10.1 핵심 요약

  • Azure Virtual Desktop은 클라우드 기반 VDI/PaaS 로, Windows 11/10 멀티 세션, RemoteApp, Microsoft 365 통합을 제공한다.
  • 비용 구조는 사용자 라이선스 + Azure 인프라(Compute·Storage·Network·Monitoring) 로 나뉘며, 멀티 세션·자동 스케일링·Reserved/Savings Plan으로 최적화할 수 있다.
  • FSLogix Profile Container + Azure Files 조합이 사용자 경험과 운영 편의성을 동시에 충족하는 표준 구조이다.

10.2 설계 시 Best Practice

  1. 사용자 프로파일 및 워크로드 분석 후 사이징
    • 사용자 유형(사무·콜센터·엔지니어 등)별 vCPU/메모리, 동시 접속자 수를 기준으로 Host Pool 계획 수립.
  2. 네트워크·ID 통합 전략 수립
    • ExpressRoute/VPN, 프라이빗 엔드포인트, Zero Trust(Conditional Access)까지 포함한 보안 아키텍처 설계.
  3. 이미지 관리 표준화
    • 골든 이미지(Windows 11 multi-session + M365 + Line-of-Business 앱) 빌드 파이프라인을 구성하고, Azure Image Builder 또는 Packer와 통합.
  4. 운영·모니터링 자동화
    • AVD Insights, Log Analytics, 알림 규칙을 기본값으로 포함하고, 비용·성능 대시보드를 구축.
  5. 파일·프로필 스토리지 구조화
    • FSLogix 프로필, 사용자 데이터, 앱 패키지 디렉터리를 분리해 백업·복구 전략을 명확히 정의.

Azure Virtual Desktop은 단순한 원격 데스크톱 서비스가 아니라, 엔터프라이즈급 보안·확장성·비용 최적화를 제공하는 클라우드 VDI 플랫폼이다. 위의 개념·구성·운영 전략을 기준으로 환경을 설계하면, 온프레미스 VDI 대비 단순한 구조와 유연한 확장성을 확보할 수 있다.

이 글이 Azure Virtual Desktop 설계·구현에 도움이 되었다면, 추후 다시 참고할 수 있도록 북마크하거나 팀·동료와 공유하는 것을 권장한다.

반응형

'DevOps > Cloud' 카테고리의 다른 글

[Azure] Azure Front Door 보안 강화 (Service Tag + AFID 기반 백엔드 보호 전략)  (0) 2025.12.11
[Azure] Azure Bastion + Key Vault Secret 기반 SSH 접속  (0) 2025.12.02
[Cloud] AWS vs Azure 비교 완벽 가이드  (0) 2025.11.28
[Azure] AKS(Azure Kubernetes Service) 살펴보기  (0) 2025.11.28
[Azure / AKS] AGIC vs Application Gateway for Containers  (0) 2025.11.28
'DevOps/Cloud' 카테고리의 다른 글
  • [Azure] Azure Front Door 보안 강화 (Service Tag + AFID 기반 백엔드 보호 전략)
  • [Azure] Azure Bastion + Key Vault Secret 기반 SSH 접속
  • [Cloud] AWS vs Azure 비교 완벽 가이드
  • [Azure] AKS(Azure Kubernetes Service) 살펴보기
Cloud & DevOps Engineering
Cloud & DevOps Engineering
Azure, AWS, NCP 기반의 멀티클라우드 환경에서 DevOps, Kubernetes, 자동화, 운영 노하우와 실전 아키텍처를 공유합니다.
  • Cloud & DevOps Engineering
    CMP Blog
    Cloud & DevOps Engineering
  • 전체
    오늘
    어제
    • 분류 전체보기 (24)
      • IT 꿀팁 (4)
      • DevOps (12)
        • Cloud (6)
        • Kubernetes (6)
      • AI (6)
      • 핑거푸드 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    ncp
    claudecode
    AI
    AGIC
    Azure
    AGfC
    MCP
    cka
    copilot
    AIEngineering
    aks
    devops
    자격증
    KeyVault
    AFID
    Terrform
    kubernetes
    github
    nks
    GatewayAPI
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.5
Cloud & DevOps Engineering
[Azure] Azure Virtual Desktop(AVD) 가이드
상단으로

티스토리툴바