Amazon EC2 Without A Custom AMI
I’ve been involved with a handful of EC2 deployments at PSC, and they’ve all ended up with a custom AMI. Basically, starting up an existing base Ubuntu server, installing and configuring packages, and saving the new image as a custom AMI. It’s not a bad way of doing things, but I had a nagging feeling that there was an easier way. Especially given the ease of deploying an AppEngine app. Granted, they’re two completely different animals, but still…there had to be something better.
Eric Hammond, of Alestic fame, answered a bunch of my nagging subconscious questions with the release of runurl. Now, you build and host your configuration scripts, and pass a list of the scripts to run on server start up through passed user-data scripts. In theory, it’s possible to start up a new base server, and automate the build out through hosted scripts. It means slower start up time, but significantly less configuration and AMI maintenance. For a webserver cluster, where you have some time to get new nodes up, this method makes more sense than the standard AMI-saving method. Nice work Eric!
