C IQdesktop on AWS
Below a very simple approach is shown on how IQdesktop can be quickly installed on an AWS instance.
C.1 Requirements
- Console access to an AWS instance running a standard Ubuntu 18.04 LTS or 20.04 LTS
- Admin rights on the AWS instance (sudo command)
- AWS instance accessible through its IP address
- VNC port open on the AWS instance, allowing a user to connect to IQdesktop on the AWS instance. Practically this means
that you should open port
5900
on your instance to run this example. Note that the port number can be customized.
C.2 Installing IQdesktop on AWS
C.2.1 Preparation of the AWS instance
- Start an AWS instance with a clean standard Ubuntu (18.04 LTS or 20.04 LTS)
- Access the AWS instance via the command line
- Execute the following code by copy and pasting it into the console:
# Installation of docker sudo apt-get update sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io # Add user to docker user group # Check which environment variable contains the current username # You can skip the following line but it then requires "sudo" for all # calls to the "docker" command. USERADD=$USER sudo usermod -aG docker $USERADD # Installation of docker compose sudo apt-get update sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
C.2.2 Downloading IQdesktop
Execute the following code by copy and pasting it into the AWS console. This will download the latest public version of IQdesktop onto the AWS instance. A different version of IQdesktop could easily be installed in a different manner. This IQdesktop version could also be hosted in the existing cloud ecosystem and thus be obtained by a “cp” command or a “curl”, etc. No limits!
# Download IQdesktop: sudo docker pull intiquan/iqdesktop:latest
C.2.3 Configuring IQdesktop
- A config file needs to be defined for each user, following the guide defined here
- This config file needs to be made available on the AWS instance
- For convenience an example config file is provided as download – enter on the AWS console:
# Get an example config.yml file on the AWS instance curl https://iqdesktop.intiquan.com/aws/config.yml --output config.yml
C.3 Three-liner Installation
Instead of copying all the script code above, the installation can be simplified. An example is the following:
- Connect to AWS console as before
- Simply execute in the AWS console:
curl https://iqdesktop.intiquan.com/aws/IQdesktop_AWS_Installation.sh --output install.sh chmod +x install.sh ./install.sh
- The install.sh script could be customized per user
- Such a script might be executed automatically once a dedicated AWS instance is started
- The config.yml file defines all settings that are relevant for the user
- Running the script on AWS takes about 5 minutes – and IQdesktop is set up
C.4 Connecting to IQdesktop on AWS
Connection to IQdesktop happens via VNC. The default port is 5900
, but this can be changed in the config.yml file. Important is that the firewall on the AWS machine allows connection to the VNC port!
- Download tigervnc from here: https://bintray.com/tigervnc/stable/download_file?file_path=vncviewer64-1.10.1.exe
- Start the downloaded executable - you should see a window such as the following:
- Enter in the text input the IP address of your AWS instance followed by the VNC port number. In the example case here this is:
- Press “Connect” - you will be prompted for a password:
- Use
password
as password. This is defined in the config.yml file and can be customized per user as desired - Press “OK”. - Voila, IQdesktop on AWS is up and running and your are connected:
C.5 Conclusion
- Installation of IQdesktop on AWS instances is straight forward, easy, and quick!
- Instead of using a more complex system such as the EPAM Cloud Pipeline, simple shell scripts developed by the IT Team would enable a comfortable and flexible deployment of IQdesktop in the cloud.
- Systems such as the EPAM Cloud Pipeline might have certain general advantages though.
C.6 Securing your connection to IQdesktop on AWS
You certainly want to use an encrypted connection. This is easily possible. [Read more here][Securing IQdesktop Connection].
C.7 Data exchange between local and AWS system
- Cloud based file servers can be mounted to the AWS host instance and the mounted folders can be mapped as volumes into IQdesktop#
- S3 buckets can conveniently mounted inside an IQdesktop container, using the
mountS3 "bucketname"
command. See more here. - SVN server based
- Secure file copy based
- More information here