Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Alternative tools for Amazon EC2?

Amazon's official tools for interacting with EC2 are kind of clunky and a pain to deal with. I have to set up a bunch of environment variables, store separate private keys just for EC2, add extra items to my PATH, and so on. They all output tab delimited lines that are hundreds of characters long with no headings, so it's a bit of a pain to interpret them. Their instructions for setting up an SSH keypair give you one that isn't protected by a passphrase, rather than letting you use an existing keypair that you already have. The programs are all just a bit clunky and aren't very good Unix programs.

So, are there any easier to use command line tools for accessing EC2? I know there is ElasticFox, and there is their web based console, which do make the process easier, but I'm wondering if anyone else has written better command line tools for interacting with EC2.

like image 510
Brian Campbell Avatar asked Apr 09 '09 06:04

Brian Campbell


People also ask

What are alternatives to AWS?

We have compiled a list of solutions that reviewers voted as the best overall alternatives and competitors to AWS Cloud, including Microsoft Azure, Google Cloud, IBM Cloud, and Oracle Cloud.

What is the equivalent of EC2 in GCP?

Compute Engine is the service offering on the Google Cloud Platform, while Amazon Web Services is named Amazon Elastic Compute Cloud (Amazon EC2).

Is Lightsail better than EC2?

Amazon EC2 is a mix of multiple services and has its own individual features used to create a single architecture. Amazon EC2 instances are meant for small to complex architecture. Lightsail, on other hand, is an integrated product of services offered by AWS. Lightsail is better for small to medium scale workloads.


3 Answers

I'm a bit late but I have a solution!

I found the same problems with the Amazon AMI tools. They're a decent reference implementation but very difficult to use particularly when you have more than a couple instances. I wrote a replacement command-line tool as part of another project, called Rudy that answers most of your concerns

The commands are more intuitive than Amazon's AMI tools:

  • rudy-ec2 instances -C
  • rudy-ec2 groups -A -p 8080 -a 11.22.33.44 group-name
  • rudy-ec2 volumes -C -s 100
  • rudy-ec2 images
  • ...

All configuration is in a single file (~/.rudy/config).

It can output in several formats (yaml, json, csv, tsv, and of course regular text):

rudy-ec2 -f yaml snapshots
--- 
:awsid: snap-2457b24d
:progress: 100%
:created: "2009-05-08T15:24:17.000Z"
:volid: vol-4ee10427
:status: completed

Regarding the private keys, There are no EC2 tools that allow to create private keys for with a password for booting a public instance because the API doesn't support it. However, if you create your own image, you can use your private keys.

Here's more info:

  • GitHub Project
  • An introduction to rudy-ec2
like image 61
delano Avatar answered Sep 18 '22 23:09

delano


ElasticFox is handy for most tasks. They are occasions though that a command line tool will be better suited. I personally use boto library for python. It is very easy to script all the required operations. You can also use it to upload/download files from S3. In general, I would say that a scripting language like Python or RUby, together with a AWS library, is the best solution.

like image 27
kgiannakakis Avatar answered Sep 19 '22 23:09

kgiannakakis


I personally use Tim Kay's Perl command line tools and haven't used original Java based API for quite some time. Excellent for UNIX environment.

like image 30
Radim Avatar answered Sep 17 '22 23:09

Radim