Tool for launching and configuring AWS EC2 instances.


gem install awstool


Copy example/awstools.yaml to ~/.awstools.yaml. Fill it out to your liking.


This will launch and instance and create an A record with route53. You can split your settings files up and then merge them on the command line with the -o flag.

awstool -o ~/ubuntu-14.04.yaml,~/webserver.yaml

This will allow for different levels of templating. Particularly useful for setting puppet options and security groups. Launch a bunch of instances off of the same configs like so.

awstool -o ~/ubuntu-14.04.yaml,~/webserver.yaml
# or
awstool -o ~/ubuntu-14.04.yaml,~/webserver.yaml floop{1..5}

When launching multiple instances the tool will choose a random subnet from the subnet-ids array unless the -s flag or the 'subnet-id-index' option is set. It can also balance between the subnets with 'subnet_balance: true' in settings.


Bug reports and pull requests are welcome on GitHub at


The gem is available as open source under the terms of the MIT License.