Part 1 - setting up the ami
get an image from here: https://cloud-images.ubuntu.com/locator/ec2/
for this article we’ll use ami-0b8c1f0a - a 64-bit image of ubuntu 13.04 - click the link will take you right to the launch instance dialog if you are logged into aws
add port 22 inbound to security group
create an elastic ip and associated it with the instance
set up your .ssh/config file (or use command switches) to use your new key pem file
ssh into your instance
apt-get update upgrade dist-upgrade
reboot - might take a minute or two to get back up
Part 2 - setting up a persistent ebs volume
volume type: IOPS right click on volume and attach to the ec2 instance.
format the volume: sudo mkfs.ext4 /dev/xvdf
add the volume to fstab so it’s there on reboot /dev/xvdf /vol auto noatime 0 0
reboot again - when you’re back the new volume will be at /vol
Part 3 - setting up postgresl
sudo apt-get postgresql
update user credentials: sudo -u postgres psql postgres \password postgres (you will be prompted for the new password)
show data_directory - we’ll need this for the next few steps
/var/lib/postgresql/9.1/main
exit out of psql console and shut postgres down
change the permissions of /vol to postgres:postgres sudo chown -R postgres:postgres /vol
change to postgres user: sudo su - postgres
copy contents of that folder (…/main) to /vol cp -r /var/lib/postgresql/9.1/main/* /vol
now map the new drive to psql data folder. Open /etc/fstab and change the previous entry to: /dev/xvdf /var/lib/postgresql/9.1/main auto noatime 0 0
move the old postgresql data directory out of the way: sudo mv /var/lib/postgresql/9.1/main /var/lib/postgresql/9.1/main-old
Reboot!
Set the permissions to the data folder3 sudo chmod 0700 /var/lib/postgresql/9.1/main