This guide provides instructions for configuring an Amazon Web Services (AWS) virtual machine (VM) at Amazon Elastic Compute Cloud (Amazon EC2) to run nTopology on cloud infrastructure.
AWS Permission Requirements
The following instructions assume that the user has set up an AWS project with billing (or is under an evaluation trial that grants support to GPU-enabled VM types). Additionally, the user should have at least the following “identity and Access Management” policies on said project:
|AmazonEC2FullAccess||AWS managed||This is a pre-defined AWS IAM policy.|
|AmazonS3FullAccess||AWS managed||This is a pre-defined AWS IAM policy.|
|User-defined policy name||Customer managed||
A user-defined AWS IAM policy with the following definition:
For additional information, you can consult AWS IAM reference guide.
Currently, only AWS Windows Server 2019 virtual machines are supported for remote execution in cloud hosts, using the Remote Desktop Protocol (RDP) for connecting to hosts’ graphical desktop environments.
AWS Windows Server 2019
This section contains detailed steps for creating an AWS Windows Server 2019 virtual machine instance, signing into the newly created instance, and installing packages required to run nTopology (including nTopology itself).
Virtual Machine Specifications
The machine image should be a Microsoft Windows Server 2019 Base image.
AWS offers different possible VM specifications and families in different regions (as described here). There is a tradeoff between VM resources required for an application and the costs involved. We recommend the “g4dn” family, and nTopology’s System Requirements Guide can be used to select VM instance type.
|Image||Windows Server 2019 Base|
Creating an AWS Instance
These steps cover the creation of an AWS instance with the specifications listed above.
First, navigate to your AWS console (https://aws.amazon.com/console/) and log in to your account. Select the “Services” panel on the upper left corner of the screen (arrow 1 in the image below), and then select “Compute” (arrow 2) and “EC2” (arrow 3).
The window displayed will change to the EC2 Dashboard. From here, create an instance by either selecting “Launch Instance” (arrow 2 in the image below) or by selecting “Instances” (arrow 1) on the left side menu bar. If “Instances” is selected, the view will change to a view of all current AWS instances. From there there will be a “Launch Instances” option similar to the one on the EC2 Dashboard in the image below.
A dropdown will appear asking if you want to “Launch instance” or “Launch instance from template”. In this example, you will create an instance without an existing template.
The “Launch an instance” page is now open. Here, enter the configuration information matching the machine specifications laid out in the table above.
Selecting Machine Name, Machine Image and Machine Type
First, enter the name of the virtual machine under “Name and Tags” (arrow 1 in the image below). In the example below, this is titled “AWS-nTop.” Next, search for “Windows Server 2019 Base” under “Application and OS Images (Amazon Machine Image)” (arrow 2). Before entering your search for “Windows Server 2019 Base,” the page should look similar to the screenshot below.
Upon entering the search for “Windows Server 2019 Base”, a page will appear with all of the results of your search. Select the option titled “Microsoft Windows Server 2019 base”.
Now you are back to the “Launch an instance” page, and you should notice that the OS image has changed to Windows Server 2019 Base. Immediately below the OS image section are the sections for “Instance type” and “Key pair (login).” Modify the instance type to be your desired machine type (in this example, a g4dn.2xlarge instance, as shown by arrow 1 in the image below).
Creating a Key Pair
From the “Launch an instance” page, under the “Key pair (login)” section (arrow 2 in the image above), create a new key pair for the instance. Add the desired name to the key, and select “.pem” format.
When you select “Create key pair,” your key will be downloaded to your local machine. Save this file; you will need it in the “Accessing an AWS instance” section to access your instance.
Network Configuration and Launching the Instance
Next, configure the network and storage settings. In this example you will configure the machine to only allow RDP access from your IP address by entering your IP address, as shown by arrow 1 in the image below. This may need to be changed to allow coworkers to access the same machine. Modify the storage settings to meet your needs (arrow 2). In this example, you will not modify the “Advanced details,” so once the storage and network settings have been modified select “Launch instance” (arrow 3).
Once “Launch instance” is selected, wait for the instance to become available. You can check the instance's status in the “Instances” page from the left menu bar.
Accessing an AWS Instance
In the above section you launched a new AWS virtual machine instance running Windows Server 2019 Base. You will now access the machine using RDP.
Navigate to the EC2 dashboard and select the “Instances” menu on the left hand menu bar (arrow 1 in the image below). This will display a page of all of the EC2 instances. Select the instance ID in blue to open up more details about the instance (arrow 2)
When the instance summary page opens, select “Connect” on the top right corner of the screen. This will open a page similar to the screenshot below.
Select “RDP client” (arrow 1 in the above image), and then download the remote desktop file (arrow 2). The only remaining step is to create a password for the instance. To do this, select “Get password” (arrow 3). This will require you to upload the key file that was downloaded while creating the instance.
When the remote desktop file, username, and password are obtained, RDP into the machine using your choice of RDP client. We recommend using the Microsoft Windows’ built-in RDP client.
Configuring an AWS Instance to run nTop
Once an AWS Microsoft Windows Server 2019 Base virtual machine has been created and RDP access has been established, configure credentials with AWS from within the VM and install graphics card drivers so nTop can run successfully.
Configuring PowerShell Access to AWS
First, configure PowerShell so that it can access AWS resources. This is needed to download the graphics card drivers discussed in the following section. AWS has instructions for configuring PowerShell access here.
Configuring NVIDIA Drivers
Before launching nTopology, you must configure NVIDIA graphics card drivers on the VM so that nTopology can use the GPU. Before you do this, however, you need to complete the previous step to make sure powershell can access AWS. AWS has another guide for installing NVIDIA drivers here.
You are now almost ready to begin running nTopology in the cloud. You only need to upload the desired nTopology MSI and install the software on the VM. Through your RDP client you can share a local folder with the remote machine. Share a folder containing the nTopology.msi file downloaded from app.ntopology.com, then initiate the RDP session. From the file explorer in your remote machine, navigate to “This PC”. You should see your shared folder there. Copy the MSI from the shared folder to a local folder on the remote machine, such as the Desktop. Once copied to the remote machine, run the MSI and install nTopology as usual. You are now ready to use nTopology in the cloud.
Please sign in to leave a comment.