Are you puzzled by the many public Amazon EC2 images that are available? They are all wonderful to get started with, and we all have to thank the many authors who have put a lot of work into creating them. But when we put a server into production we always feel like we should be 100% in control. We want to make sure there is nothing unknown on the images we are using. We also believe that even though we will be offering base images to our customers, some of them may want to recreate them themselves, "just to be sure". We make all this possible by scripting the image creation and publishing our scripts to go with our images.
Our current RightImages are a CentOS 5 image and a Fedora Core 6 image, both generated entirely automatically. Our goals are:
- Create a fairly clean base image with just what we believe are the essentials.
- Create the image automatically using a script, this allow you to inspect all the details, create your own version of our image if you choose to, and it allows for easy maintenance.
- Put a few seeds onto the image that will support the features of the RightScale service (you can easily remove these if you want to use the image without RightScale).
Below is a description of the CentOS image we prepared, and you can download the script that we used to prepare it.yum packages added
- wget - for retrieving web based files
- mlocate - for fast file searching
- nano - Alternative to Vi/Emacs
- logrotate - Log Rotation
- ruby - needed for EC2 and RightScale scripts
- rubygems - needed for ruby work
- syslog-ng - replacement to syslog, better remote logging, used by RightScale features
- postfix - alternative to Sendmail, easier to set-up for most people
- gcc/gcc-c++ - needed to compile software
- glibc libraries - these are needed and must be force installed for some software to work.
- Java JRE 1.6.0su1 - used by the Amazon API tools
- Amazon Kernel Headers linux-2.6.16-xenU - useful to compile kernel modules
- Amazon EC2 AMI Tools - enable bundling
- Amazon EC2 API Tools - EC2 command line tools
- S3Sync - rsync-like functionality to sync local filesystem with S3
- RightScale Software - fetches launch data into /var/spool/ec2
- EC2 meta-data is fetched from 169.254.169.254 into /var/spool/ec2/meta-data
- EC2 meta-data and user-data include files in /var/spool/ec2/metat-data for Bash and Perl.
- EC2 Command Line tools in /home/ec2
- AWS variables for EC2 and S3 are set in /etc/profile.d/ec2.sh
- Java variables are set in /etc/profile.d/java.sh
- Disabled password authentication in /etc/ssh/sshd_config
- Modifications to /network config according to Amazon documentation
- Modifications to /etc/rc.local to fetch ssh key
- Creation of /opt/rightscale directory tree for RightScale add-ons, they consist on the following:
The following services are not necessary on EC2 or were replaced by another service: acpid, anacron, apmd, autofs, avahi-daemon, avahi-dnsconfd, bluetooth, cpuspeed, cups, dhcdbd, dund, firstboot, gpm, hidd, irda, irqbalance, kudzu, mdmpd, netplugd ,NetworkManager, NetworkManagerDispatcher, nfslock, pand, pcscd, portmap, rdisc, readahead_later ,rpcgssd ,rpcidmapd ,rpcsvcgssd ,sendmail ,smartd, syslog, wpa_supplicant, xfs, yum-updatesd
postfix, psacct, rightscale, syslog-ng
For more information visit www.RightScale.com.