As far as the size of the instance goes, it depends on how much you want to get out of performance VS how much money to pay. For optimal performance, you would want enough memory to hold all the nodes in memory: Neo4j Docs: Memory Config
AWS will allow you to upgrade your instance size, but you will want to make sure you use EBS (Elastic Block Storage, AWS Storage) for storing your database. Then you can always start out with one size, build up your graph, and then shrink it back down.
Actual size recommendations, I don't know. But luckily AWS is quite flexible! Hope it helps.