Global Constant
Steve Nay's ramblings

Setting up my development environment for AWS

This is mostly for my own benefit, since I’ll more likely than not have to explain the process to others in the class.

This describes all the pieces I needed to set up to get my dev machine set up to work with Amazon Web Services.

The first thing I needed were the security credentials. To find these, log in to the AWS Console, click on Account at the top, and then click on Security Credentials. (At the time of writing, the URL for that page is this.)

There are four security credentials you need:

  • Access Key ID (string)
  • Secret Access Key (string)
  • X.509 Certificate (.pem file)
  • Private key associated with the X.509 (.pem file)

All of those are accessible to anyone who can log in to the account, except for the private key. Amazon does not keep a copy of the private key for the X.509 certificate; you can download it when you create the certificate, but if you lose it after that you’ll have to revoke the certificate and create a new one.

Store all of these in a secure place.

Next, you’ll need a key pair to run instances on EC2. You can create this when you launch an instance. Select the option “Create a New Key Pair” when you get to that step in the launch process. This will give you a .pem file. Save that in a secure location as well; you’ll need it to SSH into your machine.

Once you have all of those things, there are a couple other things that are useful. I set up my .ssh/config file to allow me to SSH in easily. Here’s what the EC2 section looks like:

Host ec2
    HostName {host name}
    User ubuntu
    IdentityFile ~/.ec2/snay2.pem

The last thing that’s useful to have, especially when you’re creating AMIs, are the EC2 API tools for the command line. I installed these into my home directory (since the BYU CS labs don’t give me write access to the more sensible location of /usr/share) and set up my .bashrc to initialize the necessary environment variables to run the tools:

export EC2_HOME=~/.ec2/tools/
export PATH=$PATH:$EC2_HOME/bin
export EC2_PRIVATE_KEY=~/.ec2/PrivateKey.pem
export EC2_CERT=~/.ec2/X509Cert.pem

I think that’s about it.

Older article
Kynetx app ideas