Amazon AppStream 2.0
- Fully managed application & desktop streaming service
- Confy application streaming through browser
- Application and data are stored in AWS
- Auto-scalable
- Instances that streams app & desktop is disposable
AWS AppStream 2.0 Architecture
- Video & User Input is streamed via HTTPS
- AppStream instance running the app and the end-user are encrypted via SSL
- Network Access managable via 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
- Provisioning
- 20 instances per minute for single fleet
- 15 min, 25 min when feelts are joing to an Active Directory domain
Scaling Policy Metric
- Capacity Utilization
- The percentage of instances in a fleet that are being used
- e.g. If Capacity Utilization < 25%, remove 25% capacity
- Available Capacity
- The number of instances in a fleet that are available for users
- e.g. If Available Capacity < 5, add 5 instances
- Insufficient Capacity Error
- The number of session requests rejected due to lack of capacity
- e.g. If Insufficient Capacity Error > 0, add 1 instance
Scaling Policies
- Step scaling
- Recommended to scale with the percentage of capacity
- Target tracking
- Is effective for high-churn situations
- Large number of users start, or end sessions in a short period of time
- Schedule-based scaling
- Recommended to scale up when working hours
References