I've been researching best practices for setting up a web application on AWS. I've setup my db tier in a private subnet. I also have a public subnet for nat instances, bastion host, elb, etc. My question is, is there any advantage in having my beanstalk instances deployed to a private subnet or should I just put them in the public subnet. The AWS article series, Develop, Deploy, and Manage, puts the web servers in a private subnet, but I've seen many others put them in a public one. So I'm confused as to where the web servers should go and the pros/cons of each approach.
[EDIT]:
This is for a public facing website, not an internal one. Just in case it matters.