EC2-compatible tools

The following tools are compatible with Amazon EC2. These tools are designed for control and management of VM instances, EBS volumes, elastic IPs, and security groups and can be used with both EC2 and Eucalyptus.

The following Amazon EC2 command line tools are entirely compatible with Eucalyptus (more recent versions may or may not be compatible with Eucalyptus) :

SUSE Studio and Kiwi

SUSE Studio and Kiwi, the appliance creation tools from Novell, can be used to create customized OpenSUSE and SLES images that run on top of Eucalyptus:

http://en.opensuse.org/SDB:KIWI_Cookbook_Own_Cloud

The first section describes how to create Eucalyptus front-end and node appliance images, and the second part, 1.4, describes how to host OpenSUSE images on your Eucalyptus cloud.

boto

An integrated interface to current and future infrastructural services compatible with AWS.

Author Mitch Garnaat, et al
Homepage Google Code Page
Documentation API Documentation, Wiki
Discussion via Google Groups
Download via Google Code
Source via Google Code
Version 1.8d
License MIT

Example Usage

Setup boto

Install boto, setup the environment, and so on.

As root,

python setup.py install 

Using

Eucalyptus EC2 interface

region = RegionInfo(name="eucalyptus", endpoint="hostname")

connection = boto.connect_ec2(aws_access_key_id="access key",
                              aws_secret_access_key="secret",
                              is_secure=False,
                              region=region,
                              port=8773,
                              path="/services/Eucalyptus")

#Run commands

zones = connection.get_all_zones()

where, "hostname" is the name of the Eucalyptus front end.

For instance, if EC2_URL is set to http://192.168.9.1:8773/services/Eucalyptus,

hostname should be "192.168.9.1"


Eucalyptus S3 interface

calling_format=boto.s3.connection.OrdinaryCallingFormat()
connection = boto.s3.Connection(aws_access_key_id="access key",
                           aws_secret_access_key="secret",
                           is_secure=False,
                           host="hostname",
                           port=8773,
                           calling_format=calling_format,
                           path="/services/Walrus")

#Run commands

bucket_instance = connection.get_bucket(bucket)
keys = bucket.get_all_keys()
for k in keys:
    #do something

Interacting with Amazon EC2

Replace "hostname" in the above examples with "ec2.amazonaws.com" or "s3.amazonaws.com" and path with "/"

RightScale Platform and Eucalyptus

RightScale Inc. announced on November 4th, 2008 support for Eucalyptus-based cloud installations. As a public demonstration of this capability, the Eucalyptus Community Cloud (ECC) can be accessed via the Eucalyptus Edition of the RightScale Platform.

Limitations

Just as the ECC itself, this demonstration is for evaluation purposes only and thus, the functionality in the Eucalyptus Edition is limited. Specifically, the use of this service is subject to the following restrictions and limitations:

  • VM instances are time-limited to 6 hours (they will be terminated without any warning!);
  • No more than 4 VM instances from one user are allowed at a time;
  • VM instances are assigned public IP addresses, but only incoming network connections and inter-instance network connections are allowed (with the exception of outgoing connections to Debian mirrors - so apt-get will work). This means that you can log in to your VMs from outside, communicate between VM instances, but are not allowed to initiate any connections from a VM instance;
  • Users are not allowed to upload custom disk images. Eucalyptus provides pre-packaged images for download here;
  • Functionality of the Eucalyptus Edition Platform is limited to:
    • managing instances (start, stop, monitor),
    • managing SSH keys,
    • connecting to instances via an SSH terminal that were started with a key created via the Platform;

  • The service offers no performance or reliability guarantees. Although we do not expect to terminate instances prematurely (before 6 hours elapse) or to lose account data, it may happen.

Signing up for the Eucalyptus Edition of RightScale

  1. To use the Eucalyptus Community Cloud through RightScale's Platform, one should first sign up for the Eucalyptus Public Cloud and obtain ECC credentials:
    • apply for an account here (your browser may warn you about a self-signed certificate, which you have to accept in order to use the service), and
    • wait for activation email message (which should take at most one business day but may happen within minutes) and log in using the link you received.

(See sections 1 and 2 of the Eucalyptus User's Guide for an illustration.)

  1. Then, one should follow the sign-up procedure on the Eucalyptus Edition of RightScale's Platform:
    • click the sign-up link (your browser may warn you about a self-signed certificate, which you have to accept in order to use the service),
    • fill out the form on the first page (the required fields are: First and Last names, Email, the two Password fields, and the Terms and conditions checkbox),
    • enter the Eucalyptus Community Cloud credentials on page three (page two is automatically skipped): Username, Query ID, and Secret Key are all displayed on your ECC credentials page (be sure to copy them exactly, without an extra spaces before or after).

If all goes well, you should be logged into RightScale's Platform after completing the above steps. ECC instances can now be managed and accessed both using the RightScale Platform and other EC2-compatible tools.

Using the Eucalyptus Edition of RightScale

There are two steps you may want to complete before attempting to start an instance:

  1. To enable Shell access through the browser, at least one SSH key must be added through RightScale's Platform (any keys that you added to ECC using other tools will appear in the Platform and can be specified when starting instances, but you won' be able to open a shell to those instances directly via the Platform).

To add a key, go to Design > Eucalyptus > SSH Keys and click the yellow Add Key button in the top right corner. You can name it as you wish. Once the key is generated, if you want to use it from outside the Platform (say, to log into your instance using ssh in a terminal), you can, at any time, cut-and-paste the Private Key contents into a file.

  1. At least one security group should be created before running instances: go to Design > Eucalyptus > Security Groups. (Otherwise, when you try to start an instance, the Platform will direct you to the Eucalyptus Security Groups page and say that A security group is required to launch an instance, please create one first.) Go ahead and create a security group, giving it some name, though the description is optional. Don't bother changing the Permissions in a created group as currently they are not fully supported.

To start an instance, go to Design > Eucalyptus > Images and click on the green play button next to any available image. The New Instance form will be pre-filled with adequate values, so the only thing you may want to change before pressing Launch is the Nickname of the instance. If the Platform responds with There are not enough nodes to fulfill this request in the zone., then, please, try again in a little bit.

To terminate an instance, click the red stop button next to the instance either in Home > Dashboard or in Manage > Servers > Active Servers.

Thanks for trying Eucalyptus and RightScale!

RightScale's right_aws

Author RightScale
Homepage RightScale Gems Home, RubyForge Project Page
Documentation API Documentation
Download via RubyForge or sudo gem install right_aws
Source via RubyForge
Version 0.8.x-1.10.0
License MIT

Example Usage

Here we use irb to interactively use the right_aws gem to interact with Eucalyptus.

Setup right_aws

Install right_aws, setup the environment, and start irb

 ~> sudo gem install right_aws
 ~> source ~/.euca2/eucarc
 ~> irb

Use right_aws

Setup the ruby environment and use the right_aws library to interact with Eucalyptus.

irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'right_aws'
=> true
irb(main):003:0> @euca = = RightAws::Ec2.new(ENV['EC2_ACCESS_KEY'],ENV['EC2_SECRET_KEY'])
irb(main):004:0> @euca.describe_images
I, [2009-07-13T11:54:55.883207 #9406]  INFO -- : Opening new HTTP connection to 192.168.7.7:8773
=> [{:aws_id=>"eki-3313191F", :aws_image_type=>"kernel", :aws_owner=>"admin", :aws_location=>"my-kernel/vmlinuz.manifest.xml", :aws_state=>"available", :aws_is_public=>true, :aws_architecture=>"x86_64"}, {:aws_id=>"eri-A3501A6C", :aws_image_type=>"ramdisk", :aws_owner=>"admin", :aws_location=>"my-ramdisk/initrd.img.manifest.xml", :aws_state=>"available", :aws_is_public=>true, :aws_architecture=>"x86_64"}, {:aws_id=>"emi-C6E71A64", :aws_image_type=>"machine", :aws_owner=>"admin", :aws_location=>"euca-my-image/disk.img.manifest.xml", :aws_kernel_id=>"eki-3313191F", :aws_state=>"available", :aws_ramdisk_id=>"eri-A3501A6C", :aws_is_public=>true, :aws_architecture=>"x86_64"}]
irb(main):009:0> 

Typica

A simple API using the QUERY interfaces which patterns the methods after those available in the AWS SOAP client

Author David Kavanagh, et al
Homepage Google Code Project Page
Documentation API Documentation
Discussion via Google Groups
Download via Google Code
Source via Google Code (svn)
Version 1.5.x
License Apache License 2.0

Example Usage

Jec2 ec2 = new Jec2(props.getProperty("aws.accessId"), 
props.getProperty("aws.secretKey"), false, "your-host", 8773); 
ec2.setResourcePrefix("/services/Eucalyptus"); 
ec2.setSignatureVersion(1);

Cloud42

An Open Source management framework allowing you to easily manage and monitor your server instances.

Author Frank Bitzer
Homepage http://cloud42.net/
Documentation FAQs, Installation, and JavaDocs
Discussion Contact Form
Download via Cloud42.net
Source via Cloud42.net
Version 1.0.0
License The GNU Lesser General Public License v3

EC2Dream

Replaces the command line amazon EC2 tools with a graphical environment that can be installed on your Windows, Linux, or Mac OS X machines

Author Neill Turner
Homepage http://www.ec2dream.com/
Documentation FAQs, Installation, and JavaDocs
Discussion Contact Form
Download via EC2Dream.com
Source via EC2Dream.com
Version 0.92
License Apache 2.0

Installation

  • Additional information is available in the User Guide

Elasticfox

A Mozilla Firefox extension allowing you to launch new instances, mount volumes, map IP addresses, and more

Author Manoj@AWS
Homepage AWS Developer Tools Project Page
Documentation Notes
Discussion via AWS Developer
Download via AWS Developer
Source [svn co https://elasticfox.svn.sourceforge.net/svnroot/elasticfox elasticfox via SourceForge (svn)]
Version 1.7.x
License Apache License 2.0

Example Usage

Click on Regions. Set Region Name to whatever you wish. Set Endpoint URL to http://<cloud front end ip>:8773/services/Eucalyptus.

Click on Credentials. Add a Eucalyptus user account. AWS Access Key = Query Id, AWS Secret Key = Secret Key.

Sometimes, you might have to restart Elasticfox for changes to take effect.

Hybridfox

A Mozilla Firefox extension allowing you to launch new instances, mount volumes, map IP addresses, and more, derived from Elastifox

Author CSS Corp.
Homepage Hybridfox at Google code
Documentation Wiki at Google code
Discussion Google groups
Download list
Source instructions
Version 1.7.000068
License Apache License 2.0

Example Usage

Click on Regions. Set Region Name to whatever you wish. Set Type to "Eucalyptus" and set Endpoint URL to http://<cloud front end ip>:8773/services/Eucalyptus.

Click on Credentials. Add a Eucalyptus user account. AWS Access Key = Query Id, AWS Secret Key = Secret Key. Preferred Region can be set to your Eucalyptus endpoint, which makes it easier if you regularly use different clouds since this Hybridfox will select this endpoint automatically when the account is selected.

Sometimes, you might have to restart Firefox for changes to take effect.

NOTES: if you previously had Elasticfox installed, you may have to clean up your old preferences. One way to do it is to find your prefs.js and, while firefox is disabled, to remove all the references to ec2 inside it. On Linux systems you may find the preferences under $USER/.mozilla/*

tAWS Tanacasino

Eclipse based tools called Tanacasino with support for Eucalyptus.

Author Tomofumi Tanaka and Takahiro Shida
Homepage via Sourceforge Japan
Documentation Wiki
Discussion via SourceForge Japan
Download via SourceForge Japan
Source via SourceForge Japan (svn)
Version 0.2.1
License Eclipse Public License

Installation

NOTE: The contents of this document were derived from http://sourceforge.jp/projects/eclipse-aws/wiki/FrontPage#h2-Download, retreived on Jul 17, 2009.

Download

Download executable binary here

Install

This tool wraps ec2-api-client. The ec2-api-client is not open source license. So, you should download and install the ec2-api-client.

When extract the Tanacasino. The directory structure is following.

install1.png

Copy the ec2-api-client libraries to tAWS/plugins/jp.co.intellilink.aws.api.eucalyptus/lib

install3.png

Configuration

File->Preference->AWS shows EC2 client setting.

install2.png

If you use Eucalyptus, please select ec2-api-tools and fill the service URL/private key/X509 cert