Using boto with Eucalyptus

From http://open.eucalyptus.com/learn/what-is-eucalyptus:

Eucalyptus enables the creation of on-premise private clouds, with no requirements for retooling the organization’s existing IT infrastructure or need to introduce specialized hardware. Eucalyptus implements an IaaS (Infrastructure as a Service) private cloud that is accessible via an API compatible with Amazon EC2 and Amazon S3. This compatibility allows any Eucalyptus cloud to be turned into a hybrid cloud, capable of drawing compute resources from public cloud. And Eucalyptus is compatible with a wealth of tools and applications that also adhere to the de facto EC2 and S3 standards.

In a nutshell, Eucalyptus allows you to set up your own AWS compatible mini-cloud (or maxi-cloud if you have enough hardware). Almost all of the recipes in this book for AWS will also work with Eucalyptus, so if you have some hardware, you can try all of this out without leaving the comfort and safety of your own network.

For those interested in installing Eucalyptus, you might want to give the FastStart a try. FastStart is a way to get Eucalyptus up and running quickly with as few steps as possible.

You can also try out Eucalyptus without installing any software at all. Eucalyptus provides a sandbox hosted environment called the Eucalyptus Community Cloud, where you can test-drive and experiment with Eucalyptus cloud software. For more information, visit http://open.eucalyptus.com/try/community-cloud.

Once you have Eucalyptus up and running, boto makes it easy to connect to the system. First, you can edit your boto config file to include your Eucalyptus hostname and credentials:

	[Credentials]
	euca_access_key_id = your_euca_access_key
	euca_secret_access_key = your_euca_secret_key

	[Boto]
	eucalyptus_host = "DNS name or IP address of your Eucalyptus CLC"
	walrus_host = "DNS name or IP address of your Walrus"

Once the information is entered into your boto config file, you can connect to Eucalyptus (the EC2-compatible service) and Walrus (the S3-compatible service) like this:

% python
>>> import boto
>>> euca = boto.connect_euca()
>>> walrus = boto.connect_walrus()