Getting Started with Amazon EC2

The first thing you need to do to get started using the Amazon Elastic Compute Cloud (EC2) [1] is to install the tools to manage the service. The service is run in a client-server manner. You install the client software on your PC to manage the EC2 services that you use.

There are the AMI tools to manage the machine images [2] and the API tools to launch and manage instances [3].

The AMI tools come as both a ZIP file and an RPM package and contain Ruby code, while the API tools are written in Java and only come as a ZIP file.

There are no clear license documents that I have seen for any of the software in question, I recall seeing one mention on one of the many confusing web pages of the code being “proprietary” but nothing else. While it seems most likely (but far from certain) that Amazon owns the copyright to the code in question, there is no information on how the software may be used – apart from an implied license that if you are a paying EC2 customer then you can use the tools (as there is no other way to use EC2). If anyone can find a proper license agreement for this software then please let me know.

To get software working in the most desirable manner it needs to be packaged for the distribution on which it is going to be used, as I prefer to use Debian that means packaging it for Debian. Also when packaging the software you can fix some of the silly things that get included in software that is designed for non-packaged release (such as demanding that environment variables be set to specify where the software is installed). So I have built packages for Debian/Lenny for the benefit of myself and some friends and colleagues who use Debian and EC2.

As I can’t be sure of what Amazon would permit me to do with their code I have to assume that they don’t want me to publish Debian packages for the benefit of all Debian and Ubuntu users who are (or might become) EC2 customers. So instead I have published the .diff.gz files from my Debian/Lenny packages [4] to allow other people to build identical packages after downloading the source from Amazon. At the moment the packages are a little rough, and as I haven’t actually got an EC2 service running with them yet they may have some really bad bugs. But getting the software to basically work took more time than expected. So even if there happen to be some bugs that make it unusable in it’s current state (the code for determining where it looks for PEM files at best needs a feature enhancement and at worst may be broken at the moment) then it would still save people some time to use my packages and fix whatever needs fixing.

4 comments to Getting Started with Amazon EC2

  • Whilst lack of a clear license is very bad, have you actually _asked_ them? Of course that very much depends on if you can find a suitable email address…

    FWIW 3ware’s tools have a dreadful license – you can’t “distribute” it or “transfer electronically” (paraphrased). Basically you can’t even download it from their website AFAICT. Yes I _did_ send them an email asking for clarification. No I didn’t receive any response at all :-(

  • etbe

    Adrian: There doesn’t seem to be a good way to ask them. Even finding software and documentation is hard enough.

    Also sometimes pointing something out in a public way gets a better response.

    As for 3ware, traditionally they have been very responsive to questions asked on the mailing list. I’ll ask a question about this on that list.

  • Charles Plessy

    Thanks for the source packages. How about putting them in a SVN repository with mergeWithUpstream enabled?

  • etbe

    Charles: Where do you think I should store a SVN repository for this? I have no plans to run my own and I’m not aware of a public server that’s suitable.

    I don’t have any strong feelings about this issue, so my lack of spare time is probably going to be the deciding factor. If someone else checked them in to a SVN repository and told me how to access it then I would probably send updates there.