배경
입사 후 얼마 지나지 않아 상사로부터 AWS를 사용해 원격 근무 환경을 구축해 달라는 요청을 받았습니다.
유일한 이과 출신이라 맡겨졌지만, AWS는 처음 접해 보는 것이었습니다.
저희 회사는 직원들이 출근해 자신의 자리에서 데스크톱 컴퓨터를 통해 업무를 합니다.
상사의 요청을 실현하기 위해 AWS 학습을 시작했습니다.
과제
업무 자체는 회사의 데스크톱 컴퓨터에 설치된 소프트웨어로 진행됩니다.
이 소프트웨어를 노트북에 설치하여 직원들에게 배포하면 AWS를 사용하지 않고도 원격 근무가 가능할 것이라 생각하여 제안했지만, 다음과 같은 문제가 드러났습니다.
- 소프트웨어는 통신 원 IP 주소를 기준으로 허가 설정이 되어 있어, 허가된 IP 주소에서만 사용이 가능함.
- 소프트웨어로 작업한 파일은 회사 네트워크 내 드라이브에 저장해야 함.
후자는 Google 드라이브 등을 사용해 해결할 수 있지만, 전자는 어려워 보였습니다. 원격 근무를 하려면 각 직원의 집 네트워크의 IP 주소를 허가해야 한다고 생각했기 때문입니다.
방법
AWS의 Amazon WorkSpaces를 사용하면 직원별로 가상 데스크톱 환경을 제공할 수 있음을 알게 되었습니다.
가상 데스크톱은 가상 네트워크 (VPC) 내에 존재하며, 인터넷으로 나갈 때의 IP 주소를 NAT 게이트웨이를 사용해 고정할 수 있습니다.
이로 인해 어디서든 인터넷이 있는 곳에서 데스크톱에 접근할 수 있습니다.
대략적인 구성은 다음과 같습니다.
관리자 단계
이미 회사 신용카드로 AWS 계정을 생성하고 관리 콘솔에 로그인한 상태라고 가정합니다.
VPC 생성
- 아래 URL에서 VPC, 서브넷 등을 생성한다.
https://us-east-1.console.aws.amazon.com/vpcconsole/home?region=us-east-1#CreateVpc:createMode=vpcWithResources - 아래와 같은 설정으로 생성한다. ( 밑줄 친 항목 외에는 기본값으로 설정해 두었습니다.)
- 생성할 리소스: VPC 등
- 이제 서브넷 등도 동시에 생성해 줍니다.
- 이름표 자동 생성: ☑ 자동 생성 ‘원격 작업 환경’
- VPC나 서브넷의 이름을 자동으로 생성해 줍니다. 나중에 변경 가능합니다.
- IPv4 CIDR 블록: 10.0.0.0.0/16
- VPC의 사설 IP 주소 범위입니다. 나중에 변경할 수 없습니다.
- 인터넷에 접속할 때 사용하는 공인 IP 주소와 무관합니다.
- 가용 영역(AZ) 수: 2
- 서브넷을 배치하는 AWS 데이터센터의 개수로 인식하고 있습니다.
- 퍼블릭 서브넷 수: 2
- 인터넷에 접속할 수 있는 서브넷의 개수입니다.
- 프라이빗 서브넷 수: 2
- 인터넷에 접속할 수 없는 서브넷의 개수입니다.
- NAT 게이트웨이 ($): 1개의 AZ에서
- NAT 게이트웨이를 사용할 경우, 모든 AZ에 배치할지 여부를 설정합니다.
- NAT 게이트웨이 개수마다 비용이 발생하므로 일단 하나의 AZ에 생성합니다.
- ( ($) 표시가 요금이 부과됨을 의미함?)
- VPC 엔드포인트: S3 게이트웨이
- VPC에서 S3에 직접 접속할 수 있도록 하는 것 같습니다.
- 추가하는 것 자체는 무료이고, 요금 절감에 기여하는 것 같아서 그냥 추가해 두었습니다.
- 생성할 리소스: VPC 등
이미지
디렉터리 설정
- 아래 URL에서 디렉토리(사용자 관리용?)를 생성한다. 를 생성한다.
https://us-east-1.console.aws.amazon.com/directoryservicev2/home?region=us-east-1#!/create - [1단계] 디렉토리 유형 선택
- 디렉토리 유형: ⦿ AWS Managed Microsoft AD
이미지
- [2단계] 디렉토리 정보 입력
- 에디션: ⦿ Standard Edition
- 디렉터리 DNS 이름: corp.awsexample.com
- 관리자 비밀번호: **********
이미지
- [3단계] VPC 및 서브넷 선택
- VPC: VPC 생성에서 생성한 VPC
- 서브넷: VPC 생성에서 생성한 프라이빗 서브넷 2개
이미지
- [4단계] 검토 및 생성
- [디렉터리 생성] 클릭
이미지
디렉토리 등록
- 아래 URL에서 WorkSpaces에 사용할 디렉토리를 등록합니다.
https://us-east-1.console.aws.amazon.com/workspaces/v2/directories/create-directory - 아래 설정으로 등록한다.
- WorkSpace 유형: ⦿ 개인
- WorkSpace 디바이스 관리: ⦿ AWS Directory Service
- AWS Directory Service 미등록 디렉토리: ⦿ 디렉터리 설정 생성한 디렉토리
- 등록: ⦿ VPC 생성 생성한 프라이빗 서브넷 2개
이미지
Workspaces 생성
- 아래 URL에서 WorkSpaces를 생성합니다.
https://us-east-1.console.aws.amazon.com/workspaces/v2/workspaces/create-workspaces - [1단계] 디렉터리 선택
- 디렉토리: ⦿ 디렉터리 설정 생성한 디렉토리
이미지
- [2단계- 선택 사항] 사용자 생성
- 사용자: 원격 근무를 원하는 직원 5명을 등록한다.
- 사용자 이름: 직원이 로그인할 때 사용하는 아이디
- 이름: 직원의 First Name
- 성: 직원의 Last Name
- 이메일: 사내 이메일 주소
- 사용자: 원격 근무를 원하는 직원 5명을 등록한다.
이미지
- [3단계] 사용자 식별
- 디렉토리에서 사용자 선택: 생성한 사용자 선택
이미지
- [4단계] 번들 선택
- 번들 선택: Power
- Power 번들: ⦿ Power with Windows 10 and Office 2019 Pro Plus (Server 2022 based)
- 운영 체제 필터링: Windows
- 소프트웨어 필터링: PCoIP (iPad에서도 사용하고 싶어서 † )
- 소프트웨어 필터링: Plus with Office 2019
이미지
- [5단계] WorkSpaces 구성
- 실행 모드: AutoStop
- AutoStop 시간(시간): 1
이미지
- [6단계- 선택적] 사용자 지정
- 아무것도 하지 않고 그대로 [다음]으로 이동
이미지
- [7단계] 복습
- [생성] 클릭
이미지
위 단계가 끝나면 등록된 직원의 이메일 주소로 로그인 방법이 적힌 메일이 발송됩니다.
사용자를 추가할 때는 [2단계- 선택 사항]을 반복합니다.
사용자 측 절차
- 수신된 메일의 안내에 따라 비밀번호를 설정합니다.
- WorkSpaces 클라이언트를 집의 PC나 iPad에 설치하도록 합니다.
- WorkSpaces 클라이언트에서 사용자 이름과 비밀번호로 로그인할 수 있는지 확인합니다.
이렇게 적으면 이런 흐름인데, 초보자에게는 꽤나 긴 여정이었습니다.
한 달이 넘게 걸렸지만, 도움을 받으면서 어떻게든 시행까지 할 수 있었습니다.
누군가에게 도움이 되었으면 좋겠습니다.