![Instantly See Into All Your Systems, Apps, and Services | Datadog](https://datadog-docs.imgix.net/images/integrations_logos/amazon_appstream.png)
Amazon AppStream 2.0은 사용자가 어디서든 연결된 어느 디바이스에서나 데스크톱 애플리케이션에 즉시 액세스할 수 있게 지원하는 완전관리형 애플리케이션 및 데스크톱 스트리밍 서비스 입니다.
이번에는 Amazon AppStream 2.0을 생성해 보겠습니다.
흐름은, 지난 번 포스팅에서 보여드린 작업 흐름 순으로 진행됩니다.
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-6.png)
- 이미지 빌더(Image Builder) 를 생성합니다.
이미지 빌더는 AppStream 2.0에서 기본으로 제공하는 인스턴스 입니다. 자체 사용자 지정 이미지를 만들려면, 이미지 빌더 인스턴스를 생성하여 구성한 다음 이미지 빌더 인스턴스 스냅샷을 생성해서 이미지를 만들 수 있습니다. 지금부터 진행되는 내용을 따라하면 사용자 지정 이미지를 만들 수 있습니다.
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-8.png)
- 이미지 빌더 인스턴스 유형을 선택합니다.
- AppStream 2.0 지원 OS (운영체제)
- Windows Server 2012 R2
- Windows Server 2016 Base
- Windows Server 2019 Base
- 인스턴스 패밀리 유형 (그래픽 프로세서, 디자인 패밀리는 서울 리전 출시X)
- 범용 – 기본 컴퓨팅 리소스
- 컴퓨팅 최적화 – 컴퓨팅 집약적 애플리케이션 지원
- 메모리 최적화 – 메모리 집약적 애플리케이션 지원
- 그래픽 프로세서 – NVIDIA Tesla M60을 사용, GPUs, DirectX OpenGL또는 CUDA를 사용하는 그래픽 애플리케이션에 고성능의 워크스테이션 같은 환경을 제공
- 그래픽 디자인 – AMD FirePro S7150x2 Server GPUs 및 AMD Multiuser GPU 기술을 사용하여 DirectX, OpenGL또는 를 사용하는 그래픽 애플리케이션을 지원
- 그래픽 G4 – NVIDIA T4GPUs를 사용하여 그래픽 집약적 애플리케이션 지원
3. 이미지 빌더를 구성합니다.
1 |
<strong>3-1. 이미지 빌더 이름을 부여합니다.</strong> |
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-11.png)
1 2 |
<strong>3-2. 이미지 빌더 인스턴스 타입을 선택합니다.</strong> 저는 테스트를 위해 가장 저렴한 버전으로 선택하였습니다. |
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-14.png)
(추가)
스트리밍 엔드포인트는 기본적으로 “인터넷”으로 설정되어 있습니다.
이는 Public 환경에서 사용시에 사용하는 것입니다.
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-15.png)
Private 환경에서 사용하고자 하시면 VPC EndPoint를 생성해야 합니다.
(1) VPC 엔드포인트를 생성합니다.
Appstream Streaming 서비스를 선택합니다.
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-16.png)
VPC와 서브넷은 생성하고자 하는 곳을 선택합니다.
VPC 에서 DNS 호스트 이름 활성화, DNS 지원 활성화 속성을 True 로 설정해야 합니다.
보안그룹은 VPC Endpoint용으로 생성하여 선택합니다.
VPC Endpoint를 생성하게 되면, 상태가 대기 중에서 사용 가능으로 바뀝니다.
(2) AppStream 전용 IAM Role을 생성합니다.
AppStream 이미지 빌더에게 권한을 설정할 수 있습니다. 권한을 제어함으로써 보안성을 향상시킬 수 있습니다.
AWS 서비스 – AppStream 2.0 을 선택합니다.
원하는 권한을 선택합니다. 저는 테스트를 위해 AppStream Full 권한을 가진 IAM Role을 생성하겠습니다.
4. 이미지 빌더 구성을 위해 남은 설정을 합니다.
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-31-1024x295.png)
생성한 엔드포인트와 IAM Role을 선택합니다.
네트워크 설정
Default Internet Access 는 Public 환경에서 인터넷을 연결 할 때 선택합니다.
Private 환경을 원할 시에는 선택하지 않습니다.
저는 Private 환경을 테스트하므로 선택하지 않았습니다.
VPC, Subnet, 보안그룹도 설정합니다.
생성한 이미지 빌더의 상태가 Pending => Running이 될 때까지 기다립니다. (약 10~20분 소요)
5. 이미지 빌더를 실행합니다.
Running 된 이미지 빌더를 선택하여 Connect를 합니다.
처음에는 Administrator로 열어서 원하는 이미지로 환경을 구성합니다.
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-23.png)
*추가 팁
인터넷에서 어플리케이션을 다운로드 하려고 하면, 불가능한 경우가 있습니다. 이러한 경우 인터넷 설정을 다음과 같이 해주면 다운로드가 가능합니다.
** 인터넷 보안 강화 구성
윈도우 – 서버 매니저를 실행합니다.
Local Server – IE Enhanced Security Configuration (인터넷 보안 강화 구성) 을 선택합니다.
인터넷 보안 강화 구성은 사용자가 인터넷 및 인트라넷 웹 사이트를 탐색 하는 방법을 정의 하는 보안 설정을 지정합니다. 이러한 설정을 통해 보안 위험이 있을 수 있는 웹 사이트에 대 한 서버 노출을 줄일 수도 있습니다. 따라서 구성을 해제하게 되면 보안에 취약한 환경이 될 수 있으니 주의하시기 바랍니다.
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-30-1024x525.png)
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-25.png)
관리자, 사용자 모두 Off 를 선택합니다.
** 인터넷 옵션 – 신뢰할 수 있는 사이트 설정
위 설정을 해도 다운로드가 불가능하다면, 아래 설정이 필요합니다.
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-26.png)
인터넷 옵션 설정 – 보안 – 신뢰할 수 있는 사이트 – 다운로드를 원하는 사이트를 목록에 추가합니다.
6. 이미지 어시스턴트(Image Assistant) 를 구성합니다.
실행한 빌더에서 원하는 어플리케이션을 다운로드 합니다.
어플리케이션의 실행 경로를 저장해 둡니다.
바탕화면에 있는 AppStream 2.0 Image Assistant를 실행합니다.
원하는 앱을 추가하여 이미지를 생성합니다.
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-27.png)
저장해둔 경로를 이용하여 실행 경로를 설정합니다.
이미지 어시스턴트에 추가된 내용을 확인합니다.
앱을 더 추가하려면, Add App을 통해 추가합니다.
앱 실행시간을 최적화 하기 위해 앱을 실행해 봅니다.
이미지의 이름과 설명을 구성합니다.
내용 확인 후, 이미지를 생성합니다. 이 때, AppStream에 연결 했던 것은 끊어집니다.
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-29.png)
7. 이미지 빌더 구성을 확인하고 삭제가 필요한 경우, 삭제합니다.
이미지 빌더의 상태는 Snapshotting 이었다가 완료가 되면 이미지 레지스트리에 Available된 이미지가 생성됩니다. 이미지 빌더는 앱 구성을 할 때 필요합니다. 앱 구성이 완료되었으면 Stop 후 삭제합니다. (이미지 빌더는 실행중인 경우, 시간당 요금이 발생합니다.)
8. 플릿(Fleets) 을 생성합니다.
1 |
<strong>8-1. 위에서 생성한 이미지를 가지고 플릿을 생성합니다.</strong> |
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-32-1024x437.png)
1 |
<strong>8-2. 원하는 인스턴스 타입을 선택하고, 플릿 타입을 설정합니다.</strong> |
- 플릿 타입
On-Demand : 사용자가 애플리케이션을 스트리밍하는 경우에만 인스턴스가 실행됩니다. 스트리밍에 사용할 수 있는 유휴 인스턴스는 중지 상태입니다.
Always On : 애플리케이션을 스트리밍하는 사용자가 없더라도 인스턴스가 항상 실행됩니다.
1 2 3 4 |
<strong>8-3. 네트워크 구성을 설정합니다.</strong> 위에서 이미지 빌더 구성시와 동일하게 Default Internet Access는 Public 환경을 구성할 때 선택합니다. 테스트는 Private 환경을 구성중이므로 선택 해제하였습니다. VPC, 서브넷, 보안그룹을 원하는 것으로 지정합니다. |
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-33-1024x521.png)
1 2 3 |
<strong>8-4. IAM Role을 선택합니다. 해당 내용은 선택사항 입니다.</strong> <strong>8-5. 선택한 내용을 확인 한 후, 비용 정책에 동의하고 플릿을 생성합니다.</strong>. |
9. 스택(Stacks) 을 생성합니다.
플릿 생성이 완료되면 Running 상태가 됩니다. 스택은 플릿이 Starting 상태에도 생성할 수 있으나, 실제 AppStream 실행은 플릿 Running이 된 후에 가능하게 됩니다.
1 |
<strong>9-1. 스택 기본 정보 설정하고 만든 플릿과 연동합니다.</strong> |
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-34-1024x307.png)
1 2 |
<strong>9-2. VPC 엔드포인트를 설정합니다. </strong> <strong>(Private 설정인 경우에만 VPC 엔드포인트 설정)</strong> |
1 2 3 4 5 |
<strong>9-3. 스토리지를 설정합니다. </strong>AppStream2.0 과 아래 스토리지들과 연결하여 사용할 수 있습니다. • 홈 폴더 – S3 자동 백업 • G Suite용 Google Drive • OneDrive for Business |
10. 생성한 스택으로 사용자와 연결합니다.
(1) 임시 사용자로 접속합니다.
스택 상태가 Active 되면, 해당 스택으로 Create streaming URL을 클릭합니다.
(만약 URL이 활성화되지 않으면, 다시 플릿을 연결한 후에 사용하시기 바랍니다.)
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-35-1024x353.png)
사용자를 만들고 URL 만료 시간을 지정합니다.
이 때, 사용자 한 명당 비용이 발생하므로 주의하시기 바랍니다.
이 때 만들어진 URL을 가지고 접속하면, 추가한 앱이 메인화면에 보이게 됩니다. 원하는 앱을 선택하여 바로 들어갈 수 있습니다.
(처음 접속시, 로딩 시간이 걸립니다.)
(2) User Pool 을 사용해서 접속합니다.
직접 사용자를 만들어서 관리 할 수 있습니다. 해당 사용자에게 원하는 스택을 설정하고 해제할 수 있습니다.
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-36.png)
User를 만들면, 해당 유저의 이메일로 로그인 정보가 발송됩니다. 그 로그인 정보를 가지고 비밀번호를 변경할 수 있습니다.
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-37-1024x408.png)
11. 생성한 내용을 삭제합니다.
AWS에서는 생성한 순서와 반대로 삭제를 진행해야 합니다. 순서가 어긋날 시, 연관되어 있는 서비스가 있어 삭제가 불가능할 수 있습니다.
1 |
<strong>11-1. 스택에 연결되어 있는 유저를 해제합니다.</strong> |
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-38.png)
1 |
<strong>11-2. 유저를 Disable 합니다.</strong> |
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-39.png)
1 |
<strong>11-3. 스택에 연결되어 있는 플릿을 해제합니다.</strong> |
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-40.png)
1 |
<strong>11-4. 스택을 삭제합니다.</strong> |
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-41.png)
1 |
<strong>11-5. 플릿을 중지합니다.</strong> |
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-42.png)
1 |
<strong>11-6. 플릿을 삭제합니다.</strong> |
![](https://tech.cloud.nongshim.co.kr/wp-content/uploads/2021/03/image-43.png)
지금까지 AppStream 2.0을 Private 한 환경에서 생성하고 삭제하는 방법을 알아보았습니다.
조금 더 자세히 알고 싶으시면, AWS 문서를 참고하실 수 있습니다.
https://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/getting-started.html
문의 사항이 있으시면, NDS Sales팀으로 연락 주시길 바랍니다. cloud.sales@nongshim.co.kr
SA 김은진