마이그레이션 모듈 도구를 사용하면 Azure Virtual Desktop(클래식)에서 Azure Virtual Desktop으로 organization 자동으로 마이그레이션할 수 있습니다. 이 문서에서는 도구를 사용하는 방법을 보여줍니다.
필수 구성 요소
마이그레이션 모듈을 사용하기 전에 다음 작업을 준비해야 합니다.
새 Azure 서비스 개체를 만들 Azure 구독입니다.
구독에서 Azure 개체를 만들려면 기여자 역할과 애플리케이션 그룹에 사용자를 할당하는 사용자 액세스 관리자 역할이 할당되어야 합니다.
RDS 테넌트 또는 마이그레이션하려는 특정 호스트 풀에 대한 RDS(원격 데스크톱 서비스) 기여자 권한 이상
Microsoft.RdInfra.RDPowershell PowerShell 모듈의 최신 버전입니다.
Az.DesktopVirtualization PowerShell 모듈의 최신 버전입니다.
Az.Resources PowerShell 모듈의 최신 버전입니다.
컴퓨터에 마이그레이션 모듈을 설치합니다.
PowerShell 또는 PowerShell ISE를 사용하여 이 문서에 표시되는 스크립트를 실행합니다. Microsoft.RdInfra.RDPowershell 모듈은 PowerShell Core에서 작동하지 않습니다.
중요
마이그레이션은 미국 지역에서만 서비스 개체를 만듭니다. 서비스 개체를 다른 지리적 위치로 마이그레이션하려고 하면 작동하지 않습니다. 또한 Azure Virtual Desktop(클래식) 배포에 500개 이상의 애플리케이션 그룹이 있는 경우 마이그레이션할 수 없습니다. 환경을 다시 빌드하여 Microsoft Entra 테넌트 내의 애플리케이션 그룹 수를 줄이는 경우에만 마이그레이션할 수 있습니다.
PowerShell 환경 준비
먼저 마이그레이션 프로세스를 위해 PowerShell 환경을 준비해야 합니다.
PowerShell 환경을 준비하려면 다음을 수행합니다.
시작하기 전에 다음 cmdlet을 실행하여 최신 버전의 Az.Desktop Virtualization 및 Az.Resources 모듈이 있는지 확인합니다.
Get-Module Az.Resources Get-Module Az.DesktopVirtualization https://www.powershellgallery.com/packages/Az.DesktopVirtualization/ https://www.powershellgallery.com/packages/Az.Resources/그렇지 않은 경우 다음 cmdlet을 실행하여 모듈을 설치하고 가져와야 합니다.
Install-module Az.Resources Import-module Az.Resources Install-module Az.DesktopVirtualization Import-module Az.DesktopVirtualization다음으로, 다음 cmdlet을 실행하여 현재 RDInfra PowerShell 모듈을 제거합니다.
Uninstall-Module -Name Microsoft.RDInfra.RDPowershell -AllVersions그런 다음 이 cmdlet을 사용하여 RDPowershell 모듈을 설치합니다.
Install-Module -Name Microsoft.RDInfra.RDPowershell -RequiredVersion 1.0.3414.0 -force Import-module Microsoft.RDInfra.RDPowershell모든 항목 설치가 완료되면 이 cmdlet을 실행하여 올바른 버전의 모듈이 있는지 확인합니다.
Get-Module Microsoft.RDInfra.RDPowershell이제 다음 cmdlet을 실행하여 마이그레이션 모듈을 설치하고 가져오겠습니다.
Install-Module -Name PackageManagement -Repository PSGallery -Force Install-Module -Name PowerShellGet -Repository PSGallery -Force # Then restart shell Install-Module -Name Microsoft.RdInfra.RDPowershell.Migration -AllowClobber Import-Module <Full path to the ___location of the migration module>\Microsoft.RdInfra.RDPowershell.Migration.psd1완료되면 PowerShell 창에서 Azure Virtual Desktop(클래식)에 로그인합니다.
Add-RdsAccount -DeploymentUrl https://rdbroker.wvd.microsoft.comAzure Resource Manager 로그인합니다.
Login-AzAccount구독이 여러 개 있는 경우 이 cmdlet을 사용하여 리소스를 마이그레이션할 구독을 선택합니다.
Select-AzSubscription -Subscriptionid <subID>선택한 구독에 대한 리소스 공급자를 Azure Portal 등록합니다.
마지막으로 공급자를 등록해야 합니다. 이 작업은 다음 두 가지 방법으로 수행할 수 있습니다.
PowerShell을 사용하려면 다음 cmdlet을 실행합니다.
Register-AzResourceProvider -ProviderNamespace Microsoft.DesktopVirtualizationAzure Portal 사용하려는 경우 Azure Portal 열고 로그인한 다음 구독으로 이동하여 사용할 구독의 이름을 선택합니다. 그런 다음 리소스 공급자>Microsoft.Desktop가상화 로 이동하여 다시 등록을 선택합니다. UI에서 변경된 내용은 아직 표시되지 않지만 이제 PowerShell 환경에서 모듈을 실행할 준비가 되었습니다.
Azure Virtual Desktop(클래식) 리소스를 Azure Resource Manager 마이그레이션
이제 PowerShell 환경이 준비되었으므로 마이그레이션 프로세스를 시작할 수 있습니다.
Azure virtual Desktop(클래식) 리소스를 Azure Resource Manager 마이그레이션하려면 다음을 수행합니다.
마이그레이션하기 전에 기존 클래식 리소스가 새 Azure Resource Manager 리소스에 매핑되는 방법을 이해하려면 다음 cmdlet을 실행합니다.
Get-RdsHostPoolMigrationMappingGet-RdsHostPoolMigrationMapping을 사용하면 리소스가 어디로 갈지 매핑하는 CSV 파일을 만들 수 있습니다. 예를 들어 테넌트의 이름이 "Contoso"이고 매핑 파일을 "contosouser" 파일에 저장하려는 경우 다음과 같은 cmdlet을 실행합니다.
Get-RdsHostPoolMigrationMapping -Tenant Contoso -HostPool Office -Location EastUS -OutputFile 'C:\\Users\contosouser\OneDrive - Microsoft\Desktop\mapping.csv'다음으로 Start-RdsHostPoolMigration cmdlet을 실행하여 단일 호스트 풀 또는 테넌트 내의 모든 호스트 풀을 마이그레이션할지 여부를 선택합니다.
예시:
Start-RdsHostPoolMigration -Tenant Contoso -Location WestUS리소스를 특정 호스트 풀로 마이그레이션하려면 호스트 풀 이름을 포함합니다. 예를 들어 "Office"라는 호스트 풀을 이동하려면 다음과 같은 명령을 실행합니다.
Start-RdsHostPoolMigration -Tenant Contoso -HostPool Office -CopyUserAssignments $false -Location EastUS작업 영역 이름을 지정하지 않으면 모듈은 테넌트 이름에 따라 자동으로 이름을 만듭니다. 그러나 특정 작업 영역을 사용하려는 경우 다음과 같이 해당 리소스 ID를 입력할 수 있습니다.
Start-RdsHostPoolMigration -Tenant Contoso -HostPool Office -CopyUserAssignments -Location EastUS -Workspace <Resource ID of workspacename>특정 작업 영역을 사용하되 해당 리소스 ID를 모르는 경우 다음 cmdlet을 실행합니다.
Get-AzWvdWorkspace -WorkspaceName <workspace> -ResourceGroupName <resource group> |fl또한 기존 사용자 할당에 대한 사용자 할당 모드를 지정해야 합니다.
- 복사를 사용하여 이전 애플리케이션 그룹에서 Azure Resource Manager 애플리케이션 그룹으로 모든 사용자 할당을 복사합니다. 사용자는 두 버전의 클라이언트에 대한 피드를 볼 수 있습니다.
- 사용자 할당을 변경하지 않으려면 없음 을 사용합니다. 나중에 Azure Portal, PowerShell 또는 API를 사용하여 애플리케이션 그룹에 사용자 또는 사용자 그룹을 할당할 수 있습니다. 사용자는 Azure Virtual Desktop(클래식) 클라이언트를 사용하여 피드만 볼 수 있습니다.
구독당 2,000개의 사용자 할당만 복사할 수 있으므로 한도는 구독에 이미 있는 할당 수에 따라 달라집니다. 모듈은 이미 할당한 수에 따라 제한을 계산합니다. 복사할 할당이 충분하지 않으면 "사용자 할당을 복사할 역할 할당 할당량이 부족합니다. -CopyUserAssignments 스위치 없이 명령을 다시 실행하여 마이그레이션합니다."
명령을 실행한 후 모듈이 서비스 개체를 만드는 데 최대 15분이 걸립니다. 사용자 할당을 복사하거나 이동한 경우 모듈이 모든 항목 설정을 완료하는 데 걸리는 시간이 추가됩니다.
Start-RdsHostPoolMigration cmdlet이 완료되면 다음 항목이 표시됩니다.
지정한 테넌트 또는 호스트 풀에 대한 Azure 서비스 개체입니다.
두 개의 새 리소스 그룹:
작업 영역을 포함하는 "Tenantname"이라는 리소스 그룹입니다.
호스트 풀 및 데스크톱 애플리케이션 그룹을 포함하는 "Tenantname_originalHostPoolName"라는 리소스 그룹입니다.
새로 만든 애플리케이션 그룹에 게시한 모든 사용자입니다.
가상 머신은 마이그레이션 프로세스 중에 사용자 가동 중지 시간을 방지하기 위해 기존 호스트 풀과 새 호스트 풀 모두에서 사용할 수 있습니다. 이렇게 하면 사용자가 동일한 사용자 세션에 연결할 수 있습니다.
이러한 새 Azure 서비스 개체는 Azure Resource Manager 개체이므로 모듈은 RBAC(역할 기반 Access Control) 권한 또는 진단 설정을 설정할 수 없습니다. 따라서 이러한 개체에 대한 RBAC 권한 및 설정을 수동으로 업데이트해야 합니다.
모듈이 초기 사용자 연결의 유효성을 검사하면 원하는 경우 더 많은 사용자 또는 사용자 그룹에 애플리케이션 그룹을 게시할 수도 있습니다.
참고
마이그레이션 후 사용자에게 권한을 할당한 후 애플리케이션 그룹을 다른 리소스 그룹으로 이동하면 모든 RBAC 역할이 제거됩니다. 사용자 RBAC 권한을 다시 할당해야 합니다.
모든 Azure Virtual Desktop(클래식) 서비스 개체를 삭제하려면 Complete-RdsHostPoolMigration 을 실행하여 마이그레이션 프로세스를 완료합니다. 이 cmdlet은 모든 Azure Virtual Desktop(클래식) 개체를 삭제하고 새 Azure 개체만 남깁니다. 사용자는 클라이언트에서 새로 만든 애플리케이션 그룹에 대한 피드만 볼 수 있습니다. 이 명령이 완료되면 Azure Virtual Desktop(클래식) 테넌트에서 안전하게 삭제하여 프로세스를 완료할 수 있습니다.
예시:
Complete-RdsHostPoolMigration -Tenant Contoso -Location EastUS특정 호스트 풀을 완료하려면 cmdlet에 호스트 풀 이름을 포함할 수 있습니다. 예를 들어 "Office"라는 호스트 풀을 완료하려면 다음과 같은 명령을 사용합니다.
Complete-RdsHostPoolMigration -Tenant Contoso -HostPool Office -Location EastUS그러면 Azure Virtual Desktop(클래식)에서 만든 모든 서비스 개체가 삭제됩니다. 새 Azure 개체만 남게 되며 사용자는 클라이언트에서 새로 만든 애플리케이션 그룹에 대한 피드만 볼 수 있습니다. 마이그레이션을 완료한 후에는 Azure Virtual Desktop(클래식)에서 테넌트 를 명시적으로 삭제해야 합니다.
마이그레이션에 대한 마음이 바뀌었고 프로세스를 되돌리기 하려면 Revert-RdsHostPoolMigration cmdlet을 실행합니다.
예시:
Revert-RdsHostPoolMigration -Tenant Contoso -Location EastUS특정 호스트 풀을 되돌리기 하려면 명령에 호스트 풀 이름을 포함할 수 있습니다. 예를 들어 "Office"라는 호스트 풀을 되돌리기 하려면 다음과 같이 입력합니다.
Revert-RdsHostPoolMigration -Tenant Contoso -HostPool Office -Location EastUS이 cmdlet은 새로 만든 모든 Azure 서비스 개체를 삭제합니다. 사용자는 클라이언트에서 Azure Virtual Desktop(클래식) 개체에 대한 피드만 볼 수 있습니다.
그러나 cmdlet은 모듈이 만든 작업 영역 또는 관련 리소스 그룹을 삭제하지 않습니다. 해당 항목을 제거하려면 해당 항목을 수동으로 삭제해야 합니다.
Azure Virtual Desktop(클래식) 서비스 개체를 아직 삭제하지 않고 마이그레이션을 테스트하려는 경우 Set-RdsHostPoolHidden을 실행할 수 있습니다.
예시:
Set-RdsHostPoolHidden -Tenant Contoso -Hostpool Office -Hidden $true -Location WestUS상태 "true"로 설정하면 Azure Virtual Desktop(클래식) 리소스가 숨겨집니다. "false"로 설정하면 사용자에게 리소스가 표시됩니다.
-Hostpool 매개 변수는 선택 사항입니다. 숨기려는 특정 Azure Virtual Desktop(클래식) 호스트 풀이 있는 경우 이 매개 변수를 사용할 수 있습니다.
이 cmdlet은 삭제하는 대신 Azure Virtual Desktop(클래식) 사용자 피드 및 서비스 개체를 숨깁니다. 그러나 일반적으로 테스트에만 사용되며 완료된 마이그레이션으로 계산되지 않습니다. 마이그레이션을 완료하려면 Complete-RdsHostPoolMigration 명령을 실행해야 합니다. 그렇지 않으면 Revert-RdsHostPoolMigration을 실행하여 배포를 되돌리기.
자동 마이그레이션 문제 해결
이 섹션에서는 마이그레이션 모듈에서 일반적으로 발생하는 문제를 해결하는 방법을 설명합니다.
테넌트에서 액세스할 수 없습니다.
먼저 다음 두 가지를 시도해 보세요.
- 관리자 계정에 테넌트 액세스에 필요한 권한이 있는지 확인합니다.
- 테넌트에서 Get-RdsTenant 를 실행해 보세요.
이러한 두 가지 작업이 작동하는 경우 Set-RdsMigrationContext cmdlet을 실행하여 마이그레이션에 대한 RDS 컨텍스트 및 ADAL 컨텍스트를 설정해 보세요.
Add-RdsAccount cmdlet을 실행하여 RDS 컨텍스트를 만듭니다.
전역 변수 $rdMgmtContext RDS 컨텍스트를 찾습니다.
전역 변수 $AdalContext ADAL 컨텍스트를 찾습니다.
다음 형식으로 찾은 변수를 사용하여 Set-RdsMigrationContext 를 실행합니다.
Set-RdsMigrationContext -RdsContext <rdscontext> -AdalContext <adalcontext>
다음 단계
배포를 수동으로 마이그레이션하는 방법을 알아보려면 Azure Virtual Desktop(클래식)에서 수동으로 마이그레이션을 참조하세요.
마이그레이션한 후에는 자습서를 확인하여 Azure Virtual Desktop의 작동 방식을 알아 보세요. 기존 호스트 풀 확장 및 RDP 속성 사용자 지정에서 고급 관리 기능에 대해 알아봅니다.
서비스 개체에 대해 자세히 알아보려면 Azure Virtual Desktop 환경을 검사.