Rain Toolkit
Rain Toolkit
Open Source Tools for Amazon EC2 Management

Rain Toolkit is a set of command line tools that makes it easier to manage Amazon EC2 resources, such as virtual machines, volumes, snapshots and others.

Rain Toolkit commands allow you to manipulate virtual machines and its components in a more sysadmin-friendly way.

Start Here

Rain Toolkit is free software under the terms of the GNU General Public License as published by the Free Software Foundation. Rain Toolkit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.

Why another set of command-line tools?

Amazon EC2 is a cloud computing service provided by Amazon.com.

Amazon already provides a set of command-line tools to manage EC2 resources. They allow stopping/starting instances, allocating ip addresses and volumes, attaching/detaching volumes, etc.

However, when one starts using these tools to manage day-to-day operations it becomes clear that they have some limitations:

  • They are too fine grained, each tool dealing with a single EC2 object at a time. While this is great from a software design point of view, combining these tools to automate complex operations can be challenging.

  • The tools operate in an asynchronous way, reflecting the underlying EC2 platform workings. This makes scripting more complex as there is the need to poll in order to wait for an operation to complete.

  • They do not support friendly naming of EC2 resources, relying instead in EC2 object identifiers (like i-c4c026ac or vol-a5d83ecc) which are not intended to be human-readable.

Rain Toolkit solves all that by providing a set of command line tools based on the concept of virtual machine, a concept familiar to anyone who has used any traditional virtualization platform (VirtualBox, VMWare, etc.).

Rain Toolkit commands allow you to manipulate virtual machines and its attachable components (volumes and elastic IP addresses) in a more sysadmin-friendly way by creating an inventory of Virtual Machine metadata that gets stored in Amazon Simple DB.

Details

Last Update: 04/04/2011

Features:

  • Support for micro instances
  • Support for ebs-backed instances
  • Support for Amazon Virtual Private Cloud (VPC)
  • Labeling of instances (virtual machines), volumes, snapshots, etc.

  • Automation of common instance startup actions such as attach volumes, associate ip address, run startup scripts, and others.

  • Storage of EC2 virtual machine meta information using Amazon Simple DB.

Rain Toolkit is based on other great open source software:

  • AWS SDK for Java : A Java client library for a variety of Amazon Web Services.

  • Simplejpa : Java Persistence API for Amazon SimpleDB.

  • cli-parser : Command Line Interface Parser for Java.

To report bugs, request enhancements and access the source code, please visit Rain Toolkit page on kenai.com:

Using Rain Toolkit

All command line tools are designed to provide meaningful exit values (0 on success) so they can easily be used inside shell scripts.

  • Creating a virtual machine in RainToolkit is as easy as:
  • create-virtual-machine -n myMachineName -i <ami-id>
  • You can specify all the usual EC2 attributes in your virtual machines: availability zone, kernel, instance type (small, large, extra large etc.). You can also associate a virtual machine with an already running EC2 instance (labelling).

  • Starting a an EC2 virtual machine is as easy as:
  • start-virtual-machine -n myMachineName
  • Rain Toolkit will take care of launching the EC2 instance, waiting for it to start running ,attaching volumes to the right devices, attaching an elastic ip address etc.

  • You can also create EBS volumes or label existing EBS volumes:
  • create-volume -name myVolume -size 500 -z u-east-1c
  • Data for virtual machine and volume configuration is stored in Amazon Simple DB.

  • Viewing virtual machines, volumes and other objects is also equally easy:
  • describe-virtual-machines
    Name                  Uptime        DnsName                                         InternalIpAddress     InstanceId
    test-server           none          none                                            none                  none
    website               200d00:21     ec2-174-129-201-163.compute-1.amazonaws.com     10.248.241.236        i-c4c026ac

For more information, detailed installation and usage instructions, please check the tools documentation page:

LOGICSTYLE
HOME
ABOUT
CONTACT

LOGICSTYLE LogicStyle
(31) 3284-6610 - contact@logicstyle.com