Every repository with this icon (
Every repository with this icon (
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Fri Aug 21 16:10:57 -0700 2009 | |
| |
README.rdoc | Fri Aug 21 16:13:20 -0700 2009 | |
| |
Rakefile | Wed Aug 19 12:56:06 -0700 2009 | |
| |
VERSION | Mon Aug 31 22:23:55 -0700 2009 | |
| |
bin/ | Sat Sep 05 05:08:45 -0700 2009 | |
| |
lib/ | ||
| |
sumo.gemspec | Mon Aug 31 22:23:55 -0700 2009 |
Tired of wrestling with server provisioning? Sumo!
Want to fire up a one-off EC2 instance, pronto? ec2-run-instances got you down? Try Sumo.
$ sumo launch
---> Launching instance... i-4f809c26 (1.5s)
---> Acquiring hostname... ec2-67-202-17-178.compute-1.amazonaws.com (26.7s)
Logging you in via ssh. Type 'exit' or Ctrl-D to return to your local system.
------------------------------------------------------------------------------
Linux domU-12-31-39-04-31-37 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686
...
root@domU-12-31-39-04-31-37:~#
Later…
$ sumo terminate
ec2-67-202-17-178.compute-1.amazonaws.com scheduled for termination
You can manage multiple instances via "sumo list" and specifying hostname or instance id as arguments to the ssh or terminate commands.
Service installation with Chef
The launch command takes an argument, which is a server role (from roles/#{role}.json inside your cookbooks repo):
$ sumo launch redis
---> Launch instance... i-b96c73d0 (1.3s)
---> Acquire hostname... ec2-75-101-191-220.compute-1.amazonaws.com (36.1s)
---> Wait for ssh... done (9.0s)
---> Bootstrap chef... done (61.3s)
---> Setup redis... done (11.9s)
---> Opening firewall... ports 6379 (5.2s)
Your instance is exporting the following resources:
Redis: redis://:8452cdd98f428c972f08@ec2-75-101-191-220.compute-1.amazonaws.com:6379/0
The instance can assume multiple roles if you like:
$ sumo launch redis,solr,couchdb
Setup
Dependencies:
$ sudo gem install amazon-ec2 thor
Then create ~/.sumo/config.yml containing:
---
access_id: <your amazon access key id>
access_secret: <your amazon secret access key>
ami: ami-ed46a784
cookbooks_url: git://github.com/adamwiggins/chef-cookbooks.git
If you run any production machines from your EC2 account, I recommend setting up a separate account for use with Sumo. It does not prompt for confirmation when terminating an instance or differentiate between instances started by it vs. instances started by other tools.
Features
Launch, ssh to, and terminate instances.
Sumo creates its own keypair named sumo, which is stored in ~/.ssh/keypair.pem. Amazon doesn’t let you upload your own ssh public key, which is lame, so this is the best option for making the launch-and-connect process a single step.
It will also create an Amazon security group called sumo, so that it can lower the firewall for services you configure via cookbook roles.
Anti-features
Sumo is not a cloud management tool, a monitor tool, or anything more than a way to get an instance up right quick. If you’re looking for a way to manage a cluster of production instances, try one of these fine tools.
- Pool Party
- RightScale
- Engine Yard Cloud
- Cloudkick
Meta
Created by Adam Wiggins
Released under the MIT License: www.opensource.org/licenses/mit-license.php








