1) Create a new chef-repo or use your current chef-repo
For testing I cloned a new chef-repo
git clone git://github.com/opscode/chef-repo.git ec2chefrepo
2) From the previous tutorial ./chef-repo copy over ./chef-repo/.chef into our new chef-repo
3) In Amazon Ec2 click on your name in the top right
I get a password old/new page. Instead go to the left side and click on Users.
Then click on your email and then the security credential tab
4) Get the Access Keys and Secret Keys
Click on Manage Access Keys
Create a new key and you will get two strings.
Note: The secret key is show and available this one time. You will need to create new access keys if the secret key is lost.
Access Key Id
AKAJG6Z4AFQ5YPQ
Secret Access Key
Mw5sHvDgJRtAVP2vkA8gL8XJkvoZijhNMf
5) With the above access keys and your ec2 .pem add these lines to ec2chefrepo/.chef/knife.rb
knife[:aws_access_key_id] = 'AKAJG6Z4AFQ5YPQ' knife[:aws_ssh_key_id] = 'bunwichchef' knife[:aws_secret_access_key] = 'Mw5sHvDgJRtAVP2vkA8gL8XJkvoZijhNMf'
Note: the ssh_key_id is your key name without the pem
6) Create a gemfile to install some gems
gem install bundle
rbenv rehash
cd ~/ec2chefrepo/
vim Gemfile
source 'https://rubygems.org' gem 'chef' gem 'knife-ec2'
Note: I had to run this before running bundle installs
sudo yum install gcc-c++
bundle install
7) Create and Deploy An Instance
Had to run:
gem install rb-readline unf
http://aws.amazon.com/amazon-linux-ami/
To get a list of AMI Image Ids
knife ec2 server create \ --availability-zone us-east-1b \ --node-name bunwichchefinstance.demo \ --flavor t1.micro \ --image ami-ba18d2 \ --run-list "role[memcached]" \ --identity-file ~/.ssh/bunwichchef.pem \ --ssh-user ec2-user