[매뉴얼] Amazon AppStream 2.0 생성하기

Instantly See Into All Your Systems, Apps, and Services | Datadog

Amazon AppStream 2.0은 사용자가 어디서든 연결된 어느 디바이스에서나 데스크톱 애플리케이션에 즉시 액세스할 수 있게 지원하는 완전관리형 애플리케이션 및 데스크톱 스트리밍 서비스 입니다.

이번에는 Amazon AppStream 2.0을 생성해 보겠습니다.

흐름은, 지난 번 포스팅에서 보여드린 작업 흐름 순으로 진행됩니다.

출처 : https://www.slideshare.net/AmazonWebServices/build-an-appstream-20-environment-to-deliver-desktop-applications-to-any-computer-bap330-aws-reinvent-2018

1. 이미지 빌더(Image Builder) 를 생성합니다.

이미지 빌더는 AppStream 2.0에서 기본으로 제공하는 인스턴스 입니다. 자체 사용자 지정 이미지를 만들려면, 이미지 빌더 인스턴스를 생성하여 구성한 다음 이미지 빌더 인스턴스 스냅샷을 생성해서 이미지를 만들 수 있습니다. 지금부터 진행되는 내용을 따라하면 사용자 지정 이미지를 만들 수 있습니다.

2. 이미지 빌더 인스턴스 유형을 선택합니다.

  • 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. 이미지 빌더를 구성합니다.

3-1. 이미지 빌더 이름을 부여합니다.

3-2. 이미지 빌더 인스턴스 타입을 선택합니다.

저는 테스트를 위해 가장 저렴한 버전으로 선택하였습니다.

(추가)
스트리밍 엔드포인트는 기본적으로 “인터넷”으로 설정되어 있습니다.
이는 Public 환경에서 사용시에 사용하는 것입니다.

Private 환경에서 사용하고자 하시면 VPC EndPoint를 생성해야 합니다.

(1) VPC 엔드포인트를 생성합니다.

Appstream Streaming 서비스를 선택합니다.

VPC와 서브넷은 생성하고자 하는 곳을 선택합니다.
VPC 에서 DNS 호스트 이름 활성화, DNS 지원 활성화 속성을 True 로 설정해야 합니다.
보안그룹은 VPC Endpoint용으로 생성하여 선택합니다.
VPC Endpoint를 생성하게 되면, 상태가 대기 중에서 사용 가능으로 바뀝니다.

(2) AppStream 전용 IAM Role을 생성합니다.

AppStream 이미지 빌더에게 권한을 설정할 수 있습니다. 권한을 제어함으로써 보안성을 향상시킬 수 있습니다.
AWS 서비스 – AppStream 2.0 을 선택합니다.
원하는 권한을 선택합니다. 저는 테스트를 위해 AppStream Full 권한을 가진 IAM Role을 생성하겠습니다.

4. 이미지 빌더 구성을 위해 남은 설정을 합니다.

생성한 엔드포인트와 IAM Role을 선택합니다.

네트워크 설정
Default Internet Access 는 Public 환경에서 인터넷을 연결 할 때 선택합니다.
Private 환경을 원할 시에는 선택하지 않습니다.
저는 Private 환경을 테스트하므로 선택하지 않았습니다.
VPC, Subnet, 보안그룹도 설정합니다.
생성한 이미지 빌더의 상태가 Pending => Running이 될 때까지 기다립니다. (약 10~20분 소요)

5. 이미지 빌더를 실행합니다.

Running 된 이미지 빌더를 선택하여 Connect를 합니다.
처음에는 Administrator로 열어서 원하는 이미지로 환경을 구성합니다.

*추가 팁
인터넷에서 어플리케이션을 다운로드 하려고 하면, 불가능한 경우가 있습니다. 이러한 경우 인터넷 설정을 다음과 같이 해주면 다운로드가 가능합니다.

** 인터넷 보안 강화 구성
윈도우 – 서버 매니저를 실행합니다.
Local Server – IE Enhanced Security Configuration (인터넷 보안 강화 구성) 을 선택합니다.
인터넷 보안 강화 구성은 사용자가 인터넷 및 인트라넷 웹 사이트를 탐색 하는 방법을 정의 하는 보안 설정을 지정합니다. 이러한 설정을 통해 보안 위험이 있을 수 있는 웹 사이트에 대 한 서버 노출을 줄일 수도 있습니다. 따라서 구성을 해제하게 되면 보안에 취약한 환경이 될 수 있으니 주의하시기 바랍니다.

관리자, 사용자 모두 Off 를 선택합니다.

** 인터넷 옵션 – 신뢰할 수 있는 사이트 설정
위 설정을 해도 다운로드가 불가능하다면, 아래 설정이 필요합니다.

인터넷 옵션 설정 – 보안 – 신뢰할 수 있는 사이트 – 다운로드를 원하는 사이트를 목록에 추가합니다.

6. 이미지 어시스턴트(Image Assistant) 를 구성합니다.

실행한 빌더에서 원하는 어플리케이션을 다운로드 합니다.
어플리케이션의 실행 경로를 저장해 둡니다.
바탕화면에 있는 AppStream 2.0 Image Assistant를 실행합니다.
원하는 앱을 추가하여 이미지를 생성합니다.

저장해둔 경로를 이용하여 실행 경로를 설정합니다.
이미지 어시스턴트에 추가된 내용을 확인합니다.
앱을 더 추가하려면, Add App을 통해 추가합니다.
앱 실행시간을 최적화 하기 위해 앱을 실행해 봅니다.
이미지의 이름과 설명을 구성합니다.
내용 확인 후, 이미지를 생성합니다. 이 때, AppStream에 연결 했던 것은 끊어집니다.

7. 이미지 빌더 구성을 확인하고 삭제가 필요한 경우, 삭제합니다.

이미지 빌더의 상태는 Snapshotting 이었다가 완료가 되면 이미지 레지스트리에 Available된 이미지가 생성됩니다. 이미지 빌더는 앱 구성을 할 때 필요합니다. 앱 구성이 완료되었으면 Stop 후 삭제합니다. (이미지 빌더는 실행중인 경우, 시간당 요금이 발생합니다.)

8. 플릿(Fleets) 을 생성합니다.

8-1. 위에서 생성한 이미지를 가지고 플릿을 생성합니다.

8-2. 원하는 인스턴스 타입을 선택하고, 플릿 타입을 설정합니다.

  • 플릿 타입
    On-Demand : 사용자가 애플리케이션을 스트리밍하는 경우에만 인스턴스가 실행됩니다. 스트리밍에 사용할 수 있는 유휴 인스턴스는 중지 상태입니다.
    Always On : 애플리케이션을 스트리밍하는 사용자가 없더라도 인스턴스가 항상 실행됩니다.

8-3. 네트워크 구성을 설정합니다.

위에서 이미지 빌더 구성시와 동일하게 Default Internet Access는 Public 환경을 구성할 때 선택합니다. 테스트는 Private 환경을 구성중이므로 선택 해제하였습니다.VPC, 서브넷, 보안그룹을 원하는 것으로 지정합니다.

8-4. IAM Role을 선택합니다. 해당 내용은 선택사항 입니다.

8-5. 선택한 내용을 확인 한 후, 비용 정책에 동의하고 플릿을 생성합니다.

9. 스택(Stacks) 을 생성합니다.

플릿 생성이 완료되면 Running 상태가 됩니다. 스택은 플릿이 Starting 상태에도 생성할 수 있으나, 실제 AppStream 실행은 플릿 Running이 된 후에 가능하게 됩니다.

9-1. 스택 기본 정보 설정하고 만든 플릿과 연동합니다.

9-2. VPC 엔드포인트를 설정합니다.

(Private 설정인 경우에만 VPC 엔드포인트 설정)

9-3. 스토리지를 설정합니다.

AppStream2.0 과 아래 스토리지들과 연결하여 사용할 수 있습니다.

  • 홈 폴더 – S3 자동 백업
  • G Suite용 Google Drive
  • OneDrive for Business

10. 생성한 스택으로 사용자와 연결합니다.

(1) 임시 사용자로 접속합니다.

스택 상태가 Active 되면, 해당 스택으로 Create streaming URL을 클릭합니다.
(만약 URL이 활성화되지 않으면, 다시 플릿을 연결한 후에 사용하시기 바랍니다.)

사용자를 만들고 URL 만료 시간을 지정합니다.
이 때, 사용자 한 명당 비용이 발생하므로 주의하시기 바랍니다.

이 때 만들어진 URL을 가지고 접속하면, 추가한 앱이 메인화면에 보이게 됩니다. 원하는 앱을 선택하여 바로 들어갈 수 있습니다.
(처음 접속시, 로딩 시간이 걸립니다.)

(2) User Pool 을 사용해서 접속합니다.

직접 사용자를 만들어서 관리 할 수 있습니다. 해당 사용자에게 원하는 스택을 설정하고 해제할 수 있습니다.

User를 만들면, 해당 유저의 이메일로 로그인 정보가 발송됩니다. 그 로그인 정보를 가지고 비밀번호를 변경할 수 있습니다.

11. 생성한 내용을 삭제합니다.

AWS에서는 생성한 순서와 반대로 삭제를 진행해야 합니다. 순서가 어긋날 시, 연관되어 있는 서비스가 있어 삭제가 불가능할 수 있습니다.

11-1. 스택에 연결되어 있는 유저를 해제합니다.

11-2. 유저를 Disable 합니다.

11-3. 스택에 연결되어 있는 플릿을 해제합니다.

11-4. 스택을 삭제합니다.

11-5. 플릿을 중지합니다.

11-6. 플릿을 삭제합니다.

지금까지 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 김은진