I use an in-house bootstrap script that:
- launch an ec2 instance
- sets the hostname
- add to route53
- install puppet
- run puppet agent --server my-puppetmaster
My puppetmaster only accepts requests from ec2 instances from my aws
account and auto sign the certificate, also installs puppet.con
I use the same small script to bootstrap puppet on any server whether
it's EC2 or not. It
1) sets the hostname
2) installs puppet
3) sets the puppet master in puppet.conf
4) runs puppet
I sign the cert and from that point on use an ENC (I like Foreman) to
add classes, set environments, parameters