[AWS] Directory Service & WorkSpaces 생성하고 사용해보기
AWS Directory Service란?
AWS의 Microsoft Active Directory 완전관리형 서비스이다
AWS의 다양한 리소스들에 AD를 쉽게 연동할 수 있는 장점이 있다
AWS Directory Service에는 3가지 서비스 옵션이 있다
- AWS Managed Microsoft AD : 실제 Microsoft의 AD 서비스를 AWS에서 사용해야 하는 경우 사용
- 뭐 근데...실제 Microsoft AD와 기능상 차이가 분명히 존재한다...
- 없는 기능들은 AWS의 다른 서비스를 사용하라는 큰그림인것 같기도....
- AD Connector : 온프레미스나 다른 계정 등의 AD를 땡겨와서 사용할 때 사용
- Simple AD : AD 호환성이 있는 소규모 디렉터리가 필요하거나 LDAP 호환성이 필요한 경우 사용
AD가 뭔지에 관해서는 이 글을 참조하자
Amazon WorkSpaces란?
클라우드 기반 가상 데스크톱, 즉 AWS의 완전관리형 DaaS (Desktop-as-a-Service) 솔루션이다
Windows 및 Linux 데스크톱을 AD 사용자에게 1대1로 제공하며, 컴퓨터/태블릿/Android 호환 Chrome 디바이스에서 Client App을 사용하거나 Chrome/Firefox 웹 브라우저를 사용해 접속할 수 있다
WorkSpaces에서 지원하는 스트리밍 프로토콜은 2가지가 있다
- PCoIP
- WSP (WorkSpaces Streaming Protocol)
이 둘의 차이에 대해선 공식 문서 를 참조하자. 근데 그냥 웬만하면 PCoIP를 쓴다고 생각하면 편할 것 같다
WorkSpaces를 만들기 위해선 AD가 무조건 있어야 하므로, Directory Service에서 AD부터 만들어보도록 하겠다
또한 AWS Console도 연동하여 WorkSpace User들이 AWS Console 을 제한된 권한으로 이용하는 것도 확인해보겠다
그 전에, Subnet을 2개(AZ 다르게) 만들어놓고 시작하자
인터넷 되든 안되든 상관없으나...난 그냥 퍼블릭으로 만들고 IGW도 붙여주었다
1. AD 생성
AWS Console > Directory Service > 디렉터리 생성
AWS Managed Microsoft AD가 선택되어 있다. 그대로 다음
Standard Edition 클릭 후 디렉터리 DNS 이름을 원하는대로 설정해주자
관리자 암호는 적힌 규칙에 맞게 생성해주자 - AD 관리자의 접속 정보는 admin / 해당 비밀번호 가 된다
2개의 서브넷이 필요하다 (다른 AZ로)
이러고 생성하면 끝이다 ......사실 굉장히 오래걸리니 음료라도 한 잔 마시고 오자
2. WorkSpaces 생성
AWS Console > WorkSpaces > Get Started Now
아마 첫 화면으로 Directories 탭이 보일 것이다 (아니면 Directories 탭으로 이동)
위에서 만든 Directory를 클릭한 후 Actions > Register 를 눌러주자
Directory Service와 마찬가지로 서브넷 2개가 필요하다. WorkSpaces Instance들이 존재할 서브넷들을 골라주자
이렇게 Register를 마치면 WorkSpaces를 생성할 때 위 Directory 내에서 생성할 수 있게 되었다
이제 WorkSpaces 탭으로 가서, Launch WorkSpaces를 눌러주자
WorkSpaces를 존재시킬 Directory를 선택할 수 있다. 지금은 하나밖에 없어서 자동으로 설정되어 있다
WorkSpaces를 소유할 User를 지정해줘야 한다
새 유저를 만들어야 한다면 위의 사진처럼 Create New Users... 부분에서 필요정보들을 입력한 뒤 Create Users > Next Step을 누르면 된다
이미 있는 User를 사용하려면 중간의 Select Users... 부분에서 Show All Users를 클릭한 뒤 필요한 User들을 선택한 후 Next Step을 눌러주면 된다
💡 참고로 한 User에게 WorkSpace는 1개밖에 할당되지 않는다
💡 User를 여러 명 선택해서 진행 시 각 User들용 WorkSpaces를 동시에 생성할 수 있다
다음으론 번들을 선택해줘야 한다
EC2의 AMI라고 생각하면 대충 편할 듯 하다
PCoIP 프로토콜의 Windows 2019 Server (Standard) 번들을 선택해줬다
WorkSpace에는 AutoStop이라는 기능이 있어서 사용하지 않고 있으면 자동으로 STOP시켜준다
(최소 AutoStop 단위 : 1시간)
이 기능 덕분에 비용 효율적으로 데스크톱을 사용할 수 있다
이제 Next Step > Launch WorkSpaces 를 클릭하면 WorkSpcaes 생성도 끝난다 .......얘도 겁나 오래걸리니 밥이라도 먹고 오자
3. WorkSpaces 접속
WorkSpace 생성이 완료되었다...먼저 비밀번호를 설정해야 하는데, 이는 등록한 메일을 확인해보자
대충 이런식의 메일이 도착해있다
링크로 들어가서 규칙에 맞게 비밀번호를 설정해주자
비밀번호 설정이 끝나면 자동으로 이동되겠지만, Client App을 다운받아야 한다
Client App Download : https://clients.amazonworkspaces.com/
위 링크에서 필요한 App을 받자
Web Access > Lanch나 우측 상단의 Web Access Login을 통해 브라우저에서 바로 접속할수도 있다
앱이든 웹이든 WorkSpace 정보에 적힌 Registration Code를 적어준다
인터넷도 잘 된다
4. AWS Console 연동하기
WorkSpaces User들이 AWS Console에 접속해서 작업을 해야하는 경우, IAM Role로 권한을 준 후 Application Access URL을 만들어 제공할 수 있다
1) IAM Role 생성
사용 사례로 Directory Service 선택
테스트용이니까 EC2FullAccess만 주고 생성해보자
그러고 Directory Service Console > 생성한 Directory > 애플리케이션 관리 탭의 맨 밑에 보면 콘솔 액세스 위임 탭에 IAM 역할이 보이는걸 확인할 수 있다
2) Application Access URL 생성
위로 올라와서, 애플리케이션 액세스 URL > 생성 을 눌러주자
원하는 URL 이름 입력 후 활성화를 누르자
3) AWS Management Console 활성화
밑으로 내려가서 AWS Management Console 또한 활성화를 눌러주자
그럼 아래와 같이 AWS Management이 활성화되며, 애플리케이션 URL도 확인할 수 있다
이 애플리케이션 URL을 기억해두자
맨 밑의 아까 만들어둔 IAM Role을 클릭해보자
4) AD User에 IAM Role 붙이기
추가 > User 검색 > 체크 > 추가 순으로 User를 추가할 수 있다
다만....전체 User List를 보여주지 않는건 너무 이해가 안된다
매번 모든 User를 일일이 검색해서 추가해줘야하는 것인가? 말이 안되는데....
다른 방법이 있다면 댓글로 알려주시길,,,,,,,
아무튼 이렇게 User 추가는 완료되었다
5) Test
다시 WorkSpace로 돌아가서, Firefox에다가 AWS Management Console의 애플리케이션 URL을 검색해보자
AWS Console 로그인 창이 뜬다
WorkSpace 로그인할 때 사용한 Username과 비밀번호를 사용해서 로그인할 수 있다
콘솔에 접속이 잘 된다
과연 내가 넣은 Role대로 EC2만 볼 수 있는지 확인해보겠다
EC2 Console만 정상적으로 접속된다
끝