I'm currently working on a project that involves running Drupal on Amazon EC2. To save time in setting up future new VM instances, I decided to take the opportunity to learn puppet. For the time being, I'm using a single VM to run the full LAMP stack and running puppet without a server by copying my puppet manifest to the VM and using puppet's apply command to apply it locally. However, this manifest can easily be adapted for a multi-VM environment.
He includes the full configuration in the post that does a few things including setting up the correct PHP timezone, starting up the Apache instance, installing a few PHP modules (like PDO, MySQL and GD) and setting up the MySQL server. He also includes the commands needed to run the configuration and point it at the correct EC2 instance.