Lean Requirements – Script, Image, and Cloud

When thinking about this setup, there were three goals in mind:

Ease of configuration – this is why cloud-init was used. Its very powerful in regards to bootstrapping instances as they boot up. You can use Puppet, Chef or others (e.g. Salt Stack, Juju, etc.), but I decided to go with cloud-init. The script does the following:

Set up ephemeral storage to be the installation point for OpenLDAP (e.g. configuration, storage, etc.)

Adds information into /etc/rc.local to make sure ephemeral gets re-mounted on reboots of the instance, and hostname is set.

Configures, builds and installs OpenLDAP.

Cloud image that is ready to go – Ubuntu has done a wonderful job with their cloud images. They have made it really easy to access them on AWS. These images can be used on Eucalyptus as well.

Public and Private Cloud Deployment – Since Eucalyptus follows the AWS EC2 API very closely, it makes it really easy to test on both AWS and Eucalyptus.

Now that the background has been covered a bit, the next section will cover deploying the sandbox on AWS and/or Eucalyptus.

Deploy the Sandbox

To set the sandbox setup, use the following steps:

Make sure and have an account on AWS and/or Eucalyptus (and the correct AWS/Eucalyptus IAM policies are in place so that you can bundle, upload and register images to AWS S3 and Eucalyptus Walrus).

Make sure you have access to a registered AMI/EMI that runs Ubuntu Precise 12.04 LTS. *NOTE* If you are using AWS, you can just go to the Ubuntu Precise Cloud Image download page, and select the AMI in the region that you have access to.