Microsoft Azure, RemoteApp 서비스를 활용한 응용 프로그램 서비스 방안
Windows Server 2008부터 터미널 서비스 기반에 대한 데스크톱 기술인 프레젠테이션 가상화 기술의 확장으로 RemoteApp이라는 기술을 제공해왔습니다. 원격 데스크톱(터미널 서비스)의 경우에는 데스크톱 전체를 제공해주는 형태이므로, 프로그램 이외에 서버와 보안 설정등을 손댈 수 있다는 위협 요소가 있었습니다.
Windows Server 2008이 나오면... (43) - Terminal Service RemoteAPP
RemoteApp의 경우에는 기존에 살펴보았던 포스팅을 보시면 이해가 되실 수 있으실 것입니다. 간단히 이야기해서, 원격 데스크톱 서비스에서 제공되는 프로그램의 화면만을 보여주는 서비스입니다.
프로그램 화면 이외에 원격 데스크톱의 나머지 부분을 볼 수 없기에, 기존의 원격 데스크톱 서비스보다는 이용성이나 보안 설정적인 측면에서 수월하며, IT 엔지니어는 서버에서 데이터에 대한 백업과 설정을 모두 관리할 수 있다는 장점이 있었죠. TechNet 사이트에 게시된 RemoteApp에 대한 구성 가이드는 여기에서 살펴보실 수 있습니다. Windows Server 기반의 RemoteApp은 원격 데스크톱 클라이언트를 Windows 운영 체제뿐만 아니라, Android와 iOS에 대한 제공까지 가능한 형태이므로, 이기종 클라이언트에서 Windows 기반의 프로그램을 활용하는 시나리오로도 활용되고 있습니다.
지난 5월, 미국에서 개최된 TechED에서 Microsoft Azure 기반에서 RemoteApp을 서비스한다는 소식이 발표되었습니다.
Windows Server 기반에서 제공되던 RemoteApp을 Microsoft Azure 기반의 가상 컴퓨터에서 제공하는 형태로 서비스하는 것입니다. 현재는 Preview이기 때문에, 많은 비용 투자없이 이용해볼 수 있습니다. Preview에 대한 이용은 여기에서 신청하실 수 있습니다.
Microsoft Azure내 RemoteApp은 크게 2가지 형태로 서비스가 제공됩니다.
- Microsoft Azure에서 생성되어 기본적으로 제공되는 RemoteApp 기본 버전 (기본적으로 현재 Office 2013 내장)
- 별도의 이미지를 생성해서 Microsoft Azure로 업로드한 후, 사내 네트워크로 S2S VPN 형태로 연결하여, 내부 인프라와 연계한 형태(네트워크 접속 및 사내 도메인 로그온)로 제공하는 RemoteApp
기본적인 RemoteApp은 그냥 Microsoft Azure에서 생성만 한 후, 접속할 사용자들만 권한을 부여하면 끝입니다. 권한을 부여할 수 있는 계정은 Microsoft Account, Microsoft Azure AD, 그리고 Microsoft Azure AD와 연계된 사내 AD와 연계가 가능합니다. (차후 포스팅에서 Microsoft Azure AD, 사내 AD등의 관계를 포스팅하겠습니다.)
기본 이미지의 경우에는 몇가지 기본 프로그램들이 게시되어 있습니다. Windows Server의 RemoteApp 경우에도 사용할 프로그램을 원격 데스크톱 서버에 설치한 후, 이를 게시하는 작업이 필요한데, Microsoft Azure의 RemoteApp도 동일한 형태를 밟게 됩니다.
추가적으로 기본 설치된 프로그램을 제공하려면, 원하는 프로그램을 아이콘별 또는 경로 지정별로 게시할 수 있습니다.
이렇게 게시된 RemoteApp은 https://www.remoteapp.windowsazure.com/ 에서 접근할 수 있습니다.
Experience RemoteApp Now를 클릭하여, 관련된 RemoteApp 프로그램을 설치합니다. (이 역시, Windows, Android, iOS, MAC OS X를 지원하고 있습니다.)
프로그램 설치가 완료되면, Microsoft Azure에 로그인할 수 있는 자격 증명을 확인한 후, 권한이 부여된 RemoteApp 테넌트에 연결되어, 게시된 프로그램 목록이 나타나게 됩니다.
테넌트에 표시되는 RemoteApp의 전체 이름은 Microsoft Azure 관리 포탈의 설정 페이지에서 수정이 가능합니다.
기본적으로 제공되는 RemoteApp을 Microsoft Azure에서 서비스하는 방법은 공용 클라우드 특성상 매우 용이합니다. 그냥 만들고, 권한 부여하면 끝인 형태이죠. Microsoft Azure RemoteApp에 접속한 위의 그림에서 카카오톡이 보이는 것을 알 수 있습니다. 기본적으로 제공하지 않고, 사내용으로 서비스되는, 혹은 별도로 필요한 프로그램이 있다면, 해당 프로그램을 설치하여, RemoteApp으로 제공하는 이미지 템플릿을 만들어서, Microsoft Azure로 업로드해야 합니다. Microsoft Azure의 RemoteApp용 VHD 파일을 만드는 방법은 여기에 잘 정리되어 있습니다. 정리하면 아래와 같습니다.
Windows Server 2012 R2를 Hyper-V 기반에서 설치 (주의 : VHDX를 지원하지 않습니다. Microsoft Azure는 동적 확장(Dynamic Expanding)을 지원하지 않으므로, 고정 크기 방식의 가상 하드 디스크를 생성해야 합니다.)
RemoteApp에서 제공할 응용 프로그램 설치
차후 게시 용이성을 위해, 사용할 응용 프로그램은 시작 페이지에 아이콘을 생성해두면 좋습니다.암호화 파일 시스템(EFS) 사용 중지
명령 프롬프트에서 Fsutil behavior set disableencryption 1 실행SYSPREP 진행
C:\Windows\System32\sysprep\sysprep.exe /generalize /oobe /shutdown
이후 해당 VHD 파일을 업로드하기 위해, Microsoft Azure 관리 포탈내 RemoteApp의 업로드를 클릭합니다.
템플릿의 이름과 업로드할 데이터센터 지역을 선택합니다. 현재 RemoteApp은 Preview 기간이므로, 사용 가능한 지역이 전체 Microsoft Azure 데이터센터를 모두 커버하지 않습니다.
업로드와 관련된 Windows PowerShell 구문이 나타납니다. 더불어, 해당 구문이 저장된 PS1 파일을 다운로드할 수 있습니다. 이를 Windows Azure PowerShell 기반에서 실행합니다.
이미지 업로드가 완료되면, 관리 포탈에서 상태가 Ready로 표시됩니다.
업로드된 이미지를 바로 Microsoft Azure에서 사용하도록 RemoteApp을 생성할 수 있습니다.
만약 사용자 지정 RemoteApp 이미지가 사내 네트워크를 사용해야 하는 경우, 가상 네트워크를 생성해야 합니다. 해당 네트워크는 사내 네트워크(로컬)과 연결된 S2S VPN 형태입니다. S2S VPN에 대한 설정은 앞선 포스팅 Microsoft Azure, 가상 네트워크 생성 및 VPN 관련 기본 구성 1편(사이트간, 지점 및 사이트간) 을 참고해서 생성할 수 있습니다. (이런 이유로 가상 네트워크에 대한 포스팅을 선행했던 것입니다. )
이제 사용자 지정 RemoteApp 이미지를 사내 네트워크와 연동하여 생성할 준비가 완료되었습니다. 이제 새로 만들기 메뉴를 통해 RemoteApp(Create with VPN) 시나리오를 시작합니다.
생성된 RemoteApp 시나리오는 앞선 기본 구성 형태가 아닌, 개별 설정을 채워가는 형태로 구성되어 있습니다.
첫번째로 생성해놓은 가상 네트워크를 연결하고, 사내 VPN 장비와 연결할 스크립트, 공유 키를 제공받습니다. 그리고 RemoteApp 서비스가 가입할 도메인 정보를 입력합니다. 사용자 지정 RemoteApp 시나리오는 사내 AD 인증을 지원하므로, 로컬 도메인 정보를 입력해야 합니다. (이후 포스팅에서 살펴볼 Azure AD와 사내 AD 연동 참고) 마지막으로 업로드한 RemoteApp 서버의 VHD 파일을 연결하면 구성이 시작됩니다.
이후는 기본 생성 RemoteApp과 동일한 순서로 게시할 프로그램 선택, 사용자 권한 부여의 순서를 밟게 됩니다. 당연한 이야기지만, 한글 버전의 Windows Server 2012 R2를 활용하면, 메뉴 역시 한글로 표시됩니다.
Microsoft Azure에 구성된 RemoteApp은 사내 네트워크와 연결되는 시나리오와 별도의 개별 시나리오를 모두 지원합니다. 더불어, 사용자가 업로드한 이미지를 사용할 수 있는 형태에 대해서도 지원함을 알 수 있습니다. 특정 프로그램이 사내 네트워크에서 사용이 불가능하여 아예 네트워크를 분리하고자 하는 경우에도 좋은 활용이 될 수 있습니다. 또한 이기종 디바이스에서 Windows 프로그램이 필요한 경우에도 적절하다고 느껴집니다.