Help test our new Amazon EC2 Images

We’ve got two new AMI’s lined up and ready to go…

ami-b7aa4cde: Ubuntu, 32-bit
ami-b4aa4cdd: Ubuntu, 64-bit

The goal was to create a series of “utility” images that provide Rails developers with the flexibility to swap in various layers of a stack. Both images include the following features:

  • Ruby on Rails-centric stack with many popular Ruby gems* pre-installed
  • Choice of plain Ruby or Ruby Enterprise Edition (see Important Notes below)
  • Choice of Web servers: Apache (with Passenger Phusion) or Nginx
  • Choice of MySQL 5.0.51 or PostgreSQL
  • Memcached
  • Git and Subversion clients

*Included Gems (partial list):

  • Rails 2.3.2 and 2.2.2
  • mysql, postgres, sqlite3-ruby
  • memcache_client
  • Testing frameworks: rspec, shoulda, factory girl, mocha, zentest
  • AWS-related: amazon-ec2, amazon-ecs, amazon-fps-ruby, amazon_sdb, aws-s3, right-aws
  • haml
  • hpricot
  • httparty
  • json
  • libxml and xml-simple
  • image_science and rmagick
  • ruby_openid
  • thin
  • paperclip
  • will_paginate
  • and much more…

New Relic Support is Built In

Since we absolutely love what New Relic brings to the table in terms of profiling and monitoring Ruby on Rails apps, we’ve included the newrelic_rpm gem. For those of you who aren’t using their service, we’ve made it easy. When you SSH into your newly launched instance, you’ll be presented with an opportunity to automatically sign up for their free RPM Lite service. It takes about 10 seconds and you’ll receive an activation email, followed by a second one that provides instructions for how to start rockin’ and collecting valuable stats for your Rails app (both locally in “developer” mode and remotely, once your app is deployed).

Important Notes

  • As is standard practice with EC2, you need to SSH into the instance as root using your EC2 private key. Once logged in, you can set the root password to anything.
  • Apache and MySQL log and data directories are mounted at /mnt
  • MySQL is automatically started after the instance is bootstrapped BUT does NOT have a root password set (so set it!).
  • No HTTP service is running by default since some of you will roll with Apache, others with Nginx.
  • By default, the AMI uses Ruby v1.8.6 (/usr/bin/ruby). But Ruby Enterprise Edition is also installed under /opt/ruby-enterprise-1.8.6-20090201/bin. The image has gems compiled for BOTH versions of Ruby. Therefore, if you end up using Passenger and Ruby EE, your Apache server config needs to point to the Ruby EE executable path. Same thing goes if you run any gem or rake commands — be sure you’re using the correct version of Ruby (by setting your paths).
  • Memcached is not running at startup; you should configure your desired settings and start the daemon.

How to Launch EC2 AMIs

In case you’re new to EC2, there are several ways you can launch server images:

1. Amazon’s AWS Management Console.

2. RightScale.com Dashboard (they offer a free ‘developer’ account).

3. Manually through command prompt. Be sure you’re all set up with the EC2 command line tools. Then it’s as easy as:

32-bit (defaults to the ’small’ server image):

ec2-run-instances ami-b7aa4cde -k your_key_name_without_extension

64-bit (allows you to choose a custom instance size using the -t switch):

ec2-run-instances ami-b4aa4cdd -t m1.large -k your_key_name_without_extension

Did We Miss Anything?

But my thoughts ran a wool-gathering; and I did like the countryman, who looked for his ass while he was mounted on his back.

- Don Quixote

Let us know!



About this entry