AWS EC2 Instance
Previously we recommended that Windows users use Pushkin through an AWS EC2 instance due to bugs in WSL that made the setup unreliable. This issue seems to have been resolved, so we now recommend using WSL instead of an EC2 instance. Using an EC2 instance has a number of limitations, including:
- You cannot do true local testing via
localhost, as the IPv4 public IP address must be used.
- In our experience, timeout errors are more common on EC2 instances.
- If multiple experiments are installed, the EC2 instances may run out of space with the default amount of storage.
However, users can choose to create a free-tier Amazon Web Services (AWS) EC2 instance for using and deploying Pushkin as an alternative to using WSL on Windows. In your instance, you will be able to run an Ubuntu virtual machine and follow the Ubuntu setup instructions. We suggest accessing this AWS EC2 instance from your local computer using the PuTTY SSH client, though in principle any SSH client for Windows should work.
Complete the sign-up process and go to your inbox to confirm your email address.
Click on the Launch Instance button.
Scroll down to the Application and OS Images (Amazon Machine Image) and under the Quick Start tab and click on Ubuntu. The default selected should say Free tier eligible, but if it doesn't, click on the box and select a version that is free.
Now, scroll down to the Key pair (login) option, and on the bottom right, click on Create new key pair, create a new key pair and give it a name, (e.g., "pushkin-testing-key"), set it to RSA key type and change the private key format to .ppk. Make sure to dowload this file, keep it somewhere as this will be necessary to connect your instance later
Next, on the right of the Network settings heading, select Edit.
Select Add security group rule, under Type, choose HTTP in the drop-down menu. Then, select Add rule again and, under Type, select "HTTPS".
Now, click on Launch Instance.
Next, in the box that says "Your instances are now launching," click the instance ID, which will be an alphanumeric string.
This will take you to the AWS EC2 console. You should keep this window open.
In the Windows start menu, open PuTTY.
In the Category pane, choose Session.
In the Host Name box, enter "ubuntu@" followed by the public DNS of your instance.
The public DNS is found on the AWS EC2 console. One example is "ec2-18-191-193-31.us-east-2.compute.amazonaws.com". The 2- and 3-digit numbers will be different for each instance and "us-east-2" is based on what region you are in.
Ensure that the Port value is 22, the under Connection type select SSH.
In the Category pane, expand Connection, expand SSH, expand Auth, then choose Credentials.
Select the ".ppk" file you generated for your key pair and choose Open.
If you plan to start the session again later, you can save the session information. Under Category, choose Session, enter a name for the session in Saved Sessions, and then choose Save.
Note: When you stop running the AWS instance from the AWS console, on restart the IP address and the Public DNS will be different. If you save your settings in PuTTY, you will need to replace part of your host name with the new IP address. All other saved settings remain the same.
You can now choose Open to connect to your instance. PuTTY will display a security alert dialog box asking if you trust the host you are connecting to: choose Yes.
You are now connected to your instance! In the window that appears, run the following commands to update your Ubuntu EC2 instance:
sudo apt update
sudo apt upgrade
While upgrading, a box may come up that says the following:
A new version of /boot/grub/menu.lst is available, but the version installed currently has been locally modified.
Use the UP arrow key to select
install the package maintainer's versionand press ENTER to continue.
To avoid incurring charges on AWS's Free Tier, always shut down your AWS EC2 instance when you're done using it. To do this, go to the AWS EC2 console, right-click on your instance, expand Instance State, and select Stop. When a dialog box appears, click Yes, Stop.
To restart your instance, go to the AWS EC2 console, right-click on your instance, expand Instance State, and select Start.