Timothy,
It depends! LOL No, to be serious... I think you can use all the instances from AWS, I even tried with a T1.micro and it worked on a small environment. Of course it will depend on the load and other details and nobody will tell you a "recommended" instance here.
But I can tell you that you can have 2 things in mind when you choose:
1- You can create a cluster, so if you use small instances it gets more granular.
2- Remember that instances and network performance are tied in AWS so that is another thing to take into account. Smaller instances have poor network performance.
I think the answer here is that you can try it. I've been working on a CloudFormation template you can use from here
github.com/dankomiocevic/aws-nats , you can use that as a starting point and play with the configuration and upgrade the instances.