Step 1: Your landing page upon logging in should be the AWS Management Console (see below). Click on the area highlighted in yellow that says "Launch a virtual Machine" with EC2.
What is EC2? Amazon Elastic Compute Cloud (Amazon EC2) provides scalable computing capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your need to invest in hardware up front, so you can develop and deploy applications faster.
.Step 2: As a Basic Plan (FREE) User, you're eligible to launch and use any of the "Free tier" AMIs. The one we'll be using in this project is the Ubuntu Server 18.04 LTS (HVM), SSD Volume Type. See image below, you'll have to scroll down a bit to find it amongst the many AMIs. We use this image as it's quite easy to get everything up and running.

Step 3: Choosing an Instance Type - We already have chosen the type of OS we want to use (Ubuntu 18.04), now we have to choose a hardware configuration. We aren't given much of a choice due to our Free Tier limitations. The t2.micro will suffice for our application needs for now. Click Review and Launch (highlighted in yellow)

Step 4: Reviewing and launching. No need to change anything here, the defaults are fine. Click Launch (highlighted in yellow)

Step 5A: Creating a new Key Pair. If this is your first time you will need to create a new Key Pair. Click on the drop-down highlighted in yellow below.

Step 5B: GIve you key a name e.g. my_aws_key and Download Key Pair (please don't lose this file otherwise you won't be able to log in to your EC2 instance).

Step 5C: Your Instance has been launched, it will take a few mins for AWS to create and have your instance up and running
Step 6A: Clicking View instances brings up the EC2 Dashboard.
Step 6B: To view the details of the individual instance you just launched, click on Instances under Instances on the left panel.
Step 7: Viewing your Instance public IP. Note your IP as you'll need it later when connecting to your instance.
Step 8: Assuming you're using Ubuntu on the VM (if not it's highly recommended as I find using Putty and SSH keys over windows to be sometimes problematic). Note Windows isn't always, so you're welcome to try using the guide here: https://docs.aws.amazon.com/codedeploy/latest/userguide/tutorials-windows-launch-instance.html)
Mac instructions would be the same as the Ubuntu instructions.
Let's chmod your downloaded key to protect it from overwriting. If you've never used ssh on your VM, create a ./ssh folder in the home director. The following commands also assume your key is in the downloaded directory.
mkdir ${HOME}/.ssh
cp ~/Downloads/my_aws_key.pem ~/.ssh
chmod 400 ~/.ssh/my_aws_key.pem
Step 9: Connecting to your EC2 instance via Terminal, by running this:
ssh -i ~/.ssh/my_aws_key.pem ubuntu@18.224.96.38
You'll be prompted by the following, type yes and hit Enter.
You'll now be greeted by this! Congratulations, you've connected to your EC2 Instance successfully!
Step 10: Installing the necessary packages by executing the following commands:
sudo apt update sudo apt install python3-pip sudo pip3 install tensorflow sudo pip3 install keras sudo pip3 install flask
Note: As of April 2019, sudo pip3 install opencv-python appears to be broken, if importing cv2 fails, run sudo apt install python3-opencv
sudo pip3 install opencv-python sudo apt install python3-opencv
Screenshots of the TensorFlow install:

Screenshots of the Keras install:

Screenshots of the Flask install:

We've successfully installed all libraries needed for our API and Web App on our EC2 Instance!
In the next chapters, we'll:
Setup Filezilla to transfer our code to your EC2
Setup our Security Group on AWS to allow TCP traffic.