AWS Setup

Dr Peadar Grant

Cloud Architecture

Updated due to AWS Educate Changes

Many of the labs in this course will use Amazon Web Services, or AWS. To do the labs in this course, you will therefore need an AWS account.

Almost all AWS services are chargeable. Many services have a time-limited free tier.

AWS Educate has a number of resources including free credits so that labs exceeding the free tier don’t incur charges. For more information on AWS Educate see:
https://aws.amazon.com/education/awseducate/

1 AWS Account types

AWS Educate used to support two types of accounts:

AWS starter account
created by AWS, pre-loaded with credit and used only for education. It deletes automatically when the benefit ends. This is the only type of account supported by AWS educate. Unfortunately it has some limitations!
Regular AWS account
where you create your own AWS account (which does require associating a valid credit card). This account can’t take advantage of AWS Educate credits.

Previously I used to recommend all students to get a regular AWS Account and apply AWS Educate credits to it, as it was the most flexible setup.

Since December 2019, AWS Educate have removed the regular AWS account option for claiming credits. An AWS Educate starter account is now the only option.

2 AWS account setup

Sign up for AWS Educate at https://www.awseducate.com/registration.

Create a starter account using the instructions on the page.

3 Setup AWS command-line interface

The AWS Command Line Interface is a client program that runs on your local PC to allow you to manage AWS resources from the command-line (PowerShell, Bash). We will use the command-line extensively in this module.

3.1 AWS CLI installation

If you’re on a lab computer OR if you already have the AWS CLI installed, then skip ahead to subsection 3.2.

Install the command-line tools from https://aws.amazon.com/cli/

3.2 Access key setup

Log in to AWS console. Click your name in the top bar and go to My Security Credentials. Go to Access keys Click Create New Access Key. Hit Show Access Key.

Open PowerShell or Terminal (Mac/Linux) and type aws configure. Copy the Access Key ID from the browser and paste into the terminal when it asks for AWS Access Key ID [None]:. Do the same when asked for AWS Secret Access Key [None]:.

When asked for default region name, type eu-west-1. (We will learn more about regions later on.)

To check that the AWS CLI is correctly configured, you can try running the command:

aws ec2 describe-instances

If it shows something similar to:

{  
    "Reservations": []  
}

then the AWS CLI is working OK.

4 Mac, Linux, UNIX users

Windows users can ignore this section.

Mac & *nix users will have no problems installing the AWS CLI, and the commands work identically to those on Windows.

The difference between Mac/Linux and Windows centres on the use of Bash/zsh by Mac vs PowerShell on Windows. The AWS CLI is perfectly scriptable using Bash, particularly in conjunction with jq to parse JSON. However, some of the scripts you will be provided with in this module will be PowerShell only due to time constraints.

The good news is that PowerShell 7 can be installed easily on a Mac with no issues. You do not need a Windows VM on your Mac to use any of the PowerShell or AWS commands in this course. Please go to the PowerShell page on GitHub for instructions.

When you have PowerShell installed, open the Terminal app and type pwsh and you’ll be at a PowerShell prompt. Repeat the aws ec2 describe-instances command to confirm that the aws command is available in PowerShell.