In the event you get this message when a CloudFormation script:
AccessDenied. User doesn't have permission to call ec2:RunInstances, this could mean that the AMI is not available or you don't have access to it. The error is not intuitive. Check to make sure the AMI exists or if you have access to it.