Skip to content
contentfree edited this page Sep 13, 2010 · 20 revisions

Note: PoolParty works with ANY ubuntu AMI (support for other OSes is already in progress)

Sign up

  1. Navigate to Amazon’s aws page
    and click on the Getting started link. If you already have an aws account, log in and skip the next step.
  2. Sign up
  3. Once you’ve signed up or signed in, hover over the product’s menu and click on Elastic Computing Cloud
  4. Then, click on the Sign up for Amazon EC2 button to sign up for the ec2 service
  5. Now, once you have access to ec2, get your access identifiers by hovering over Your Account in the menu and clicking on Access Identifiers
  6. Scroll down the page and find the box titled “Access Key ID and Secret Access Key,” In the box, you should see a box titled “Your Access Key ID.” Make note of this string.
  7. Scroll down a little further and find the box titled “Your Secret Access Key.” This box is hidden for security reasons, so you’ll have to click on the show link. Make note of this string as well.
    I like to copy and paste the identifiers into a temporary location so I don’t have to navigate to the AWS page constantly.

Setup

These access identifiers are crucial for your cloud to operate, so we need to expose them to your cloud. PoolParty expects these identifiers to be in one of several places. You can explicitely set them in your clouds.poollike so:


  cloud :app do
    access_key "AAAAAAAAAABBBBBB"
    secret_access_key "NRLSKDM@$@$/4@$%%NNNSN"
    ...
  end
Of course, this works if you are going to keep your spec local and private, but that doesn’t really bod well for sharing, so instead, let’s set them as environment variables. You can do this by setting them explicitly in a profile file. I develop on a mac, so this file for me is at ~/.profile. Check your OS for your profile file.

Export the variables AWS_ACCESS_KEY with the access key you found above on the AWS site and export the AWS_SECRET_ACCESS_KEY with the secret access key you found from the AWS site as well like so:


  export AWS_ACCESS_KEY =AAAAAAAAAABBBBBB
  export AWS_SECRET_ACCESS_KEY =NRLSKDM@$@$/4@$%%NNNSN

I tend to like keeping things separate, so I create a shell script to source. For me, this looks like:


  #!/bin/sh
  export AWS_ACCESS_KEY =AAAAAAAAAABBBBBB
  export AWS_SECRET_ACCESS_KEY=NRLSKDM@$@$/4@$%%NNNSN

If you are going to point to one pool file more often than any other, you can add it as an environment variable as well, like so


export POOL_SPEC=/home/auser/Sites/pp/clouds.pool

This will save a lot of headache if you export this in the file. PoolParty expects to be able to find the clouds.pool in one of several locations. The current directory, the file pointed to by the POOL_SPEC environment variable, /etc/poolparty/clouds.pool, and a few other places. You can also explicitly set these when calling pool functions with the -n switch, but that gets old fast.

Note, that if you are in the same directory as your clouds.pool file, then PoolParty will assume you are working with that .pool file.

If you have not done it already, or if you have multiple EC2 accounts, you will also need to add the certificate and private key for EC2 to your shell script:


export EC2_PRIVATE_KEY=$HOME/.ec2/pk-AAAAABBBBBCCCCCDDDDDEEEEEFFFFFGG.pem
export EC2_CERT=$HOME/.ec2/cert-AAAAABBBBBCCCCCDDDDDEEEEEFFFFFGG.pem

Keypair

If you haven’t done so already, generate the keypair


cloud add-keypair

Ports

Finally, make sure the following ports are open:

  1. 22
  2. 8642

Old ports not required for release 1.1 and after

  1. 4369 (erlang daemon)
  2. 8140 (puppet)
  3. 7050 (cloud management)

If these ports aren’t open, your cloud will fail.


ec2-authorize -p 22 default
ec2-authorize -p 8642 default

Sometimes it’s nice to ping your machine, but ping doesn’t need to be open, so this step is optional:

ec2-authorize -P icmp -t -1:-1 default

That’s it!

Clone this wiki locally