I’ve written and published a Puppet module to load AWS EC2 tags into puppet as facts. So now when you tag your EC2 instance the tag can be a tag usable by Puppet. AWS cli tools are automatically installed and setup. you just have to provide your key and secret with read access to the tags. An example policy is provided.
[root@puppet-dev-02 bryana-ec2tagfacts]# puppet apply tests/init.pp
Notice: Compiled catalog for puppet-dev-02.domain.local in environment dev in 2.33 seconds
Notice: AWS EC2 name tag is puppet-dev-02
Notice: /Stage[main]/Main/Notify[AWS EC2 name tag is puppet-dev-02]/message: defined ‘message’ as ‘AWS EC2 name tag is puppet-dev-02’
Notice: Finished catalog run in 1.12 seconds