Amazon AppStream 2.0
- 완전 관리형 애플리케이션 및 데스크톱 스트리밍 서비스
- 브라우저를 통해 간편하게 애플리케이션을 스트리밍
- 애플리케이션과 데이터는 AWS 에 저장된다
- Auto-scalable
- 앱과 데스크톱을 스트리밍하는 Instance 는 일회성이라 세션이 끝나면 폐기된다
AWS AppStream 2.0 Architecture
- 화면과 사용자 입력은 HTTPS 로 스트리밍된다
- 앱을 실행하는 AppStream Instance 와 최종 사용자 사이 구간은 SSL 로 암호화된다
- 네트워크 접근은 Security Group 으로 제어
AWS AppStream 2.0 Concepts
- Image
- AppStream 2.0 Streaming Instance 의 시작 상태를 미리 구성해놓은 파일
- EC2 AMI 와 비슷
- Image Builder
- Image 를 만들기 위한 인스턴스로, AppStream 2.0 에서 실행할 App Catalog 를 생성하고, Image 를 생성함
- Desktop 모드가 아닌 기본 AppStream 2.0 을 통해 크롬 브라우저만 사용하게 하려면 Image Builder 를 통해 Chrome 을 설치하고 구동하는 과정을 등록하고, 그 등록된 상태를 Image 로 만들어서 Streaming Instance 로 사용
- Fleet
- Fleet 은 지정한 Image 를 실행하는 Fleet Instance(Streaming Instance)로 구성됨
- Fleet 에 대해 원하는 수의 Streaming Instance 를 설정하고 필요에 따라 Fleet 을 자동으로 조정하도록 Policy 구성 가능
- User 1명당 1개의 Instance 가 필요
- 즉, Fleet 은 Scaling 가능한 Streaming Instance 를 묶은 집합
- EC2 의 Auto Scaling Group 과 흡사
- Stacks
- Stack 은 연결된 Fleet, 사용자 엑세스 정책 및 Storage 구성으로 구성됨
- Stack 을 설정하여 사용자에게 Application 을 Streaming 함
- 즉, Stack 을 통해 Fleet 과 사용자를 연결해주고 Fleet 제어를 위한 설정을 적용
Fleet 의 유형
- On-Demand vs Always On
- On Demand 는 사용자가 접속할 때 Streaming Instance 를 켜고 유기적으로 종료
- Always On 은 24시간 Streaming Instance 가 On 인 상태
- Always On 이라도 Scaling Policy 가 중요함
- 사용자가 붙을 수 있는 개수는 어쨌든 Fleet 의 Instance 개수
- 사용 가능한 Instance 개수에 따라 그 안에서 사용자들의 세션이 생성되고 만료됨
- Always On 이면 사용자가 붙어있지 않아도 Streaming Instance 가 계속 켜져있는 것이고, Always On 이라해도, Scaling 정책에 의해 새로 생성되는 Instance 에 접속하면 대기 시간을 기다려야 함
Fleet Auto Scaling
- Instance 프로비저닝 속도
- 단일 Fleet 기준 분당 20개 Instance
- 프로비저닝에 15분이 걸리고, Fleet 이 Active Directory 도메인에 조인하는 경우 25분이 걸린다
Scaling Policy Metric
- Capacity Utilization
- Fleet 내에서 실제로 사용 중인 Instance 의 비율
- e.g. 용량 사용률이 25% 미만이면 용량의 25% 를 줄인다
- Fleet 내에서 실제로 사용 중인 Instance 의 비율
- Available Capacity
- Fleet 내에서 사용자가 접속할 수 있는 Instance 의 개수
- e.g. 가용 용량이 5개 미만이면 Instance 5개를 추가한다
- Fleet 내에서 사용자가 접속할 수 있는 Instance 의 개수
- Insufficient Capacity Error
- 용량이 모자라 거부된 세션 요청의 개수
- e.g. 용량 부족 오류가 1건 이상이면 Instance 1개를 추가한다
- 용량이 모자라 거부된 세션 요청의 개수
Scaling Policies
- Step scaling
- 용량의 비율 단위로 조정할 때 권장된다
- Target tracking
- 세션 변동이 잦은 상황에 효과적이다
- 짧은 시간에 많은 사용자가 세션을 시작하거나 종료하는 경우
- Schedule-based scaling
- 업무 시간에 맞춰 미리 확장할 때 권장된다
Amazon DCV vs AppStream 2.0 vs WorkSpaces
세 서비스는 AWS 에서 제공하는 원격 데스크톱 및 애플리케이션 스트리밍 솔루션이다.
- Amazon DCV (프로토콜 / 원천 기술)
- AWS 가 소유한 고성능 원격 스트리밍 프로토콜
- 고성능 그래픽(GPU) 및 HD 디스플레이 스트리밍을 최적화하여 전달
- AppStream 2.0 과 WorkSpaces 내부에서 원격 화면을 전송하는 기술로 쓰이며, EC2에 직접 설치해 사용할 수도 있다
- AppStream 2.0 (애플리케이션 스트리밍)
- 전체 OS가 아닌 단일 애플리케이션만 웹 브라우저로 스트리밍하는 SaaS/PaaS 형 서비스
- 사용자는 데스크톱 전체를 빌리는 대신, 특정 앱(예: CAD 프로그램, 3D 렌더링 툴)만 서비스 형태로 실행
- WorkSpaces (가상 데스크톱 서비스 - VDI)
- 완전한 클라우드 기반 가상 PC(Windows/Linux 데스크톱)를 제공
- 원격 근무자에게 개별 작업 공간(파일, 설정, 설치된 앱 유지)을 통째로 할당할 때 사용