Giter Site home page Giter Site logo

elastic-vdi-infrastructure's Introduction

An autoscaling VDI solution with EnginFrame and NICE DCV Session Manager

We will cover how to set up a fully functional autoscaling Linux and Windows virtual desktop infrastructure (VDI) that is accessible through a simple web-based user interface. The VDI solution solves for the problem of providing R&D users with an easily accessible and performant user interface to submit graphics-intensive analysis requests, and review results remotely. This eliminates the need for expensive dedicated workstations, or transferring large amounts of data from the cloud to client machines.

The figure below shows the different components of the VDI solution. The architecture shows how a user interacts with EnginFrame to launch instances according to the Auto Scaling groups for Windows and Linux NICE DCV instances. Architecture diagram

Install the CDK libraries enter the following:

$ cd elastic-vdi-infrastructure
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip3 install -r requirements.txt

Open the app.py file in your editor of choice and replace the "CHANGE_ME" string.

There are different parameters that you’ll need to configure:

  • region The region of the deployment
  • account The account id of the deployment
  • key_name The Key Pairs used to access the instances
  • cdk diff compare deployed stack with current state
  • cdk docs open CDK documentation

The following additional parameters are available:

  • ec2_type_enginframe The EnginFrame instance type
  • ec2_type_broker The DCV Session Broker instance type
  • ebs_enginframe_size The EBS size for the EnginFrame instance
  • ebs_broker_size The EBS size for the DCV session broker instance
  • TagName and TagValue The billing tag used to tag the resources
  • efadmin_uid The UID of the efadmin user
  • linux_shared_storage_size OpenZFS size in GiB
  • Shared_Storage_Linux The mount point of the shared storage
  • Enginframe_installer The EnginFrame download link
  • Session_Manager_Broker_Installer The DCV session manager broker download link

Execute the following commands in sequence:

$ cdk bootstrap
$ cdk deploy Assets-Stack Parameters-Stack
$ cdk deploy Elastic-Vdi-Infrastructure

When the deployment is competed, The following two outputs are returned:

  • Elastic-Vdi-Infrastructure.EnginFrameURL The https address of the EnginFrame portal
  • Elastic-Vdi-Infrastructure.SecretEFadminPassword The arn of the secret that contains the password of the EnginFrame administrator user (efadmin)

Note: a self signed certificate is generated for the HTTPS connection.

To deploy the linux and windows DCV fleet, the following two CloudFormation templates can be user:

  • cloudformation_files/dcv-linux-fleet.yaml The Linux DCV fleet template
  • cloudformation_files/dcv-windows-fleet.yaml The WIndows DCV fleet template

elastic-vdi-infrastructure's People

Contributors

amazon-auto avatar laportad avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.