최근 출시한 애플의M1 칩을 탑제한  MacBook 의 성능과 발열관리에 찬사가 쏟아지고 있다. 개인적으로 매번 맥북 교체 시기가 애매하게 맞지 않아 신모델 출시 전에 교체를 하는것 같다. 이번에도 M1 모델 출시 며칠전에 MacBook Pro 16인치 모델로 교체했다. apple.com 에서 CTO 모델로 구매한 것이라 M1으로 교체할 수 있었지만 , 바로 업무와 연구에 사용해야 하기 때문에 아직 완벽하지 않는 어플리케이션 호환성 문제로 16인치로 결정하게 되었다.

오래전부터 애플 유저로서 맥북을 만족하며 사용하고 있지만 불편한 점도 있다. 그것은 CPU 작업이 많아지면 금방이라도 이륙할 것 같은 팬 소음이나  여름철에는 손에 땀이 날 정도로 따뜻하고 허벅지에 올려서 작업하면 살이 익을듯 발열 문제도 아니다.

유독 국내 사이트에서 MacOS 호환성 문제, Windows 보안 프로그램이 없으면 정상적인 서비스를 할 수 없는 정말 IT 강국이라는 말을 무색하게 만들어 버리는 웹사이트 때문이다. 아이러니하게 외국 사이트에서는 전혀 문제되지 않는 것을 국내 사이트에서는 무슨 그렇게도 복잡하고 무거운 보안 프로그램들을 많이 설치해야하는지 잘 모르겠다. 그리고 왜 항상 제출하거나 공지하는 문서는 모두 HWP 한글 파일인지..  최소한 컴퓨터공학과라면 이런 호환성 보장 되지 않는 문서 요구는 안하면 좋겠다.

MacOS 운영체제를 사용하면서도 우리는 Windows 사용을 완벽하게 배제할 수 없다.

그래서 MacOS를 사용하면 Windows를 사용하는 여러가지 방법을 시도한다. 몇 가지 알려진 방법은 다음과 같다.

  • Boot Camp Assistance : 애플에서 Intel 기반 디바이스에서 MacOS 와 같이 사용할 수 있게 제공하는 애플리케이션이다. 애플 실리콘이라 부르는 arm 칩셋 기반 Mac 에서는 더 이상 지원하지 않는다.
  • Parallels : 일종의 가상화 애플리케이션인데 기존의 다른 가상 애플리케이션보다 MacOS 에서 안정성고 성능이 좋아 유료지만 맥 유저에게는 거의 필수 애플리케이션이다.
  • VirtualBox : Oracle 에서 제공하는 무료 가상화 애플리케이션이다. 성능이 늦어 실제 사용하는 사람들이 많지 않다. 대부분 실험이나 테스트에 많이 사용한다.
  • Remote Desktop: 만약 PC 나 Windows 운영체제가 설치된 랩탑이 있으면 Remote Desktop 을 사용하는 것도 좋은 방법 중에 하나다. 안정적인 네트워크를 기반으로 내가 사용하고 있는 호스트에 부담을 줄일 수 있다.

2021년 1월 대학생 대상으로 AWS 클라우드 서비스기반 웹 애플리케이션 개발 과정 교육을 하게 되었다. COVID-19 전염병 영향으로 재택 환경에서 Zoom을 통해 실시간으로 온라인으로 진행되는 교육이다. 일정이 잡히면서 나는 다음과 같은 고민을 했다.

  • MacBook 을 사용하는 대학생은 생각보다 많지 않을 것이고 대부분 PC 나 Windows 기반 랩탑을 사용 할 것이다.
  • 교육 실습자료를 Windows 환경으로 만들어서 스크린샷을 받아야하는데 당장 PC 나 Windows 랩탑이 없다.
  • 교육용 목적으로 사용하기 위해서 PC 환경을 초기화 해서 진행하고 싶다.

처음에는 물리적인 Windows 랩탑을 같은 네트워크 상에서 하나 두고 원격접속으로 시도하려고 했지만 개인 윈도우즈  랩탑을 교육을 위해서 초기화 할 수 없었다. Parallels 나 VirtualBox 는 Windows 시리얼도 없고 Zoom 으로 진행하는 교육이라 마이크에 놀라운 맥의 이륙소리 때문에 고민을 했다. Boot Camp Assistant 는 다시 부팅 하면서 윈도우즈로 마운트 해야하는데 맥과 함께 사용하지 못해서 이 방법도 선택할 수 없었다.

AWS 인스턴스 타입으로 Windows 를 선택할 수 있지만 지금까지 한번도 고려하지 않는데 이번 교육으로 AWS Windows 용 자원을 사용하기로 했다. . AWS 에서 Windows를 사용할수 있는 여러방법이 있다. 처음에는 WorkSpace로 virtual desktop 환경을 구축하려고 했지만 아직 국내에는 서비스가 출시 되지 않았다. 그래서 일본(도쿄) 리전에서 SimpleAD 기반 WorkSpace를 생성하고 사용했다. WorkSpace는 가상 데스크탑 서비스로 클라우드에서 윈도우즈 운영체제를 사용할 수 있다. 하지만 교육목적으로 필요한 것인데 높은 비용이 발생하지 않고 좀 더 가볍게 사용할 수 있는 환경이 필요했는데 AWS의 Lightsail 을 이용하기로 했다.

AWS Ligtsail 인스턴스 생성

Windows 2019는 Windows 10 과 같다. 교육환경으로 Windows 10에 포함하고 있는 OpenSSH Client 를 이용할 예정인데. Windows Server 2016 에는 OpenSSH Client를 포함하고 있지 않아 Windows 2019를 선택한다.

Windows 인스턴스를 사용할 경우 AWS 에 정해진 요금정책 외 Windows 라이센스 요금도 발생한다는 것을 꼭 확인해야한다.

인스턴스 플랜 선택

AWS Lightsail 에서 설치가능한 Windows 는 서버용이다. Windows Server를 설치하면 Windows 내에서 계정을 생성하여 외부에서 Windows 계정으로 원격접속을 할 수 있다. Windows Server는 예상외 기본적인 리소스를 많이 사용하기 때문에 1vCPU, 2GB 메모리 이상을 추천한다. 단순히 개발용이 아닌 브라우저 테스트 용과 같이 간단한 업무를 한다면 더 적은 리소스 타입을 가진 플랜을 선택해도 좋다.

인스턴스의 이름은 개인이 원하는 이름을 입력하면 된다. 개인적으로 사용하는 리소스 네이밍 규칙이 있어서 개발용에 사용하기 위해 hbn-kr-lightsail-windows-server-2019 으로 지정하였다.

웹 기반 RDP Client를 사용하여 Windows 접속

AWS Lightsail 에서 Windows 인스턴스를 생성한 후 RDP(Remote Desktop Protocol) 를 사용하는 클라이언트 프로그램을 사용하여 접속할 수 있다.

AWS Lightsail 에서는 웹 기반의 RDP 클라이언트 서비스를 제공하고 있다. 인스턴스 생성 후 연결 탭을 클릭하면 connect using RDP(RDP를 사용하여 연결) 버튼이 있는데 클릭하면 다른 RDP 클라이언트 프로그램 추가 설치과정 필요 없이 바로 Windows 에 접속할 수 있다.

connect using RDP 버튼 클릭하면 Administrator 계정으로 환경설정 파일들이 먼저 설치되고 로그인 된다.

AWS Lightsail 이 설치하는 Windows 는 한글버전이 아니다. 영문버전으로 설치가된다. 이후 언어팩을 설치해서 한글을 사용할 수 있도록 할 것이다.

한글 언어팩 설치 및 Windows 한글 환경 설정

Windows Settings 를 열어서 Time & Language 를 클릭

Time & Language > Date & time > Set time zone automatically 에서 On 으로 변경

Time & Language > Language 에서 Add a language 버튼 클릭

Choose a language to install 언어 선택 입력창이 나오는데 웹 RDP 클라이언트에서 키보드 입력이 가능하지 않을 수 있다. 이 때 웹 RDP 클라이언트 오른쪽 하단에 노트 아이콘을 클릭하면 텍스트를 웹 입력받을 수 있는 입력 화면 나온다.

입력 화면에 korean 이라고 키보드로 입력후 드래그해서 텍스트를 복사한다.

그리고 다시 Choose a language to install 에서 검색창에 붙여 넣기하면 한국어(Korean)가 검색된다.

Next 버튼을 클릭하면 언어 패키지 설치가 진행되는데 원격서버 운영 목적으로 설치했기 때문에 SpeechHandwriting 과 패키지는 설치하지 않도록 체크를 해지했다.

Install 버튼을 클릭하면 한국어 언어팩이 설치 된다.

한국어 언어팩이 설치 완료 후 Windows display language English(United States) 에서 한국어로 변경이 된 것을 확인 할 수 있다. 다음 로그인 세션 이후 부터 적용이 된다.

로그 아웃 후 다시 접속 후 한국어 언어 패키지가 잘 적용 되었는지 확인한다.

지금까지 Administrator 계정으로 접속시 한국어 언어 패키지 설치 및 설정 이였다.

일반 계정 생성

Windows 에 원격접속시 Administrator 로 접속을 하는 것을 권장하지 않는다. 일반적으로 사용하기 위해서는 일반 계정이 필요하기 때문에 일반 계정을 생성한다.

Windows 설정 > 계정 선택

Windows 설정 > 계정 > 기타 사용자 에서 이 PC에 다른 사용자 추가 클릭

이 PC 에 다른 사용자 추가 버튼을 클릭하면 로컬 사용자 및 그룹 윈도우가 나타난다.

로컬 사용자 및 그룹 윈도우에서 사용자 폴더에 오른쪽 마우스 클릭을 하면 새 사용자 를 추가할 수 있는 메뉴가 열리는데 새 사용자를 클릭 한다.

사용자 이름, 전체 이름, 암호, 암호 확인 등을 선택해서  새 사용자를 추가한다. 만약 키보드 입력을 할 수 없다면 웹 RDP 클라이언트가 제공하는 텍스트 입력창을 열어서 텍스트 입력 후 복사해서 붙여 넣기를 진행한다.

새 사용자를 생성하면 사용자 디렉토리 안에 새로 추가한 사용자가 보인다.

새 사용자 원격접속 허용

Windows 설정에서 시스템 클릭

Windows 설정 > 시스템 > 원격 데스크톱 > 사용자 계정 > 이 PC를 원격에서 엑세스할 수 있는 사용자 선택 클릭

원격에서 엑세스할 수 있는 사용자 선택을 클릭하면 원격 데스크톱 사용자 다이얼로그가 나타난다.

원격 데스크톱 사용자 다이얼로그에서 추가 버튼 클릭하여 새 사용자 에서 생성한 새로운 사용자를 추가한다.

Microsoft 의 Remote Desktop 앱 설치

앞에서 원격 데스크톱 접속을 위한 새 사용자를 생성하고 원격 데스크톱 사용자로 등록을 했다. 이제 실제 MacOS 에서 Remote Desktop 애플리케이션을 가지고 MacOS 디바이스에서 Windows 10 디바이스로 원격 접속을 할 수 있다.

먼저 Apple Store 에서 Microsoft 에서 개발하고 배포하고 있는 Microsoft Remote Desktop 애플리케이션을 다운 받아 설치한다.

애플리케이션을 설치 후 실행하면 아직 추가된 Windows PC 가 없어 비어 있는 화면이 열린다.

Add PC 버튼을 클릭해서 AWS Lightsail 에 생성한 Windows Server 2019 의 정보를 입력한다. 다음 내용을 참조해서 입력한다.

  • PC name : AWS Lightsail 에 생성한 Windows 의 Public IP 주소
  • User account : Windows 에 새 사용자로 생성한 사용자 아이디
  • Friendly name : 원격 데스크톱 접속할 호스트의 이름을 지정할 수 있음

Remote Desktop 클라이언트의 Display 속성을 설정한다. MacOS는 최근 모든 디바이스가 레티나 디스플레이를 지원하고 있기 때문에 최근 기기일 경우 다음과 같이 설정한다.

  • Color quality : High (32 bit)
  • Optimize for Retina displays : 체크 (레티나 화면 해상도 최적화)
  • Update the session resolution on resize : 체크 (원격 데스크톱 윈도의 크리를 수정하면 자동으로 해상도를 최적화)

설정이 마쳤으면 원격 접속할 PC를 Add 버튼으로 추가한다.

추가된 PC를 클릭하면 원격 호스트로 원격 데스크톱 접속을 시작한다.

이제 MacOS 에서 레티나 디스플레이로 아주 선명한 해상도로 Windows PC 로 원격 데스크톱 접속이 되었다.

새 사용자로 처음 접속하면 앞서 설정한 한국어 언어 패키지를 설치해야 한다.

다시 로그아웃 후 접속하게 되면 이제 한국어 언어 패키지가 적용된 Windows 를 이용할 수 있다.