I use Ansible for all configuration management. Boxes that belong to ASGs use Ansible to create a pre-baked AMI, while the rest are just handled with Ansible on a case-by-case basis.
In the near future I plan on moving to Packer since it's the perfect tool for the job.