Amazon is offering 750 hours of a Micro instance for free. This would give you about a month of uptime. Here is a small guide on how to get started.
This guide will take you through the steps:
- Sign up
- Downlad Keys and Certificates
- Create an instance
- Connecting to your EC2 Instance with SSH
Go to the Amazon EC2 sign up page and sign up for a free account. You can use and existing Amazon account, or create a new one.
Since this is a pay-as-you-go model, they want you to enter your credit card. Because you are signing up for a free account they will notify you by email if your estimated bill goes over 0.00$.
Once you have signed up, you will end up at the EC2 console.
Remember to change your region to something appropriate for you in the top right corner before you start. The available regions are:
- US East (N. Virginia)
- US West (Oregon)
- US West (N. California)
- EU (Ireland)
- Asia Pacific (Singapore)
- Asia Pacific (Tokyo)
- Asia Pacific (Sydney)
- South America (São Paulo)
Download Keys and Certificates
Now you want to get all your keys and certificates.
First navigate to the Key Pairs menu (under Networks and Security) in the left side menu. Create a new key-pair, give it an appropriate name, and download it to a folder where you can find it again (e.g. ~/ec2/amazon-ec2.pem)
The next keys you need you can find under your accounts Security Credentials page. Create a X.509 Certificate and download the certificate and private key to your computer (save them in e.g. ~/ec2/cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem and ~/ec2/pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem).
Make all your keys private:
chmod go-rwx ~/ec2/*.pem
Create an instance
Go to Instances in the EC2 console and click the Launch Instance button. This will start a wizard taking you through seven steps.
Select the OS you want (I would reccomend Ubuntu 12.04.3).
Choose Micro instance for the free tier.
All of these will be fine at default settings. Add more storage if you need (default is 8GB, max on a free account is 30GB).
Here you want to create a SSH security group and limit the IP-addresses to the IP-adresses of your home or work network.
Review and then click Launch
Connecting to your EC2 Instance
Installing the EC2-Api-Tools
To make sure you get the latest most up to date tools add the awstools ppa by running:
sudo apt-add-repository ppa:awstools-dev/awstools sudo apt-get update
Then install the tools by with:
sudo apt-get install ec2-api-tools
Set up your shell profile
Open up your ~/.bashrc file in a text editor and add the following lines:
export EC2_KEYPAIR=<your keypair name> # name only, not the file name export EC2_URL=https://ec2.<c2 region>.amazonaws.com export EC2_PRIVATE_KEY=$HOME/ec2/pk-<something>.pem export EC2_CERT=$HOME/ec2/cert-<something>.pem export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/
Load changes into your shell session
Logging in with SSH
To see the status of your instances run
You may then run the command
ssh -i <private key file> <username>@<host-name>
to log to the instance specified by host name. The host name you can find in the output of ec2-describe-instance. It looks like something like this "ec2-549-39-62-12.eu-west-1.amazonaws.com". If you chose ubuntu as OS for your instance the username is ubuntu.
Your private key file is the key-pair private key you downloaded earlier (if you followed the examples literally it would be ~/ec2/amazon-ec2.pem).
If you don't want to remember that ssh command in your head add this to your .ssh/config file:
Host <shortname> Hostname <host-name> User <username> IdentityFile <private key file> ForwardAgent yes
Then you can run